GIRASOL CON SERVO CONTROLADO POR LDR (SENSOR DE LUZ)
CONEXIONES Y MONTAJE
Programa Arduino:
#include <Servo.h>
Servo miservo;
#define PIN_LDR_DCHA 4
#define PIN_LDR_IZDA 5
#define PIN_SERVO 3
#define ZONA_ZERO 20
int pos = 90;
void setup() {
pinMode(PIN_LDR_DCHA,INPUT);
pinMode(PIN_LDR_IZDA,INPUT);
miservo.attach(PIN_SERVO);
miservo.write(pos);
}
void loop() {
int luz_dcha = analogRead(PIN_LDR_DCHA);
int luz_izda = analogRead (PIN_LDR_IZDA);
if (luz_dcha > luz_izda + ZONA_ZERO)
girar_dcha();
if (luz_izda > luz_dcha + ZONA_ZERO)
girar_izda();
}
void girar_dcha(){
if(pos < 180){
pos++;
miservo.write(pos);
delay(20);
}
}
void girar_izda(){
if(pos > 0){
pos--;
miservo.write(pos);
delay(20);
}
}