#define POT_PIN_1 0 // Pin analógico donde está conectado el primer potenciómetro #define POT_PIN_2 1 // Pin analógico donde está conectado el segundo potenciómetro #define LED_PIN_1 4 // Pin PWM donde está conectado el primer LED #define LED_PIN_2 3 // Pin PWM donde está conectado el segundo LED #define SENSOR_PIN 2 // Pin analógico donde está conectado el sensor de distancia #define UMBRAL_CM 20 // Distancia en cm para activar los LEDs void setup() { pinMode(LED_PIN_1, OUTPUT); pinMode(LED_PIN_2, OUTPUT); pinMode(POT_PIN_1, INPUT); pinMode(POT_PIN_2, INPUT); pinMode(SENSOR_PIN, INPUT); } void loop() { // Leer los valores de los potenciometros int valorPot1 = analogRead(POT_PIN_1); // Leer el primer potenciómetro (0-1023) int valorPot2 = analogRead(POT_PIN_2); // Leer el segundo potenciómetro (0-1023) // Mapear los valores de los potenciometros al rango PWM (0-255) int brillo1 = map(valorPot1, 0, 1023, 0, 255); int brillo2 = map(valorPot2, 0, 1023, 0, 255); // Leer el valor del sensor de distancia y convertirlo a distancia en cm int valorSensor = analogRead(SENSOR_PIN); float distancia = convertirADistancia(valorSensor); // Si la distancia es menor o igual al umbral, enciende los LEDs if (distancia <= UMBRAL_CM) { analogWrite(LED_PIN_1, brillo1); // Ajusta el brillo del primer LED analogWrite(LED_PIN_2, brillo2); // Ajusta el brillo del segundo LED } else { digitalWrite(LED_PIN_1, LOW); // Apaga el primer LED digitalWrite(LED_PIN_2, LOW); // Apaga el segundo LED } delay(100); // Pequeña pausa para estabilidad } // Función para convertir la lectura analógica a distancia en cm float convertirADistancia(int valor) { // Fórmula aproximada para el sensor GP2Y0A41SK0F return 2076.0 / (valor - 11.0); }