Advertisement
dalrymple420

door lock sensor

Jan 31st, 2013
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.81 KB | None | 0 0
  1.  
  2.  
  3. const int button = 4;         // connected to trigger button
  4. const int doorSensor = 5;     // connected to door sensor switch (HIGH is closed, LOW is open)
  5. const int doorLock =  6;      // connected to door lock relay trigger input (HIGH is unlocked, LOW is locked)
  6.  
  7. int buttonState = 0;          // variable for reading the pushbutton status
  8. int doorState = 0;            // variable for reading the door status (open/closed)
  9.  
  10. void setup(){
  11.   pinMode (doorSensor, INPUT);     // set pin to input
  12.   pinMode (button, INPUT);         // set pin to input    
  13.   pinMode (doorLock, OUTPUT);      // set pin to output
  14. }
  15.  
  16. void loop(){
  17.   doorState = digitalRead(doorSensor);    // read state of door sensor
  18.   buttonState = digitalRead(button);      // read state of button
  19.    
  20.   if (buttonState == HIGH) {              // if button is pressed
  21.     unlockDoor();                         // perform unlock function    
  22.   }else{                                  // if button is not pressed
  23.     digitalWrite(doorLock, LOW);          // keep door locked
  24.   }
  25. }
  26.  
  27. void unlockDoor(){  
  28.   digitalWrite(doorLock,HIGH);                // unlock door
  29.   delay(2000);                                // wait 2 seconds
  30.    
  31.   if (doorState == LOW){                      // if door is open after 2 second delay
  32.  
  33.     do {
  34.        digitalWrite(doorLock,HIGH);           // keep door unlocked
  35.     }while (doorState == LOW);                // while door is open
  36.    
  37.                                               // when doorState == HIGH
  38.     delay(500);                               // wait 1/2 second
  39.     digitalWrite(doorLock, LOW);              // lock door
  40.    
  41.   }else if (doorState == HIGH){               // if door is closed after 2 second delay
  42.     digitalWrite(doorLock,LOW);               // lock door
  43.   }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement