Introducción
¿Cuántas veces has escuchado una canción - en la radio, durante una película, o en un concierto - y pensado a "Ojalá que pudiera jugar que el hombre"? Ahora usted puede! Este proyecto le permite aprender una canción Nota por nota en el piano por encendido luces adecuadas que corresponden a cada tecla individual en el piano. De hecho, incluso si no tienes un piano pero tiene un pequeño teclado electrónico, puede personalizarlo para eso. Algunos teclados electrónicos tienen llaves enciende sólo con este fin, pero hacerlo en un piano de verdad es mucho más satisfactorio. Divertirse y aprender algunas canciones!
Los tres componentes principales de este proyecto (como muchos) son:
1) software
2) hardware (no electrónico)
3) electrónica y cableado
Aunque son partes del proyecto, en realidad usted estará con frecuencia trabajando en más de uno en uno simplemente porque cómo usted decide hacer una parte afecta a lo que vas a hacer otro. Bueno haciendo en paralelo, sin embargo, es que mantenga el panorama en mente y si te cansas de escribir código, usted puede diseñar sus piezas de acrílico, y si estás cansado de la computadora en conjunto puede conectar algunos LEDs y resistencias y pasar un buen rato con eso. Las partes están en un orden específico en el Instructable, pero cómo depende de usted.
Resumen conceptual
La gran pregunta cuando empecé fue "¿Cómo diablos individualmente controlas 88 LEDs ¡" Afortunadamente, después de algunas investigaciones, que encontré algunos chips diseñados para hacer precisamente eso y algunos tutoriales de Arduino y código que ayudaron en el camino. Aparte de esa pregunta, todo lo demás fue bastante sencillo o al menos sólo me a elegir entre varias opciones - Qué requiere hacer la tira fuera, cómo llevar a cabo los LEDs en su lugar, cómo escribir el código para hacer de todo correr y así sucesivamente. Hablemos sobre la gran pregunta en profundidad un poco más para que tengas una idea de cómo funciona todo antes de comenzar.
Las fichas que tengo son matriz de LED (display de 7 segmentos) conductores, que significa que en cuanto al chip, tenemos nuestro LED cableado como si están en una cuadrícula, con un cierto número de filas y columnas - los terminales positivos son comunes en cada columna, y los terminales negativos son comunes en cada fila. Esto permite 64 LED (en una cuadrícula de 8 x 8) a ser controlados por cada chip y sólo requiere tres entradas de control (esa es la derecha tres!!!!!!). No importa qué o cuántos de los LEDs quiere encender, el sistema puede manejar.
¿Pero espere, si quieres encender LEDs (1,1) y (2,2), no que también enciende (1,2) y (2,1), porque para alcanzar la meta original de 1-2 filas y columnas 1-2 tendría que ser en? Esto es donde el reloj dentro de la viruta viene en los LEDs no están realmente en continuamente. Por el contrario, está parpadeando tan rápido que el ojo humano les observa como continuamente en. Esto es cómo no deseados LEDs puede permanecer apagado!
Así que aunque vemos la tira sólo una línea de LEDs, está cableados como si están en dos matrices cuadradas - un 8 x 8 (primero de la viruta) y un 5 x 5 (segundo de la viruta), que agrega hasta 89 teclas (la final de "fila" de la matriz de 5 x 5 sólo tiene 4 LEDs, por lo que nos lleva hasta 88). Voila!
¿Cómo saber el chip que LEDs se prendan? Ha todo hecho usando números binarios. Usando algún código tomado de desarrolladores en línea (véase el código de la atribución), creó el programa de tal manera que todo lo que tienes que hacer al traducir una canción es llamar el comando playKey(...). Esto juega el dada tecla, empezando con 1 el de la izquierda y terminando con 88 a la derecha. Este comando toma el número de clave y lo traduce para que los chips pueden cumplir con su deber haciendo lo siguiente: el número de clave se traduce en un número de fila y columna, que luego se traduce en un número de fila y un número binario que representa que el LED debe estar encendido (leer desde la izquierda, no el derecho). Por ejemplo, si llamo a playKey(13), que es A, las funciones traducen esto como la fila 2, columna 5; entonces desde 2 ^ 5 es 32, que sería el número que va al chip. Leyendo de izquierda a derecha, 32 es 00000100, que representa el estado de la segunda fila. El mismo concepto se aplica cuando tratamos con iluminación por LEDs múltiples - se trata de números binarios. Consulte el código para las funciones exactas y un poco más la explicación.
Por último, hay un potenciómetro conectado a él para controlar el tempo - algo realmente, realmente importante cuando no tienes idea lo que estás haciendo...
Nota: Esto no fue un Instructable fácil escribir debido a lo complicado que es juntar todo y hacer que todo funcione. No dude en avisarme si algo confuso o poco claro, o si usted tiene preguntas específicas.
Vamos a empezar!