//Code for Wearable Animal Distraction System - written by Mr. Kiran Wakchaure- Vigyan Ashram //Variables for pin definations int Radar = 25; int Buzzer = 33; int Triger = 12; //For interrut int Led = 13; int Speaker = 15; //Variables for values bool alarm_state = 0; double motion_detected; double motion_count=0; unsigned long currentMillis = 0; unsigned long previousMillis = 0; void setup() { pinMode(Radar, INPUT); pinMode(Triger, INPUT); pinMode(Buzzer, OUTPUT); pinMode(Speaker, OUTPUT); pinMode(Led, OUTPUT); attachInterrupt(Triger, ChangeAlarmState, RISING); Serial.begin(9600); } void loop() { if(alarm_state) { digitalWrite(Buzzer, LOW); digitalWrite(Speaker, HIGH); Serial.println("Distraction Alarm On"); digitalWrite(Led, HIGH); delay(100); digitalWrite(Led, LOW); delay(100); } else { digitalWrite(Led, HIGH); digitalWrite(Speaker, LOW); digitalWrite(Buzzer, LOW); Serial.println("Distraction Alarm off"); Serial.println("Checking for motion"); motion_detected = digitalRead(Radar); currentMillis = millis(); if(motion_detected) { if(currentMillis-previousMillis>5000) { motion_count=motion_count+1; previousMillis=currentMillis; digitalWrite(Buzzer, HIGH); delay(1000); digitalWrite(Buzzer, LOW); } } else { digitalWrite(Buzzer, LOW); } } } void ChangeAlarmState(){ alarm_state = !alarm_state; }