Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int button = 4; // connected to trigger button
- const int doorSensor = 5; // connected to door sensor switch (HIGH is closed, LOW is open)
- const int doorLock = 6; // connected to door lock relay trigger input (HIGH is unlocked, LOW is locked)
- int buttonState = 0; // variable for reading the pushbutton status
- int doorState = 0; // variable for reading the door status (open/closed)
- void setup(){
- pinMode (doorSensor, INPUT); // set pin to input
- pinMode (button, INPUT); // set pin to input
- pinMode (doorLock, OUTPUT); // set pin to output
- }
- void loop(){
- doorState = digitalRead(doorSensor); // read state of door sensor
- buttonState = digitalRead(button); // read state of button
- if (buttonState == HIGH) { // if button is pressed
- unlockDoor(); // perform unlock function
- }else{ // if button is not pressed
- digitalWrite(doorLock, LOW); // keep door locked
- }
- }
- void unlockDoor(){
- digitalWrite(doorLock,HIGH); // unlock door
- delay(2000); // wait 2 seconds
- if (doorState == LOW){ // if door is open after 2 second delay
- do {
- doorState = digitalRead(doorSensor); // Re-check sensor
- digitalWrite(doorLock,HIGH); // keep door unlocked
- }while (doorState == LOW); // while door is open
- // when doorState == HIGH
- delay(500); // wait 1/2 second
- digitalWrite(doorLock, LOW); // lock door
- }else if (doorState == HIGH){ // if door is closed after 2 second delay
- digitalWrite(doorLock,LOW); // lock door
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement