Al girar el potenciómetro encendemos uno a uno una serie de LEDs y luego los apagamos. Solo hay uno encendido salvo en los extremos del potenciómetro.
Encendemos uno a uno 14 LEDs usando un potenciómetro, salvo en los extremos de la rueda del potenciómetro donde en un extremo apagamos todos y en contrario encendemos todos.
int i; int j; int pinPotenciometro = A0; int valorPotenciometro = 0; int tocaLed; //este es el LED que toca encender en cada momento void setup() { pinMode(pinPotenciometro, INPUT); for (i = 0; i < 14; i++) pinMode(i, OUTPUT); Serial.begin(9600); } void loop() { valorPotenciometro = analogRead(pinPotenciometro); for (i = 0; i < 14; i++) { if (valorPotenciometro == 0) apagarLeds(); if (valorPotenciometro > i*73 && valorPotenciometro <= (i+1)*73) //en este rango está el LED que toca encender { tocaLed = i; for (j=0; j<14; j++) //creamos otro bucle para encender el LED que toca y apagar el resto { if (j==tocaLed) digitalWrite(j, HIGH); else digitalWrite(j, LOW); } } if (valorPotenciometro == 1023) encenderLeds(); } } void apagarLeds() { for (i = 0; i < 14; i++) digitalWrite(i, LOW); } void encenderLeds() { for (i = 0; i < 14; i++) digitalWrite(i, HIGH); }
No hay comentarios:
Publicar un comentario