Você está na página 1de 6

SECUENCIA DE 6 LEDS CON ARDUINO

Este proyecto es resultado de mi primera prctica con Arduino.

La secuencia de luces permite el encendido y apagado de 6 LEDs, desde el exterior hacia el


centro y del centro hacia el exterior. La ubicacin de los LEDs es como se muestra en el
siguiente cuadro:

Primera secuencia: rojo, amarillo, verde (desde el exterior hacia el centro)


Segunda secuencia: verde, amarillo, rojo (del centro hacia el exterior)

Las dos secuencia se repiten indefinidamente, con un tiempo de encendido entre 200 a
1000 ms (los valores se obtienen aleatoriamente).

Componentes

Arduino UNO
Protoboard
6 LEDs
6 resistencias de 220 ohms (rojo, rojo, amarillo)

Circuito

Los 6 LEDs, con sus respectivas resistencias, se conectan a las salidas digitales del Arduino,
se acuerdo a la siguiente tabla:

PIN DIGITAL D4 D5 D6 D7 D8 D9
LED 4 5 6 7 8 9

En el grfico de la placa (protoboard) podemos observar con mayor detalle la ubicacin de


los diversos componentes del circuito.
El esquema electrnico es como sigue:

Cdigo
El flujo del cdigo dentro del sketch podemos representarlo del siguiente modo:
A continuacin detallaremos las principales partes del cdigo, implementadas en las
siguientes funciones:

void setup()
void loop()
void ledsAlCentro(int pausa)
void ledsAlExterior(int pausa)

void setup()
Inicializa los pines digitales de Arduino, configurando dichos pines como salida (OUTPUT).

void loop()
Ejecuta las dos funciones ledsAlCentro() y ledsAlExterior(), encargadas de encender/apagar
los LEDs de la primera y segunda secuencia, respectivamente.

void ledsAlCentro(int pausa)

Esta funcin tiene la responsabilidad de encender y apagar los LEDs de la primera


secuencia, desde el exterior hacia el centro (los LEDS del mismo color se
encienden/apagan simultneamente):

rojo(4 y 9), amarillo(5 y 8), verde (6 y 7)


Para optimizar el cdigo, podemos identificar en los steps (5,3,1) una serie de nmeros
impares en forma descendente; cuya formulacin matemtica

Sin = 2n + 1, donde n= . . . , 3, 2, 1, 0

La misma que se traduce en el cdigo como

Sin = 2 * step + 1; donde step= 2, 1, 0

La funcin ledsAlCentro recibe como parmetro la variable pausa, cuyo valor fue obtenido
previamente dentro de funcin loop(). Los valores de la pausa pueden ser: 200, 400, 600,
800 y 1000 milisegundos, generados aleatoriamente.

void ledsAlExterior(int pausa)

Esta funcin tiene la responsabilidad de encender y apagar los LEDs de la segunda


secuencia, del centro hacia el exterior (los LEDS del mismo color se encienden/apagan
simultneamente):

Verde(6 y 7), amarillo(5 y 8), rojo (4 y 9)


Para optimizar el cdigo, podemos identificar en los steps (1,3,5) una serie de nmeros
impares en forma ascendente; cuya formulacin matemtica

Sin = 2n + 1, donde n= 0, 1, 2, 3, . . .

La misma que se traduce en el cdigo como

Sin = 2 * step + 1; donde step= 0, 1, 2

La funcin ledsAlExterior recibe como parmetro la variable pausa, cuyo valor fue
obtenido previamente dentro de funcin loop(). Los valores de la pausa pueden ser: 200,
400, 600, 800 y 1000 milisegundos, generados aleatoriamente.

Variantes
Secuencia de Izquierda-Derecha: se pueden encender y apagar los LEDs
secuencialmente, desde la izquierda (LED4) hacia la derecha (LED9).

Secuencia de Derecha-Izquierda: se pueden encender y apagar los LEDs


secuencialmente, desde la derecha (LED9) hacia la izquierda (LED4).
Modificar el rango de la pausa: se puede cambiar el rango de valores de la pausa,
modificando el inicio y/o fin de la funcin random().

Você também pode gostar