Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2017
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.92 KB | None | 0 0
  1. // Pins
  2. const int lockPin = 3;
  3. const int readerPin = 2;
  4.  
  5. // reader state storage vars
  6. int currentReaderState;
  7. int lastReaderState;
  8.  
  9. int lockState;
  10.  
  11. /**
  12.  * Init
  13.  */
  14. void setup()
  15. {
  16.   // Setup ping
  17.   pinMode(lockPin, OUTPUT);
  18.   pinMode(readerPin, INPUT);
  19.  
  20.   // Close the lock on powerup (LOW = LOCKED)
  21.   digitalWrite(lockPin, LOW);
  22.  
  23.   // Setup current state of reader (HIGH = DENY)
  24.   currentReaderState = HIGH;
  25.   lastReaderState = HIGH;
  26. }
  27.  
  28. /**
  29.  * Main loop
  30.  */
  31. void loop()
  32. {
  33.   currentReaderState = digitalRead(readerPin);
  34.  
  35.   // Readers state is changed
  36.   if (currentReaderState != lastReaderState) {
  37.    
  38.     // If new state is ALLOW (LOW) then toggle the lock
  39.     if (currentReaderState == LOW) {
  40.       lockState = (lockState == LOW) ? HIGH : LOW;
  41.       digitalWrite(lockPin, lockState);
  42.     }
  43.  
  44.     // Debounce
  45.     delay(50);
  46.   }
  47.  
  48.   // Save last state
  49.   lastReaderState = currentReaderState;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement