Un proyecto de Arduino Cómo hacer adornos de luces de Navidad llamativos

Un proyecto de Arduino Cómo hacer adornos de luces de Navidad llamativos / Bricolaje

Esta es la siguiente parte de nuestra serie de aprendizaje Arduino, y esta vez aprenderemos y usaremos Arrays Para hacer un pequeño adorno de árbol de Navidad con varias secuencias de flasheo. Este sería un proyecto ideal para mantener a los niños ocupados si desea enseñarles soldadura básica. Simplemente monte los LED en un pedazo de tarjeta y podrá obtener energía de una batería estándar de 9 voltios..

También es una lección clave en la programación para principiantes de Arduino, aunque si no planeas usar esto como un adorno, te recomiendo encarecidamente incluirlo de todos modos..

Nota: Este es un tutorial para principiantes y ciertamente no vamos a abrir nuevos caminos, ¿no? Sólo un dispositivo para enseñar los conceptos de uso. Arrays y Para bucles para lidiar con un gran cantidad de LEDs (u otros dispositivos de salida).

Si aún no lo has hecho, ahora sería un buen momento para seguir con los otros artículos de la serie:

  • ¿Qué es Arduino y qué puedes hacer con él? ¿Qué es Arduino y qué puedes hacer con él? ¿Qué es Arduino y qué puedes hacer con él? El Arduino es un pequeño dispositivo electrónico notable, pero si nunca ha usado uno antes, ¿qué son exactamente y qué puede hacer con uno? Lee mas ?
  • ¿Qué es un kit de inicio Arduino y qué contiene? ¿Qué está incluido en un kit de inicio Arduino? [MakeUseOf Explica] ¿Qué se incluye en un kit de inicio Arduino? [Explica MakeUseOf] Anteriormente presenté el hardware de código abierto Arduino aquí en MakeUseOf, pero va a necesitar algo más que el Arduino real para construir algo a partir de él y comenzar realmente. Arduino "kits de inicio" son ... Leer más
  • Más componentes geniales para comprar con su kit de inicio 8 Más componentes geniales para sus proyectos Arduino 8 Componentes más geniales para sus proyectos Arduino Por lo tanto, está pensando en obtener un kit de inicio Arduino, pero se pregunta si habrá algunos LED y resistencias básicos. suficiente para mantenerte ocupado durante el fin de semana? Probablemente no. Aquí hay otros 8 ... Leer más
  • ¿Empezando con tu Arduino Starter Kit? Instalación de controladores y configuración de la placa y el puerto Primeros pasos con su Arduino Starter Kit - Instalación de controladores y configuración de la placa y el puerto Primeros pasos con su Arduino Starter Kit - Instalación de controladores y configuración de la placa y el puerto Así que, usted mismo ha comprado un kit de inicio Arduino, y posiblemente algunos otros componentes geniales, ¿y ahora qué? ¿Cómo empezar realmente con la programación de esta cosa de Arduino? ¿Cómo se configura ... Leer más
  • Fritzing, una herramienta gratuita para dibujar diagramas de circuitos Fritzing: la herramienta definitiva para dibujar proyectos de electrónica [multiplataforma] Fritzing: la herramienta definitiva para dibujar proyectos de electrónica [multiplataforma] A pesar de que suena como un alcopop, Fritzing es realmente una pieza increíble. software gratuito que puede utilizar para crear diagramas de circuitos y componentes para su uso con tableros electrónicos de creación rápida de prototipos, como el fantástico Arduino de código abierto ... Leer más
  • Una mirada más cercana a la estructura de una aplicación Arduino y el programa Blink de ejemplo Primeros pasos con el Arduino: Una mirada más cercana a la placa de circuito y la estructura de un programa Primeros pasos con el Arduino: Una mirada más de cerca a la placa de circuito y la estructura De un programa La última vez que lo dejé, configuró su Arduino para que funcionara con Mac o Windows, y después de haber subido una aplicación de prueba simple que parpadeó el LED de a bordo. Hoy voy a explicar el código ... Leer más

Para este proyecto, necesitarás al menos 8 o 9 LEDs en rojo o verde, un resistor para cada uno de ellos, un tablero de circuitos y algunos cables de conexión. El kit de inicio de Ooomlout, que compré recientemente y que aparece en este tutorial, ofrece una excelente relación calidad-precio y tiene más LEDs y resistencias de los que alguna vez necesitarás, además de una elegante placa de pruebas y un estuche Arduino para guardar cosas ordenado.

Aquí está lo último:

Y un video de ella en acción..

Aquí está una vista del cableado de Fritzing. Es muy básico: simplemente conecte el cable positivo de los LED a los pines. 2-> lo que sea (hasta el pin 13), y conecte las patas negativas al suelo en línea con una resistencia. El valor que he usado aquí es de 560 ohmios. Eso es todo para el cableado.

En el lado del software, piense en cómo podría escribir a todos estos LED en el código. Podrías hacerlo así:

int led1 = 2; // primer LED en el pin 2 int led2 = 3; // segundo en el pin 3 // etc etc void loop () digitalWrite (led1, HIGH); retraso (100); digitalWrite (led1, LOW); retraso (100); digitalWrite (led2, ALTO); // etc

Deberías poder ver que con 9 LEDs, esto se cansará rápidamente. La respuesta está en Arrays, lo que si no puede recordar nuestra Programación 101 sobre tipos de datos básicos Los fundamentos de la programación de computadoras 101 - Variables y tipos de datos Los fundamentos de la programación de computadoras 101 - Variables y tipos de datos Habiendo introducido y hablado un poco sobre la programación orientada a objetos antes y de dónde viene su homónimo , Pensé que es hora de que pasemos por los fundamentos absolutos de la programación de una manera no específica para el lenguaje. Esto… Leer más - son básicamente solo listas.

La sintaxis se ve así (coloca esto como la primera línea en tu código):

int leds [] = 2,3,4,5,6,7,8,9,10,10;

Los corchetes indican que los leds? variable va a ser una Formación. Las llaves incluyen la lista de números de pin que mantendrá nuestra matriz.

Ahora, para usar un Array, necesitamos abordarlo por el número de índice. los el índice comienza en 0, y, por lo tanto, siempre irá a 1 menos que el número total de cosas que contiene (Así que con 9 ítems, el último tendría un índice de 8.).

Lo escribes así:

leds [0]

Lo que en nuestro caso, obtendría el número 2, porque eso es lo que está en el índice 0 en nuestra matriz.

Siguiendo hasta ahora? Genial. Sin embargo, eso solo no es suficiente para nosotros, también necesitamos una forma de iterar sobre cada elemento de nuestra matriz de LEDs. Para eso, usaremos un en bucle. La sintaxis para hacer eso es así:

para (variable inicial; condición bajo la cual repetimos nuevamente; cambiamos a variable cada iteración)

Por ejemplo:

para (int i = 0; i<9; i++)

Que dice

  • iniciar este bucle con una variable, yo, que tiene un valor de cero
  • continuar en bucle solo mientras yo esté menos de 9?(Así: 0,1,2,3,4,5,6,7,8)
  • cada vez, agrega 1 a i (i ++ es una forma corta de decir i = i + 1)

Básicamente, el bucle se repetirá tantas veces como tengamos LED, y cada vez que se repita tendremos una variable, yo, que podemos usar como nos guste.

Vamos a utilizar esta estructura dos veces para empezar. Una vez dentro de la función de configuración para hacer que todos nuestros pines pasen al modo de salida, así:

configuración vacía () para (int i = 0; i< 9;i++) pinMode(leds[i],OUTPUT);  

¿Puedes ver lo que hicimos allí? En lugar de escribir 9 líneas de código para declarar cada pin individual como salida, creamos un bucle 'for' para repetirse 9 veces, cada vez que se configura otro pin.

Ahora, debería poder ver cómo podríamos hacer exactamente lo mismo en el ciclo principal del programa para encender cada LED en secuencia:

bucle vacío () para (int i = 0; i< 9;i++) digitalWrite(leds[i],HIGH); delay(100); digitalWrite(leds[i],LOW);  

Trata eso. Puede descargar el código completo para el proyecto de hoy desde aquí si prefiere no volver a escribirlo (aunque le recomiendo que lo haga, ya que ayuda en el proceso de aprendizaje)..

Bien, ahora tenemos una secuencia de luces bastante aburrida. Vamos a programar otro. Sólo por diversión, vamos a hacerlo completamente al azar. Reemplace el código de bucle principal con esto:

void loop () int randomLed = random (0,8); digitalWrite (leds [randomLed], HIGH); retraso (50); randomLed = aleatorio (0,8); digitalWrite (leds [randomLed], LOW); 

En lugar de usar un bucle 'for' para iterar sobre cada LED, elegimos un número aleatorio de 0-9 en su lugar, y lo encendemos.

Lo dejaré allí por hoy, ya que ahora deberías estar armado con el conocimiento suficiente para programar todas las nuevas secuencias y experimentar con loops. Para demostrar lo fácil que es todo esto, desafié a mi esposa a pensar en una secuencia que le gustaría ver, y luego obtuve?ella para programarlo ella misma, solo doy el código y las lecciones que has tenido hasta ahora. Se le ocurrió esto, así que ve si puedes igualar eso para la tarea!

Preguntas, sugerencias, problemas - por favor, póngase en contacto en los comentarios.

Explorar más sobre: ​​Arduino.