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:
Este programa tiene por finalidad iluminar los diodos Led según la siguiente secuencia:
-----------------------------------------------------
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);
}
------------------------------------------------------
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
Recomendados:
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.