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

Circuitos básicos

1.- Primeros pasos con Arduino

2.- Instalación del IDE

3.- Código para hacer parpadear un Led

4.- Código para controlar la luz de un Led con potenciómetro

5.- Código para controlar led RGB con PWM

6.- Código para luces secuenciales de 8 leds

7.- Código para encender un Led con pulsador

8.- Código para encender un Led con fotoresistencia LDR

9.- Código para sensor de temperatura

10.- Código para servomotor

11.- Código para generar sonido con zumbador o buzzer

12.- Código para sensor de ultrasonido HC-SR04

13.- Código para Módulo LCD 1602A

14.- Código para módulo L298N y motores DC

Últimas publicaciones
Explorer 1
Un día como hoy 31/01/2023

El 31 de enero de 1958, se lanza el Explorer I, el primer satélite artificial puesto en órbita terrestre por Estados Unidos. El lanzamiento del Explorer I ocurre en respuesta al lanzamiento del Sputnik I y el Sputnik II lanzados por la Unión Soviética.

gramatica
Gramática

Preguntas aleatorias de la forma correcta de escribir. Aprende jugando, para niños, jóvenes y adultos... VER MÁS

 

Calculadoras OnLine | Proyectos Electrónicos | Vista Satelital | Perú | Radio y TV | Chistes | Satélites | Internet Satelital | VoIP | Wireless

Política de Privacidad | Contáctanos

www.viasatelital.com