Código de Arduino para juego de luces secuenciales de 8 leds

Lista de materiales

  • 8 diodos Led
  • 8 resistencia de 330 ohmios
  • 1 placa de Arduino uno
  • 1 protoboard
  • cables jumper

Conexiones de hardware

arduino

Tal como se observa en la lista de materiales se necesitarán ocho LED y ocho resistencias de 330 ohmios (naranja-naranja-marrón) para este proyecto.

Luego siga los siguientes pasos:

  • Para cada LED, conecte el lado negativo (pata más corta) a una resistencia de 330 ohmios.
  • Conecte el otro lado de las resistencias a GND.
  • Conecte el lado positivo (pata más larga) de los LED a los pines número 2 hasta el 9 de Arduino.

arduino

Estructura del programa o sketch

Este programa tiene por finalidad iluminar los diodos Led según la siguiente secuencia:

  • Prenden todos los foquitos poco a poco y luego se apagan de la misma manera.
  • Prenden todos los foquitos poco a poco y luego se apagan de la misma manera.(con programa diferente)
  • Prenden los foquitos simulando un movimientod e luz.
  • Prenden los foquitos simulando una luz en ping pong.
  • Prenden los foquitos de dos en dos.
  • Prende un foquito en forma aleatoria.

-----------------------------------------------------

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

void setup()
{
int index;

for(index = 0; index <= 7; index++)
{
pinMode(ledPins[index],OUTPUT);
}
}

void loop()
{

prendeTodosFoquitos();
delay(3000);
otroPrendeTodosFoquitos();
delay(3000);
movimientoLuz();
delay(3000);
pingPong();
delay(3000);
prendePares();
delay(3000);
aleatorioLED();
delay(3000);
}

void prendeTodosFoquitos()
{
int delayTime = 100;

// Prende los foquitos:

digitalWrite(ledPins[0], HIGH);
delay(delayTime);
digitalWrite(ledPins[1], HIGH);
delay(delayTime);
digitalWrite(ledPins[2], HIGH);
delay(delayTime);
digitalWrite(ledPins[3], HIGH);
delay(delayTime);
digitalWrite(ledPins[4], HIGH);
delay(delayTime);
digitalWrite(ledPins[5], HIGH);
delay(delayTime);
digitalWrite(ledPins[6], HIGH);
delay(delayTime);
digitalWrite(ledPins[7], HIGH);
delay(delayTime);

// apaga los foquitos:

digitalWrite(ledPins[7], LOW);
delay(delayTime);
digitalWrite(ledPins[6], LOW);
delay(delayTime);
digitalWrite(ledPins[5], LOW);
delay(delayTime);
digitalWrite(ledPins[4], LOW);
delay(delayTime);
digitalWrite(ledPins[3], LOW);
delay(delayTime);
digitalWrite(ledPins[2], LOW);
delay(delayTime);
digitalWrite(ledPins[1], LOW);
delay(delayTime);
digitalWrite(ledPins[0], LOW);
delay(delayTime);
}

 

void otroPrendeTodosFoquitos()
{
int index;
int delayTime = 100;

// Prende los foquitos

for(index = 0; index <= 7; index++)
{
digitalWrite(ledPins[index], HIGH);
delay(delayTime);
}
// Apaga los foquitos

for(index = 7; index >= 0; index--)
{
digitalWrite(ledPins[index], LOW);
delay(delayTime);
}
}


void movimientoLuz()
{
int index;
int delayTime = 100;

for(index = 0; index <= 7; index++)
{
digitalWrite(ledPins[index], HIGH);
delay(delayTime);
digitalWrite(ledPins[index], LOW);
}
}


void pingPong()
{
int index;
int delayTime = 100;

// corre luz de 0 to 7

for(index = 0; index <= 7; index++)
{
digitalWrite(ledPins[index], HIGH);
delay(delayTime);
digitalWrite(ledPins[index], LOW);
}

// corre luz de 7 to 0

for(index = 7; index >= 0; index--)
{
digitalWrite(ledPins[index], HIGH);
delay(delayTime);
digitalWrite(ledPins[index], LOW);
}
}

void prendePares()
{
int index;
int delayTime = 200;


for(index = 0; index <= 3; index++)
{
digitalWrite(ledPins[index], HIGH);
digitalWrite(ledPins[index+4], HIGH);
delay(delayTime);
digitalWrite(ledPins[index], LOW);
digitalWrite(ledPins[index+4], LOW);
}
}

void aleatorioLED()
{
int index;
int delayTime;


index = random(8);
delayTime = 100;

digitalWrite(ledPins[index], HIGH);
delay(delayTime);
digitalWrite(ledPins[index], LOW);
}

------------------------------------------------------

¿Qué es un array?

Un array es un conjunto de valores a los que se accede con un número índice. Cualquier valor puede ser recogido haciendo uso del nombre de la matriz y el número del índice.

El primer valor de la matriz es el que está indicado con el índice 0, es decir el primer valor del conjunto es el de la posición 0. Un array tiene que ser declarado y opcionalmente asignados valores a cada posición antes de ser utilizado

int miArray[ ] = {valor0, valor1, valor2...}

Ejemplo:

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

Del mismo modo es posible declarar una matriz indicando el tipo de datos y el tamaño y posteriormente, asignar valores a una posición especifica:

int miArray[7]; // declara un array de enteros de 8 posiciones

miArray[5] = 10; // asigna l valor 10 a la posición 6

Para leer de un array basta con escribir el nombre y la posición a leer:

x = miArray[3]; // x ahora es igual a el valor que este en la posición 4 del array

Video instructivo

Contenido

Recomendados:

Tuberculosis

Un día como hoy 24/03/2025

La Asamblea General de las Naciones Unidas proclamó el 24 de marzo Día Mundial de la Tuberculosis. En esa fecha, en 1882, Robert Koch anuncia al mundo el descubrimiento de la bacteria responsable de la tuberculosis, la Mycobacterium tuberculosis.

proforma

Proforma Online Gratis

Crea proformas online de manera gratuita y sencilla. Genera documentos personalizados para tu negocio y mejora la comunicación con tus clientes.

Calculadoras OnLine | Proyectos Electrónicos | Vista Satelital | Radio y TV | Magazin Digital

Política de Privacidad | Partner: depositphotos | Contáctanos

www.viasatelital.com