
Michael Cain
0
4360
1369
Esta es la siguiente parte de nuestra serie de aprendizaje Arduino, y esta vez aprenderemos y usaremos Matrices para hacer un pequeño adorno de árbol de Navidad con varias secuencias intermitentes. Este sería un proyecto ideal para mantener a los niños ocupados si desea enseñarles la soldadura básica: simplemente monte los LED en una tarjeta y podrá obtener energía de una batería estándar de 9v.
También es una lección clave en la programación de Arduino para principiantes, aunque si no planeas usar esto como un adorno, te sugiero encarecidamente que lo hagas de todos modos.
Nota: Este es un tutorial de nivel muy principiante y ciertamente no estaremos abriendo nuevos caminos, ¿no? solo un dispositivo para enseñar los conceptos de uso Matrices y Para bucles lidiar con un gran cantidad de LED (u otros dispositivos de salida).
Si aún no lo ha hecho, ahora sería un buen momento para seguir junto 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, qué son exactamente y qué puede hacer con uno.? ?
- ¿Qué es un kit de inicio Arduino y qué contiene? ¿Qué se incluye 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 necesitarás más que el Arduino real para construir algo y comenzar realmente. Los "kits de inicio" de Arduino son ...
- 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 Entonces, está pensando en obtener un kit de inicio Arduino, pero se pregunta si habrá algunos LED básicos y resistencias suficiente para mantenerte ocupado durante el fin de semana? Probablemente no. Aquí hay otros 8 ...
- ¿Cómo comenzar con su kit de inicio Arduino? Instalación de controladores y configuración de la placa y el puerto Introducción a su Arduino Starter Kit - Instalación de controladores y configuración de la placa y el puerto Introducción a su Arduino Starter Kit - Instalación de controladores y configuración de la placa y el puerto Entonces, se ha comprado un kit de inicio Arduino y posiblemente algunos otros componentes geniales al azar, ¿y ahora qué? ¿Cómo comienzas a programar esta cosa de Arduino? Cómo lo configuras…
- Fritzing, una herramienta gratuita para dibujar diagramas de circuitos Fritzing - La herramienta definitiva para dibujar proyectos electrónicos [Plataforma cruzada] Fritzing - La herramienta definitiva para dibujar proyectos electrónicos [Plataforma cruzada] A pesar de sonar como un alcopop, Fritzing es en realidad un poco increíble software gratuito que puede usar para crear diagramas de circuitos y componentes para usar con placas electrónicas de creación rápida de prototipos, como el fantástico Arduino de código abierto ...
- Una mirada más cercana a la estructura de una aplicación Arduino y el ejemplo del programa Parpadeo Primeros pasos con Arduino: Una mirada más cercana a la placa de circuito y la estructura de un programa Primeros pasos con Arduino: Una mirada más cercana a la placa de circuito y la estructura De un programa La última vez que lo dejé configuró su Arduino para que funcione con Mac o Windows, y cargué una aplicación de prueba simple que parpadeó en el LED incorporado. Hoy voy a explicar el código ...
Para este proyecto, necesitará al menos 8 o 9 LED 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é hace poco y que aparece en este tutorial, ofrece una excelente relación calidad-precio y tiene más LED y resistencias de las que necesitará, además de venir con una placa ordenada y un estuche Arduino para guardar las cosas. ordenado.
Aquí está lo último:
Y un video de ella en acción.
Aquí hay una vista del cableado de Fritzing. Es muy básico: solo 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 cómo podría escribir en 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, BAJO); retraso (100); digitalWrite (led2, ALTO); // etc
Debería poder ver que con 9 LED, esto se cansará rápidamente. La respuesta está en Matrices, 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 proviene su homónimo , Pensé que es hora de que revisemos los conceptos básicos absolutos de la programación de una manera no específica del lenguaje. Esto ... son básicamente solo listas.
La sintaxis se ve así (coloque esto como la primera línea en su código):
int leds [] = 2,3,4,5,6,7,8,9,10;
Los corchetes indican que los? Leds? variable va a ser una Formación. Las llaves encierran la lista de números de pin que contendrá nuestra matriz.
Ahora, para usar una matriz, debemos abordarla 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 dentro de él (entonces con 9 ítems, el último tendría un índice de 8).
Lo escribes así:
leds [0]
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? Excelente. Sin embargo, eso por sí solo no es suficiente para nosotros: también necesitamos alguna forma de iterar sobre cada elemento de nuestra matriz de LED. Para eso, utilizaremos un en bucle. La sintaxis para hacer eso es así:
for (variable inicial; condición bajo la cual repetimos nuevamente; cambiar a variable cada iteración)
Por ejemplo:
para (int i = 0; i<9; i++)
Que dice
- comenzar este ciclo con una variable, yo, que tiene un valor de cero
- continuar bucle solo mientras estoy menos de 9?(entonces: 0,1,2,3,4,5,6,7,8)
- cada vez, agregue 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.
Usaremos esta estructura dos veces para comenzar. Una vez dentro de la función de configuración para que todos nuestros pines pasen al modo de salida, así:
configuración nula () 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 que se repita 9 veces, cada vez configurando 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 del proyecto de hoy desde aquí si prefiere no volver a escribirlo (aunque lo animo, ya que ayuda al proceso de aprendizaje).
Bien, ahora tenemos una secuencia de iluminación bastante aburrida. Programemos otro. Solo por diversión, hagámoslo completamente al azar. Reemplace el código del bucle principal con esto:
void loop () int randomLed = random (0,8); digitalWrite (leds [randomLed], HIGH); retraso (50); randomLed = random (0,8); digitalWrite (leds [randomLed], LOW);
En lugar de utilizar un bucle 'for' para iterar sobre cada LED, elegimos un número aleatorio de 0-9 y lo activamos.
Lo dejaré allí por hoy, ya que ahora debería estar armado con suficiente conocimiento para programar todas las secuencias nuevas y experimentar con bucles. 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, dado solo el código y las lecciones que has tenido hasta ahora. A ella se le ocurrió esto, así que mira si puedes igualar eso para la tarea!
Preguntas, sugerencias, problemas: póngase en contacto en los comentarios.