Paso 9: Pegar el código siguiente en un abierto arduino "bosquejo".
Nota: Las líneas que comienzan con / / son las secciones de comentarios, sólo sirven para explicar el código y no contribuyen al código real!
int ledPins [] = {2,3,4,5,6,7,8,9};
El primer elemento de un array es el índice 0.
Hemos puesto el valor "2" en el índice 0, «3» en el índice 1, etc..
El índice final de la matriz anterior es 7, que contiene
el valor "9".
Estamos utilizando los valores de esta matriz para especificar los números de pin
que los 8 LEDs están conectados a. LED 0 se conecta a
Pin 2, 1 LED se conecta al pin 3, etc..
void setup()
{
int index;
En este bosquejo, usaremos "for() bucles" a paso de variables de
un valor a otro y realizar una serie de instrucciones para
cada paso. For() son una manera muy útil para obtener números
contar hacia arriba o hacia abajo.
Cada bucle for() tiene tres declaraciones separadas por
punto y coma (;):
// 1. Algo que hacer antes de comenzar
// 2. Una prueba para llevar a cabo; como es cierto, mantener el bucle
// 3. Algo que hacer después de cada ciclo (aumento de una variable)
Aquí usaremos un bucle for() para inicializar todos los pines del LED
a salidas. Esto es mucho más fácil que escribir separados ocho
declaraciones a hacer lo mismo.
Este bucle for() hará índice = 0, luego ejecute el pinMode()
declaración dentro de los soportes. Luego hará lo mismo
Índice de = 2, índice = 3, etc. todos la forma de índice = 7.
para (índice = 0; índice < = 7; índice ++)
{
pinMode(ledPins[index],OUTPUT);
ledPins [index] se sustituye por el valor de la matriz.
Por ejemplo, ledPins [0] es 2
}
}
void loop()
{
Este loop() llama a las funciones que hemos escrito más abajo.
Nosotros hemos deshabilitado algunos de estos comentarios les fuera (poner
"/ /" delante de ellos). Para probar diferentes pantallas, quitar
el "/ /" delante de los que desea ejecutar y añadir "/ /"
delante de los que no comente (y desactivar) aquellos
líneas.
oneAfterAnotherNoLoop(); Encienden todos los LEDs a su vez
}
/*
oneAfterAnotherNoLoop()
Esta función enciende un LED, demora para delayTime, entonces la luz
el siguiente LED y repita hasta que todos los LEDs están en. Será entonces
apagarlos en el orden inverso.
Esta función no utiliza un bucle for(). Hemos hecho el camino difícil
para mostrar cuánta vida fácil puede ser cuando usas for() bucles.
Echa un vistazo a oneAfterAnotherLoop() más abajo, que no
exactamente lo mismo con mucho menos escribir.
*/
void oneAfterAnotherNoLoop()
{
int delayTime = 100; / / tiempo (en milisegundos) para hacer una pausa entre LEDs
hacerlo más pequeño para la conmutación rápida
encender todos los LEDs:
digitalWrite (ledPins [0], HIGH); Enciende el LED #0 (pin 2)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [1], HIGH); Enciende el LED #1 (pin 3)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [2], HIGH); Enciende el LED #2 (pin 4)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [3], HIGH); Enciende el LED #3 (pin 5)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [4], HIGH); Enciende el LED #4 (pin 6)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [5], HIGH); Enciende el LED #5 (pin 7)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [6], HIGH); Enciende el LED #6 (pin 8)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [7], HIGH); Enciende el LED #7 (pin 9)
Delay(delayTime); esperar delayTime milisegundos
apagar todos los LEDs:
digitalWrite (ledPins [7], LOW); Apaga LED #7 (pin 9)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [6], LOW); Apaga LED #6 (pin 8)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [5], LOW); Apaga LED #5 (pin 7)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [4], LOW); Apague el LED #4 (pin 6)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [3], LOW); Apague el LED #3 (pin 5)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [2], LOW); Apague el LED #2 (pin 4)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [1], LOW); Apaga LED #1 (pin 3)
Delay(delayTime); esperar delayTime milisegundos
digitalWrite (ledPins [0], LOW); Apaga LED #0 (pin 2)
Delay(delayTime); esperar delayTime milisegundos
}