Advertisement
Guest User

FCM#92 - Chicken Coop

a guest
Jun 7th, 2014
1,043
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.94 KB | None | 0 0
  1.  
  2. // include the servo library
  3. #include <Servo.h>
  4.  
  5. Servo myServo;  // create a servo object
  6.  
  7. int light;          // LDR value - how light/dark is it
  8.  
  9. int sunUp=650;      // LDR setting for daytime
  10. int sunDown=200;    // LDR setting for night time
  11.  
  12. int coopOpen=180;   // Servo=180' - open coop
  13. int coopClosed=0;   // Servo=0' - close coop
  14.  
  15. int coopDanger=5;   // Red LED pin - signifies coop open
  16. int coopSafe=4;     // Green LED pin - signifies coop closed
  17.  
  18. //  ----
  19.  
  20. void setup() {
  21.   myServo.attach(9); // attaches the servo on pin 9 to the servo object
  22.   myServo.write(0);  // set servo to zero for initial position (coop closed)
  23.  
  24.   pinMode(coopDanger,OUTPUT);  // Red LED pin is an output
  25.   pinMode(coopSafe,OUTPUT);    // Green LED pin is an output
  26.  
  27.   digitalWrite(coopDanger, LOW);  // Set Red LED off on start
  28.   digitalWrite(coopSafe, HIGH);   // Set Green LED on at start (coop is closed on start)
  29.  
  30.   Serial.begin(9600);             // open a serial connection to your computer
  31. }
  32.  
  33. void loop() {
  34.   light=analogRead(A1);           // read LDR
  35.  
  36.   // problem is that the servo is always on when door is held open
  37.   if (light < sunUp){                   // night time
  38.       myServo.write(coopClosed);        // close coop
  39.       digitalWrite(coopDanger, LOW);    // red LED off
  40.       digitalWrite(coopSafe, HIGH);     // light green LED
  41.       delay(2000);                      // 2sec delay before moving servo
  42.   }
  43.  
  44.   // problem is that the servo is always on when door is held open
  45.   if (light > sunDown){                 // day time
  46.       myServo.write(coopOpen);          // open coop
  47.       digitalWrite(coopDanger, HIGH);   // red LED on
  48.       digitalWrite(coopSafe, LOW);      // green LED off
  49.       delay(2000);                      // 2sec delay before moving servo
  50.   }
  51.  
  52.   // print light level
  53.   Serial.print(", light: ");
  54.   Serial.println(light);
  55.  
  56.   // wait for the servo to get there
  57.   delay(50);
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement