sábado, 21 de marzo de 2015

Encender lentamente una serie de LEDs con un potenciómetro

Vamos a ver cómo actúa un potenciómetro al ir encendiendo una serie de LEDs y luego al ir apagándolos.

En este caso se trata de girar la rueda del potenciómetro o resistencia variable para conseguir que se vayan encendiendo los 14 LEDs, de forma que al encenderse uno de ellos queden encendidos los anteriores. Podemos girar la rueda hasta su posición final que es cuando todos quedan encendidos, y luego podemos ir girando en sentido contrario de forma que se irán apagando los LEDs hasta que al volver a la posición original todos quedarán apagados.

Disponemos de un voltímetro para ir mirando las lecturas que nos proporciona la resistencia variable.

Puedes ver el proyecto en el siguiente enlace:



int i = 0;
int pinPotenciometro =A0;
int valorPotenciometro = 0;

void setup()
 {
  pinMode(pinPotenciometro, INPUT);
  for (i = 0; i < 14; i++)
  pinMode(i, OUTPUT);
  Serial.begin(9600);
 }

void loop()
 {
  valorPotenciometro = analogRead(pinPotenciometro);
  //Las dos siguientes líneas de código se ponen si deseamos ver los valores por el monitor serial
  //Serial.println(valorPotenciometro, DEC);
  //delay(100);
  for (i = 0; i < 14; i++)
   {
    if (valorPotenciometro == 0) apagarLeds();
    if (valorPotenciometro > i*73 && valorPotenciometro < (i+1)*73) digitalWrite(i, HIGH);
    if (valorPotenciometro > (i-1)*73 && valorPotenciometro < i*73) digitalWrite(i, 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);
 }

1 comentario:

  1. Hola. Necesito hacer un proyecto con Arduino para un bar. Podemos hablar?

    Saludos.

    ResponderEliminar