Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned int cntr = 0; //moevement detected count
- bool bBuzzer = false; //state of buzzer
- bool bStanDiodyNieb = false; //state of blue LED
- bool bStanDiodyCzer = false; //state of red LED (NOT THE TEST ONE!)
- void setup()
- {
- Serial.begin(9600); //messages over Serial
- pinMode(8, OUTPUT); //blue LED
- pinMode(9, OUTPUT); //red LED
- pinMode(10, INPUT); //PIR HC-SR501 OUT pin as an input for Arduino
- pinMode(11, OUTPUT); //TEST LED
- bStanDiodyNieb = true; //at the beginning blue LED will be ON
- bStanDiodyCzer = false; //at the beginning red LED will be OFF
- bBuzzer = true; //buzzer will buzz if blue light is turned on
- }
- void loop()
- {
- if (digitalRead(10) == HIGH) //if HC-SR501 detected a movement
- {
- Serial.print("Wykryto ruch po raz "); //send message on Serial port, it will show how many times a movement has been detected
- Serial.print(++cntr);
- Serial.println("!");
- digitalWrite(11, HIGH); //turn on TEST LED (it won't blink!)
- while(digitalRead(10) == HIGH) //until there's a signal from HC-SR501
- {
- //toggle state of blue LED, red LED and buzzer
- bStanDiodyNieb = !bStanDiodyNieb;
- bStanDiodyCzer = !bStanDiodyCzer;
- bBuzzer = !bBuzzer;
- delay(80); //wait 80ms
- digitalWrite(8, bStanDiodyNieb ? HIGH : LOW); //either turn on or off blue LED and Buzzer (as they're connected on a breadboard)
- digitalWrite(9, bStanDiodyCzer ? HIGH : LOW); //either turn on or off red LED (note that while blue LED is on, red is OFF, and while red is ON, blue is OFF)
- }
- }
- else //or turn off blue LED, buzzer, red LED and TEST LED
- {
- digitalWrite(8,LOW);
- digitalWrite(9,LOW);
- digitalWrite(11, LOW);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment