Introducimos un potenciómetro o resistencia variable que proporcionará valores analógicos a la placa Arduino entre 0 y 1023. Esto es, existen 1024 valores analógicos que se recogen en la entrada A0 del Arduino.
El código analiza esos valores y lo que hace es que al inicio del recorrido del potenciómetro el LED está apagado, en el recorrido intermedio del potenciómetro el LED se enciende de forma intermitente y en su recorrido final el LED queda encendido de forma continua.
En términos aproximados estos son los intervalos según el voltímetro que se adjunta.
- de 0V a 1.4V el LED está apagado
- de 1.5V a 3.4V el LED está encendido de forma intermitente
- de 3.5V a 5V el LED está encendido de forma continua
Hemos añadido un voltímetro para ir viendo los valores que arroja entre 0V y 5V al ir girando el potenciómetro.
Se puede ver el proyecto en el siguiente enlace:
int valorPotenciometro = 0;
void setup()
{
pinMode(A0, INPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop()
{
valorPotenciometro = analogRead(A0);
//delay(100);
if (valorPotenciometro < 300) digitalWrite(13, LOW);
if (valorPotenciometro >= 300 && valorPotenciometro < 700) intermitencia();
if (valorPotenciometro >= 700) digitalWrite(13, HIGH);
}
void intermitencia()
{
digitalWrite(13, HIGH);
delay(200);
digitalWrite(13, LOW);
delay(200);
}
En una entrada posterior vamos a controlar una serie de LEDs con un potenciómetro, para que se vayan encendiendo de forma secuencial.