Paso 5: Programa el servo para girar a una cierta intensidad
#include < Servo.h >
Servo servo;
int pos = 0;
int sensorPin = 0;
int ledPin = 10;
int ledPin2 = 11;
int sensorValue = 0;
fadeAmount int = 5;
void setup() {}
servo.Attach(9); conecta el servo al pin 9
pinMode (ledPin, salida);
pinMode (ledPin2, salida);
servo.Write(POS);
Serial.Begin(9600);
}
void loop () {}
sensorValue = analogRead(sensorPin);
Serial.println(POS);
fadeAmount = mapa (sensorValue, 0, 1000, 500, 0); mapas de entrada
analogWrite (ledPin, fadeAmount); ajusta el brillo del LED basado en entrada
analogWrite (ledPin2, fadeAmount);
si ((sensorValue > 500) & & (pos == 0)) { //turns servo 180° en incrementos de 1° si la entrada es mayor a 500 y la posición del servo en 0
para (; pos < 180; pos += 1) {}
servo.Write(POS);
Delay(10);
}
}
Si ((sensorValue < 400) & & (pos == 180)) { //turns espalda de servo 180° en incrementos de 1° si la entrada es menos de 400 y la posición del servo es a 180
para (; pos > 0; pos-=1) {}
servo.Write(POS);
Delay(10);
}
}
}
Esto se utiliza para bajar una cortina si el brillo percibido por el fotoresistor es mayor a 500 y levantar la persiana si es menos de 400.