InicioCiencia EducacionTutoriales Arduino, Proyecto 6: LED´s Secuenciales

Tutoriales Arduino, Proyecto 6: LED´s Secuenciales

Ciencia Educacion12/12/2016
Proyecto 6: LED secuencial
Tutoriales Arduino, Proyecto 6: LED´s Secuenciales

Introducción:

El proyecto de luces secuenciales consiste en seis LEDs que prenden y apagan de forma secuencial, este efecto es muy utilizado en anuncios luminosos, en este proyecto escribiremos un programa que simule dicho efecto.

Hardware autilizar:

Placa Arduino
Cable USB
6 LEDs
6 resitencias 220 ohms
Cables



Diagrama esquemático:

Arduino
 Conexióndel circuito:
 DIY

Sketch de ejemplo:

/////
int BASE = 2;
     //declaramos variable BASE número del pin donde inician los LEDs
int NUM = 6;
     //declaramos variable NUM número total de LEDs
void setup()
{
                                                        //se abre llave función void setup
for (int i = BASE; i< BASE+NUM; i++)   //crea variable entera i, le asigna el valor BASE
//compara i con el valor BASE +NUM, si se cumple la condición ejecuta las instrucciones //de la
función, incrementa el valor de i en uno
{
                                                                //se abre llave función for
pinMode(i,OUTPUT);
     // configura pin i como salida (OUTPUT)
}
                                                                //se cierra llave función for
}
                                                                //se cierra llave función void setup


void loop()                                                
{                                                                // se abre llave función void loop
for(int i=BASE;i<BASE +NUM; i++)
    //crea variable entera i, le asigna el valor BASE
//compara i con el valor BASE +NUM, si se cumple la condición ejecuta las instrucciones //de la función, incrementa el valor de i en uno
{
                                      // se abre llave función for
digitalWrite(i,LOW);
          // pone el pin i correspondiente en estado apagado (LOW)
delay(200);
                      // espera 200 milisegundos
}
                                     // se cierra llave función for

for(int i=BASE;i<BASE +NUM; i++)    //crea variable entera i, le asigna el valor BASE
//compara i con el valor BASE +NUM, si se cumple la condición ejecuta las instrucciones //de la
función, incrementa el valor de i en uno
{
                                       // se abre llave función for
digitalWrite(i,HIGH);
           // pone el pin ien estado encendido (HIGH)
delay(200) ;
                      // espera 200 milisegundos
}
                                     // se cierra llave función for
}
                                    // se cierra llave función void loop
/////

 
En este programa utilizamos la función for para ejecutar varias veces una instrucción en vez de escribir cada instrucción 6 veces (una para cada LED). Revisa y sube el sketch a la placa Arduino, observa como camina la secuencia.
 
Analicemos detenidamente el sketch:
 
void setup()
{
                                                                   //se abre llave función void setup
for (int i = BASE; i< BASE+NUM; i++)     //crea variable entera i, le asigna elvalor BASE
//compara i con el valor BASE +NUM, si se cumple la condición ejecuta las instrucciones de la

//función, incrementa el valor de i en uno
{
                                                                //se abre llave función for
pinMode(i,OUTPUT);
     // configura pin icomo salida (OUTPUT)
}
                                                                 //secierra llave función for
}
                                                                //se cierra llave función void setup
 
Con los conocimientos que tenemos hasta este punto hubiéramos configurado los pines de salida de la siguiente forma:
 
pinMode (2,OUTPUT);
pinMode (3,OUTPUT);
pinMode (4,OUTPUT);

pinMode (5,OUTPUT);
pinMode (6,OUTPUT);
pinMode (7,OUTPUT);


En vez de escribir 6 instrucciones podemos “optimizar” el código, en este caso utilizando la función for

for (int i = BASE; i< BASE+NUM; i++)  
-         Declara la variable i y le asigna el valor BASE(declarado como 2 al principio del programa)
-         pregunta ¿es i menor que BASE+NUM? (BASE = 2, NUM = 6, BASE+NUM = 8)
-         SI, ejecuta la instrucción pinMode(i,OUTPUT). NO, termina la función for
-         i ++ (i es igual a i +1)
-         regresa a comparar de nuevo i con BASE+NUM
De esta forma asigna los pines de salida del 2 al 7, en el momento que el valor de i es igual a 8 ya no se cumple la condición de la función for y ésta termina.
 
La misma función se utiliza en void loop(), primero enciende los leds de uno por uno y después los apaga de la misma manera.
 
Reto Proyecto 6:utilizando el potenciómetro cambia la velocidad de la secuencia de LEDs (de 0 a1023 milisegundos) necesitarás la salida analógica del potenciómetro y asignarsu valor a una variable, yo usé velocidad


********************************************************************************


Problemas escribiendo el código? descarga los ejemplos desde mi carpeta compartida en Dropbox: 

https://www.dropbox.com/sh/w5h38cdrynqdwhf/AABP7b9T3ADbO4KqiPm4pO-9a?dl=0   



Sigue: Proyecto 7: Uso de botones
http://www.taringa.net/posts/ciencia-educacion/19692015/Tutoriales-Arduino-Proyecto-7-Uso-de-Botones.html
                  
Datos archivados del Taringa! original
0puntos
20visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

m
mircaed🇦🇷
Usuario
Puntos0
Posts35
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.