Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // include the servo library
- #include <Servo.h>
- Servo myServo; // create a servo object
- int light; // LDR value - how light/dark is it
- int sunUp=650; // LDR setting for daytime
- int sunDown=200; // LDR setting for night time
- int coopOpen=180; // Servo=180' - open coop
- int coopClosed=0; // Servo=0' - close coop
- int coopDanger=5; // Red LED pin - signifies coop open
- int coopSafe=4; // Green LED pin - signifies coop closed
- // ----
- void setup() {
- myServo.attach(9); // attaches the servo on pin 9 to the servo object
- myServo.write(0); // set servo to zero for initial position (coop closed)
- pinMode(coopDanger,OUTPUT); // Red LED pin is an output
- pinMode(coopSafe,OUTPUT); // Green LED pin is an output
- digitalWrite(coopDanger, LOW); // Set Red LED off on start
- digitalWrite(coopSafe, HIGH); // Set Green LED on at start (coop is closed on start)
- Serial.begin(9600); // open a serial connection to your computer
- }
- void loop() {
- light=analogRead(A1); // read LDR
- // problem is that the servo is always on when door is held open
- if (light < sunUp){ // night time
- myServo.write(coopClosed); // close coop
- digitalWrite(coopDanger, LOW); // red LED off
- digitalWrite(coopSafe, HIGH); // light green LED
- delay(2000); // 2sec delay before moving servo
- }
- // problem is that the servo is always on when door is held open
- if (light > sunDown){ // day time
- myServo.write(coopOpen); // open coop
- digitalWrite(coopDanger, HIGH); // red LED on
- digitalWrite(coopSafe, LOW); // green LED off
- delay(2000); // 2sec delay before moving servo
- }
- // print light level
- Serial.print(", light: ");
- Serial.println(light);
- // wait for the servo to get there
- delay(50);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement