// Definir los pines de los LEDs
const int led1 = 2;
const int led2 = 3;
const int led3 = 4;
// Definir el pin del potenciómetro
const int potPin = A0;
// Variable para el valor del potenciómetro
int potValue = 0;
// Variable para el rango de los LEDs
int ledDelay = 0;
void setup() {
// Inicializar los pines de los LEDs como salidas
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
// Iniciar comunicación serial para depuración
Serial.begin(9600);
}
void loop() {
// Leer el valor del potenciómetro (rango de 0 a 1023)
potValue = analogRead(potPin);
// Mapear el valor del potenciómetro a un rango de tiempo para el delay
ledDelay = map(potValue, 0, 1023, 200, 1000); // Rango de 200ms a 1000ms
// Generar un número aleatorio entre 1 y 3 para elegir el LED a encender
int ledToLight = random(1, 4); // Aleatorio entre 1 y 3
// Apagar todos los LEDs
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
// Encender el LED elegido
if (ledToLight == 1) {
digitalWrite(led1, HIGH);
} else if (ledToLight == 2) {
digitalWrite(led2, HIGH);
} else if (ledToLight == 3) {
digitalWrite(led3, HIGH);
}
// Esperar el tiempo determinado por el valor del potenciómetro
delay(ledDelay);
}