Sunteți pe pagina 1din 4

http://arduineando.matem.unam.

mx/proyectos/unaSecuenciaLeds

Una secuencia de leds


- componentes - circuito - diagrama - cdigo - variantes - referencias - otros -

En este proyecto vamos a utlilizar una secuencia de leds y los iremos


prendiendo y apagando uno despus del otro. Primero en un sentido y
luego en el sentido inverso.
El circuito es muy similar al que hemos utilizado en los proyectos
anteriores con leds, como en el de dos leds intermitentes, pero ahora
lo haremos con ms pares de leds y resistencias.
Puedes poner todos los leds que quieras o todos los que te quepan en
el protoboard Cual sera la limitante?
- al inicio

Componentes
arduino
protoboard
7 leds
7 resistencias de 220 oms (rojo, rojo, caf)

- al inicio

Circuito
ste es otra vez prcticamente el mismo circuito que el de un led
intermitente, en ste caso colocaremos un nmero mayor de leds con
sus respectivas resistencias, conectados cada uno a un pin del
Arduino.
Aqui es importante que los conectemos a pines consecutivos del
Arduino, en la descripcin del sketch, veremos la razn de sto.
- al inicio

Diagrama

- al inicio
Cdigo
El cdigo de este sketch podra ser muy similar al cdigo de dos leds
intermitentes, pero tendriamos que repetir multiples veces el mismo
cdigo para cada led. Para evitar sto, usaremos la declaracin for,
que nos permite repetir un bloque de intrucciones.
El ciclo for tiene tres parametros o partes. Una variable o contador con
un valor inicial. Una condicon que debe cumplir esta variable para
continuar el ciclo. Y una funcin para cambiar el valor de esta variable,
comunmente para incrementarla.
for (int pinLed = 1; pinLed < 9; pinLed++)
{
bloque de instrucciones
}
El bloque de intrucciones que se ejecutar repetidamente en el
ciclo for estar encerrado entre las llaves { y } del for.
En el sketch usaremos el ciclo for en tres momentos. Primero, en la
funcin setup, para inicializar todos los pines como pines de salida. Y
despues, en la funcin loop, primero para encender y apagar los leds
en un sentido y despus para hacerlo en el otro sentido.
/*
Secuencia de leds

En este proyecto se encienden y apagan una secuencia de leds


uno despues de otro, primero en un sentido y luego en el otro

*/

const int pausa = 500; // El tiempo que permanece encendido


cada led

void setup() {
// inicializamos los pines del 4 al 10 como OUTPUT con un
ciclo for
for (int pinLed = 4; pinLed < 11; pinLed++) {
pinMode(pinLed, OUTPUT);
}
}

void loop() {
// encendemos y apagamos en un loop desde el pin menor 4 al
mayor 10
for (int pinLed = 4; pinLed < 11; pinLed++) {
// pone el pinLed en HIGH encendiendo el led
digitalWrite(pinLed, HIGH);
delay(pausa);
// pone el pinLed en LOW apagando el led
digitalWrite(pinLed, LOW);
}

delay(pausa*3);

// encendemos y apagamos en otro loop desde el pin mayor 10


al pin menor 4
for (int pinLed = 10; pinLed > 3; pinLed--) {
// pone el pinLed en HIGH encendiendo el led
digitalWrite(pinLed, HIGH);
delay(pausa);
// pone el pinLed en LOW apagando el led
digitalWrite(pinLed, LOW);
}

delay(pausa*3);

- al inicio

Variantes
Podemos ir dejando prendidos los leds, usando el primer ciclo for y
despues irlos apagando en el segundo ciclo.
sto podriamos hacerlo en el mismo sentido o en sentidos contrarios.
Cambia la duracin del delay(). Qu pasa cuando ste se va
haciendo ms corto?
Intenta otras variantes en las secuencias de encendido y apagado de
los leds.
Con todas estas variantes entenderemos mejor el funcionamiento de
la estructura de control for.
- al inicio

Referencias:
Arduino Reference: for()
Estructura de control para repetir un bloque de intrucciones un nmero conocido
de veces.

S-ar putea să vă placă și