6 LEDs y un Arduino (2)

Arduino-LEDs-C2-1

Uff, no se si recuerden este post (6 LEDs y un Arduino), donde les comentaba acerca sobre 5 pequeños circuitos para armar con un Arduino y 6 leds… pues hasta ahora es que me animé por fin a hacer el post del segundo circuito, que en realidad es exactamente el mismo que el primero, pero con diferente programación. Ahora el potenciómetro controlará qué LED va a ser el que esté prendido. Otra forma de verlo es que los LEDs nos indican en qué posición está el potenciómetro.

Para instrucciones detalladas de cómo armar el primer circuito les recomiendo ir a leer su respectivo post (el link anterior), pero si no requieren de mucha explicación pues aquí les pongo los diagramas:

Arduino-LEDs-C1-3

Arduino-LEDs-C1-4

Aquí debería aclararles que lo más recomendable es usar una resistencia por cada LED, aunque yo he hecho este circuito con una sola resistencia sin problemas.

Y ahora sí, la parte diferente: el programa.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int led[6] = {0}, pot = 0;
void setup()
{
  for(int n=0; n<6; n++)
  {
    led[n] = n+7;
    pinMode(led[n], OUTPUT);
  }
}
 
void loop()
{
  int n = analogRead(pot);
  n /= 170.5;
  digitalWrite(led[n], HIGH);
  delay(10);
  digitalWrite(led[n], LOW);
}

Si están familiarizados con la funciones del lenguaje de arduino, la verdad es que no tiene ningún chiste. La parte del setup() solamente ‘mete’ nuestros leds en una matriz. La parte del loop():

  1. Lee el valor del potenciómetro y lo guarda en la variable n.
  2. Dividimos n / 170.5 ¿Por qué 170.5? Porque el valor máximo que puede leerse del potenciómetro es 1023 y tenemos 6 leds: 1023 / 6 = 170.5 De esta forma n siempre tiene un valor entre 0 y 6.
  3. Prendemos el led n.
  4. Esperamos 10 milisegundos.
  5. Apagamos el led n.

Los pasos 3, 4 y 5 pueden confundirnos un poco. ¿Porqué prender y apagar el LED? ¿No se supone que queremos tenerlo prendido? Pues sí, pero recuerden que lo que está dentro de la función loop() se está repitiendo todo el tiempo. Del paso 5 al 3 pasa tan tan tan tan poco tiempo que no se nota que el LED se apagó, y esto nos sirve para que al pasar de un LED a otro, el anterior NO se quede prendido.

  1. Alvaro Estrada dice:

    te admiro bastante,una pregunta, cuantos años tienes,responde por favor a mi correo,estoy en segundo de ing en sistemas y quisiera ser como tu

Hola, escribe aquí tu comentario: