Arduino luces rítmicas


Realiza el ejercicio Arduino luces rítmicas, donde usaremos un array para encender leds con digitalWrite

Arduino luces rítmicas
oscar Escrito por oscar 17 August 2015 51243 1

Vamos a realizar un practico y muy sencillo ejercicio de Arduino luces rítmicas para darle secuencia a unos Leds, el ejercicio es la continuación del ejemplo llamado blink el cual tomaremos como base para iniciar, ya que las instrucciones son las mismas, solo que usamos más pines y led para activar.

Vídeo del circuito

A continuación encontraras un vídeo en donde se explica al detalle la solución del circuito.

¿Que es blink?

Es el ejercicio básico de Arduino, mas conocido como el hola mundo!, en donde se prende y apaga un led cada segundo.

Revisa el post creado en: https://codigoelectronica.com/blog/arduino-blink

¿Que vamos a hacer?

Hemos optimizado el ejercicio, ya que al repetir las instrucciones muchas veces no es la forma correcta de "codear" como se muestra en el código realizado anteriormente para ente ejemplo.

Resultado visual

● ○ ○ ○ ○ ○ ○
● ● ○ ○ ○ ○ ○
● ● ● ○ ○ ○ ○
● ● ● ● ○ ○ ○
...

Conocimiento previo

Proyecto Descripción
Introducción al arduino En este post encontrarás links relacionados con proyectos que hemos realizado con la placa Arduino adicionalmente damos la introducción sobre este tema.
Arduino definición Nada más la definición de Arduino y conocemos sus principales placas con las características de Hardware que posee.
Instalación de arduino en windows En este post explicamos el paso a paso para instalar Arduino en el sistema operativo Windows.
pinMode() Permite habilitar un pin del Arduino como entrada o salida.
digitalWrite() Permite escribir en un pin digital un estado lógico.
arduino data types array Una matriz es una colección de variables a las que se accede con un número de índice.

Materiales

Estos son los materiales utilizados para este ejercicio de Arduino luces rítmicas.

Material Cantidad
Arduino de cualquier tipo 1
Leds de colores 6
Resistencias 330Ω 6
Cables conectores macho a macho 6

Ensamble del circuito

Para el ensamble, colocamos los leds en la Protoboard, con las resistencias a tierra y cada led los colocamos desde el pin 2 al 7 del Arduino, como se muestra en la imagen.

Esquema arduino luces rítmicas
Esquema arduino luces rítmicas

Código

Ahora vamos con el código, en donde como mencione podemos tomar como base el ejemplo de blink, el cual es el de prender un led por el pin 13; para nuestro ejercicio lo vamos copiar las mismas lineas para los pines del 2 al 7.

Pero como mencione antes si repetimos las lineas no es muy eficiente, ya que nos queda un código muy largo.

int inputsPins[] = {2,3,4,5,6,7,8};
int totalPins = sizeof(inputsPins) / sizeof(inputsPins[0]);

void setup() {
  
  for(int index = 0; index < totalPins; index ++){
    pinMode(inputsPins[index], OUTPUT);
  }
}

void loop() {
  
  for(int index = 0; index < totalPins; index ++){
    digitalWrite(inputsPins[index], HIGH);     
    delay(500);
  }
  
  for(int index = 0; index < totalPins; index ++){
    digitalWrite(inputsPins[index], LOW);     
    delay(200);
  }
  
}

Nota: Dejo el link del código por si quieren clonarlo con github.

Este programa en Arduino enciende y apaga secuencialmente los pines digitales 2 al 8.

int inputsPins[] = {2,3,4,5,6,7,8};

Crea un arreglo con los pines que se van a controlar.

int totalPins = sizeof(inputsPins) / sizeof(inputsPins[0]);

Calcula automáticamente cuántos pines hay en el arreglo (7).

setup()

for(int index = 0; index < totalPins; index++){
    pinMode(inputsPins[index], OUTPUT);
}

Recorre el arreglo y configura cada pin como salida (OUTPUT).

loop()

Primer for:

digitalWrite(inputsPins[index], HIGH);
delay(500);

Enciende cada pin uno por uno, esperando 500 ms entre cada uno.

Segundo for:

digitalWrite(inputsPins[index], LOW);
delay(200);

Resultado


Comentario

Debe aceptar antes de enviar
rfort
rfort

28 September 2017 07:45

int inputsPints[] = {2,3,4,5,6,7,8}; void setup() {