Tutorial de Arduino Bundle.: Arduino Kit de experimentación:. (ARDX) (4 / 13 paso)

Paso 4:.: 8 LED divertida:. (Múltiples LEDs) - CIRC02


Lo que estamos haciendo:
Hemos causado un LED parpadeando, ahora es el momento para subir las apuestas. Permite conectar ocho. También tendremos la oportunidad de estirar un poco el Arduino por crear diferentes secuencias de iluminación. Este circuito es también una configuración agradable experimentar con escribir tus propios programas y conseguir una sensación para el funcionamiento de Arduino.

Junto con el control de los LEDs nos comience a buscar en unos métodos de programación simple para mantener sus programas pequeños.

for() bucles - utilizados cuando desea ejecutar un trozo de código varias veces.
[arreglos] - utilizado para hacer más fácil manejo variables (es un grupo de variables)

(también puede descargar la hoja de diseño del tablero de la parte inferior de este paso)

Las partes:

  • Hoja de protoboard CIRC-02
  • Jefe del pin 2 (x4)
  • LED de 5mm verde (x8)
  • 560 ohm resistencia (verde-azul-marrón) (x8)

El circuito y conectar todo:
Un pequeño Video de todo lo que está enchufado

El código:

/* --------------------------------------------------------- * | Código de ejemplo de Kit de experimentación de Arduino | * | 02 CIRC.: 8 LED divertida:. (Múltiples LEDs) | *---** Algunas animaciones de Simple LED ** para más información sobre este http://tinyurl.com/d2hrud circuito * * ///LED Pin Variablesint ledPins [] = {2,3,4,5,6,7,8,9}; Una matriz para mantener el pin cada LED está conectado a / / es decir LED #0 está conectada al pin 2, LED #1, 3 y así //to dirección matriz utilizar ledPins [0] Esto sería igual 2 //and ledPins [7] sería igual a 9 / * * setup() - esta función se ejecuta una vez que cuando usted encienda su Arduino * que los pines de control de tres salidas * / void setup() {//Set cada pin conectado a un LED a modo de salida (tirando alto (a) o bajo (desconexión) para (int i = 0; i < 8; i ++) {//this es un bucle y repetir ocho veces pinMode(ledPins[i],OUTPUT); //we Utilice esto para ajustar cada pin del LED a la salida} código //the esto sustituye está por debajo de / * (comentado código no funcionará) * estas son las líneas sustituidas por el bucle anterior hacen exactamente el * lo mismo que arriba solo utiliza menos escribir pinMode (ledPins [0] SALIDA); pinMode(ledPins[1],OUTPUT); pinMode(ledPins[2],OUTPUT); pinMode(ledPins[3],OUTPUT); pinMode(ledPins[4],OUTPUT); pinMode(ledPins[5],OUTPUT); pinMode(ledPins[6],OUTPUT); pinMode(ledPins[7],OUTPUT); (End of commented Code) * /} / * * loop() - esta función comenzará después de que termine la instalación y repita * llamamos a una función llamada oneAfterAnother(). Si desea un comportamiento diferente * descomentar (eliminar las dos barras inclinadas) una de las otras líneas * / void loop() / / ejecutar una y otra vez {oneAfterAnotherNoLoop(); //this voluntad enciende cada LED uno por uno luego vuelta de / / oneAfterAnotherLoop(); //does lo mismo que oneAfterAnotherNoLoop pero con mucho menos escribir / / oneOnAtATime(); voluntad de //this gire un LED en girar otro en apagar el //former (un LED se verá como es desplazamiento a lo largo de la línea / / inAndOut(); //lights la dos medio LEDs entonces movimientos ellos hacia fuera y luego de nuevo} / * * oneAfterAnotherNoLoop() - se enciende una LED retardo luego delayTime luego luz * el LED siguiente hasta que todos los LEDs de luego convertirá uno tras otro ** esto lo hace sin utilizar un bucle que hace un montón de escribir. * oneOnAtATimeLoop() hace exactamente lo mismo con menos escribir * / void oneAfterAnotherNoLoop() {int delayTime = 100; //the tiempo (en milisegundos) para hacer una pausa entre LEDs //make menor para cambiar más rápido y mayor para más lento digitalWrite (ledPins [0], HIGH); //Turns el LED #0 (conectado al pin 2) delay(delayTime); //waits delayTime milisegundos digitalWrite (ledPins [1], HIGH); //Turns el LED #1 (conecta a la clavija 3) delay(delayTime) //waits delayTime milisegundos digitalWrite (ledPins [2] ALTO); Enciende el LED #2 (conectado al pin 4) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [3], HIGH); Enciende el LED #3 (conectado al pin 5) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [4], HIGH); Enciende el LED #4 (conectado al pin 6) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [5], HIGH); Enciende el LED #5 (conectado al pin 7) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [6], HIGH); Enciende el LED #6 (conectado al pin 8) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [7], HIGH); Enciende el LED #7 (conectado al pin 9) delay(delayTime); espera //Turns delayTime milisegundos cada LED apagado digitalWrite (ledPins [7], LOW); Enciende el LED #0 (conectado al pin 2) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [6], LOW); Enciende el LED #1 (conectado al pin 3) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [5], LOW); Enciende el LED #2 (conectado al pin 4) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [4], LOW); Enciende el LED #3 (conectado al pin 5) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [3], LOW); Enciende el LED #4 (conectado al pin 6) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [2], LOW); Enciende el LED #5 (conectado al pin 7) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [1], LOW); Enciende el LED #6 (conectado al pin 8) delay(delayTime); espera delayTime milisegundos digitalWrite (ledPins [0], LOW); Enciende el LED #7 (conectado al pin 9) delay(delayTime); espera delayTime milisegundos} / * * oneAfterAnotherLoop() - se enciende una LED retardo luego delayTime luego luz * el LED siguiente hasta que todos los LEDs de luego convertirá uno tras otro ** esto lo hace utilizando un bucle que hace mucho menos escribir
. * que oneOnAtATimeNoLoop() hace exactamente lo mismo con menos escribir * / void oneAfterAnotherLoop() {int delayTime = 100; //the tiempo (en milisegundos) para hacer una pausa entre //make LEDs más pequeños para cambiar más rápido y más grande para más lento / o apagar cada LED uno tras otro (int i = 0; me < = 7; i ++) {digitalWrite (ledPins [i], HIGH) //Turns LED #i cada vez que esto me va delay(delayTime); //gets añadió que para que esto se repita} //8 veces la primera vez será = 0 el //time final será igual a 7; //Turn cada LED apagado uno tras otro para (int me = 7; i > = 0; i--) {//same arriba sino más bien que a partir de 0 y //we contando desde siete y cuenta regresiva digitalWrite (ledPins [i], LOW); //Turns off LED #i cada vez que esto me va delay(delayTime); //gets uno resta de él para que esto se repita} //8 veces la primera vez será = 7 el //time final será igual a 0; } / * * oneOnAtATime() - se el claro llevó entonces el siguiente apagar todos los demás * / void oneOnAtATime() {int delayTime = 100; //the tiempo (en milisegundos) para hacer una pausa entre //make LEDs más pequeños para cambiar más rápido y más grande para más lento para (int me = 0; me < = 7; i ++) {int offLED = i - 1; //Calculate que LED se convirtió en el último tiempo a través de if(i == 0) {//for me = 1 a 7 se trata de menos 1 (es decir, si me = 2 vamos a offLED = 7; //turn en LED 2 y apagar LED 1)} //however si i = 0, no queremos a la vuelta de led -1 (no existe) //instead apagamos LED 7, (bucle alrededor) digitalWrite (ledPins [i], HIGH); encender LED #i digitalWrite (ledPins [offLED], LOW); Apagar el LED enciende pasado delay(delayTime) tiempo; }} / * * inAndOut() - Esto encenderá los LEDs mediados entonces los dos próximos * haciendo un mirar hacia adentro y hacia afuera * / anular inAndOut() {int delayTime = 100; //the tiempo (en milisegundos) para hacer una pausa entre //make LEDs más pequeños para cambiar más rápido y más grande para //runs más lento el LED hacia fuera desde el centro de (int i = 0; me < = 3; i ++) {int offLED = i - 1; //Calculate que LED se convirtió en el último tiempo a través de if(i == 0) {//for me = 1 a 7 se trata de lo menos 1 (es decir, si i = 2 vamos a offLED = 3; //turn y LED 1 LED 2)} //however si me = 0 no queremos a la vuelta de led -1 (no existe) //instead apagamos LED 7, (bucle alrededor) int onLED1 = 3 - i; Esta es la primera a es decir. LED #3 cuando i = 0 y LED #0 cuando i = 3 int onLED2 = 4 + i; Esta es la primera a es decir. LED #4 cuando i = 0 y LED #7 cuando i = 3 int offLED1 = 3 - offLED; se apaga el LED enciende pasado tiempo int offLED2 = 4 + offLED; se apaga el LED enciende pasado tiempo digitalWrite (ledPins [onLED1], HIGH); digitalWrite (ledPins [onLED2], HIGH); digitalWrite (ledPins [offLED1], LOW); digitalWrite (ledPins [offLED2], LOW); Delay(delayTime); } //runs el LED en el centro para (int me = 3; > = 0; i--) {int offLED = i + 1; //Calculate que LED se convirtió en el último tiempo a través de if(i == 3) {//for me = 1 a 7 se trata de menos 1 (es decir, si me = 2 vamos a offLED = 0; //turn y LED 1 LED 2)} //however si me = 0 no queremos a la vuelta de led -1 (no existe) //instead apagamos LED 7 , (bucle alrededor) int onLED1 = 3 - i; Esta es la primera a es decir. LED #3 cuando i = 0 y LED #0 cuando i = 3 int onLED2 = 4 + i; Esta es la primera a es decir. LED #4 cuando i = 0 y LED #7 cuando i = 3 int offLED1 = 3 - offLED; se apaga el LED enciende pasado tiempo int offLED2 = 4 + offLED; se apaga el LED enciende pasado tiempo digitalWrite (ledPins [onLED1], HIGH); digitalWrite (ledPins [onLED2], HIGH); digitalWrite (ledPins [offLED1], LOW); digitalWrite (ledPins [offLED2], LOW); Delay(delayTime); }}

¿No funciona?

  • Algunos LEDs no luz - es fácil de insertar un LED al revés. Verifique los LEDs que no funcionan y aseguran de la forma correcta de alrededor.
  • Operativo fuera de secuencia - con ocho cables es fácil cruzar un par. Comprobar que el primer LED está conectado a pin pin 2 y cada uno allí después.
  • A partir de nuevo - es fácil de perder accidentalmente un cable sin darse cuenta. Todo tirando hacia fuera y a partir de una pizarra fresca es a menudo más fácil que intentar localizar el problema.

Lo que es mejor:
a los bucles de conmutación:
en la función loop() hay 4 líneas. Los últimos tres todos comienzan con una ' / /' Esto significa que la línea se trata como un Comentario (no ejecutar). Para cambiar el programa a utilizar bucles de cambian el code de void loop() para:

Cargar el programa y notar que nada ha cambiado. Puedes echar un vistazo a las dos funciones, cada uno hace lo mismo, pero usan diferentes enfoques (sugerencia el segundo utiliza un bucle for)

Animaciones extras:
¿Cansado de esta animación? Pruebe las otras dos animaciones de muestra. Descomentar las líneas y subir el programa a tu tabla y disfrutar de las nuevas animaciones de luz. (borrar las barras frente a fila 3 y 4)

Probando tus propias animaciones:
Métase en el código incluido y empezar a cambiar las cosas. El punto principal es encender un LED en uso digitalWrite (pinNumber, HIGH); luego para apagarlo uso digitalWrite (pinNumber, LOW);. Tipo a, independientemente de lo que cambia no rompe nada.

Artículos Relacionados

Arduino Kit de Palma

Arduino Kit de Palma

actualización: leer sobre el primer viaje de Palma Arduino Kit, aquí!Viajo muchas veces al año, en algún momento fui con la familia, llevó a familiares, amigos, a lugares en Estados Unidos, durante días, puede ser por semanas, incluso durante un mes,
Un viaje de Palma Arduino Kit

Un viaje de Palma Arduino Kit

debía este instructable para mi fan Palm Arduino Kit!Hice mencionado en mi anterior instructable "Palma Arduino Kit" que construí el kit que me acompaña mientras hago el viaje.Y un camino real de mi Palm Arduino Kit sucedió! Nos hizo un viaje a
Tutorial de Arduino - organizar tus proyectos

Tutorial de Arduino - organizar tus proyectos

si usted ha tenido éxito en algunos proyectos de arduino, Felicidades! Puede ser motivado para asumir un proyecto más amplio.Pero como te tomas en un proyecto más amplio, el protoboard se convierte en messier y messier, como un plato de espagueti (al
Tutorial de Arduino ISC 1

Tutorial de Arduino ISC 1

Este es un tutorial que se esfuerza por enseñar a la gente lo básico de Arduino. Fue desarrollado específicamente para ayudar a entrenar a los nuevos miembros del club en conceptos básicos de programación y robótica pero también planeamos distribuir
Cómo utilizar el Sensor de flujo de agua - Tutorial de Arduino

Cómo utilizar el Sensor de flujo de agua - Tutorial de Arduino

En este tutorial usted aprenderá cómo utilizar un sensor de flujo de agua con una placa Arduino.El sensor de flujo de agua consiste en un cuerpo de válvula de plástico, un rotor de agua y un sensor de efecto hall. Cuando el agua fluye a través del ro
Cómo utilizar el Tutorial de Arduino de sensor de DHT-11

Cómo utilizar el Tutorial de Arduino de sensor de DHT-11

La DHT-11 es una salida digital de humedad relativa y temperatura. Utiliza un sensor de humedad capacitivo y un termistor para medir el aire circundante. Comparado con el DHT22, este sensor es menos precisa, menos precisa y trabaja en un rango menor
Tutorial de Arduino - detector de fácil golpe secreto

Tutorial de Arduino - detector de fácil golpe secreto

En este proyecto de construir un circuito con un Led y un piezo para funcionar como un encendido y apagado de un Led cuando recibe un número de golpes de sonidos dentro de un rango dado.Paso 1: Lo que necesita HardwareLEDDiodos (Zener 5.1v).Zumbador
Silla de ruedas Arduino Kit de tambor

Silla de ruedas Arduino Kit de tambor

Sam ha querido reproducir música desde era joven pero su Parálisis Cerebral limita su habilidad para tocar instrumentos musicales más estándares. Un par de meses atrás decidió que le gustaría tocar la batería, y así nos fuimos a trabajar para encontr
Tutorial de Arduino Motor escudo

Tutorial de Arduino Motor escudo

The Arduino Motor Shield te permite fácilmente controlar la dirección del motor y velocidad utilizando un Arduino. Por lo que le permite simplemente dirección pines del Arduino, es muy sencillo de incorporar un motor en tu proyecto. También le permit
Cómo utilizar el Sensor infrarrojo Sharp (GP2Y0A41SK0F) - Tutorial de Arduino

Cómo utilizar el Sensor infrarrojo Sharp (GP2Y0A41SK0F) - Tutorial de Arduino

En este tutorial usaremos el sensor de infrarrojos Sharp (GP2Y0A41SK0F) para medir la distancia de un objeto.Sensores IR trabajar mediante el uso de un sensor de luz específico para detectar un seleccionar longitud de onda de luz en el espectro infra
Cómo utilizar el Sensor de Adafruit BMP280 - Tutorial de Arduino

Cómo utilizar el Sensor de Adafruit BMP280 - Tutorial de Arduino

En este tutorial vamos a utilizar el sensor de Adafruit BMP280. Este sensor puede medir la presión barométrica y la temperatura con muy buena precisión. Porque la presión cambia con la altitud podemos también usarlo como un altímetro con una precisió
Cómo: varios botones en el Pin analógico 1 - Tutorial de Arduino

Cómo: varios botones en el Pin analógico 1 - Tutorial de Arduino

La placa de Arduino uno tiene 12 pines de I/O digitales disponible y 6 pines de entrada analógicas, a veces, en proyectos complejos o 'grandes', corremos de pines digitales. En este tutorial usted aprenderá cómo utilizar varios botones en un pin anal
Arduino Kit de Sensor de temperatura

Arduino Kit de Sensor de temperatura

este kit está diseñado para tener la pantalla de 4 x 7 segmentos que muestra la temperatura montada directamente en la placa Arduino. El3 pines cables conectan un termistor a un pin analógico en el Arduino. Una vez este programado el Arduino, se pued
Cómo utilizar los módulos XBee como transmisor y receptor - Tutorial de Arduino

Cómo utilizar los módulos XBee como transmisor y receptor - Tutorial de Arduino

En este tutorial utilizaremos dos módulos xBee (serie 1) con la placa de Arduino uno. Configuraremos a actuar como un transmisor y receptor para controlar el brillo de un LED sin cables mediante un potenciómetro.La pila de xBee - serie 1 - módulos to