#include <ESP32Servo.h>
#define PIN_LDR 34 // Pin para el LDR (fotoresistor)
#define PIN_SERVO 2 // Pin para el servo
#define VELOCIDAD_SERIAL 115200
#define RETARDO_LDR 1000
Servo myservo; // crea un objeto de servo para controlar un servo
void setup() {
// Inicia la comunicación serial a una velocidad de 115200 baudios
Serial.begin(VELOCIDAD_SERIAL);
// Configura el pin del servo como salida
myservo.attach(PIN_SERVO); // El servo se conecta al pin 2
}
void loop() {
// Lee el valor analógico del LDR
int ldrValue = analogRead(PIN_LDR);
// Calcula el valor en lux del LDR
float luxValue = map(ldrValue, 0, 4096, 100000, 0.1);
// Imprime el valor analógico del LDR en lux
Serial.println("Valor LDR (Lux): " + String(luxValue));
// Mapea el valor leído del LDR al rango de 0 a 180 (grados) del servo
int angle = map(ldrValue, 0, 4096, 0, 180);
// Imprime la posicion del servo
Serial.println("Angulo: " + String(angle));
// Establece la posición del servo
myservo.write(angle);
// Espera un breve período antes de leer el LDR nuevamente
delay(RETARDO_LDR);
}