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

Primeros pasos con Arduino Instalación del IDE Código para hacer parpadear un Led Código para controlar la luz de un Led con potenciómetro Código para controlar led RGB con PWM Código para luces secuenciales de 8 leds Código para encender un Led con pulsador Código para encender un Led con fotoresistencia LDR Código para sensor de temperatura Código para servomotor Código para generar sonido con zumbador o buzzer Código para sensor de ultrasonido HC-SR04 Código para Módulo LCD 1602A Código para módulo L298N y motores DC Código para semáforo

Recomendados:

dia del libro

Un día como hoy 23/04/2024

Promulgado como el Día Internacional del Libro por la Unesco, en conmemoración de tres grandes escritores: el entierro de Miguel de Cervantes Saavedra, la muerte y probablemente también el nacimiento de William Shakespeare y la muerte de Inca Garcilaso de la Vega.

mensajitos

Mensajitos

Aquí puedes encontrar: Frases bonitas y cortas, palabras de agradecimiento, poemas originales, cartas para toda ocasión y mas.

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

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

www.viasatelital.com