martes, 4 de febrero de 2014

Órgano electrónico con arduino

Hacer un órgano electrónico con arduino es muy fácil, se puede hacer solo con un "Arduino uno", en el que deberemos asignar a cada nota un pulsador y un led para indicar cuando se acciona o también se puede utilizar una Tarjeta LKM 1638 en el que podremos indicar el nombre de la nota también.

En este caso lo he hecho con una tarjeta 1638:


La programación es simple, lo primero que hay que hacer siempre que se quiera trabajar con la tarjeta 1638 es incluir la librería:

#include <TM1638.h>


e indicarle que patillas de nuestro arduino vamos a conectar con la tarjeta, sin olvidar de llevar gnd y vcc:
TM1638 module (8, 9, 7); 
7=strobe.
8=entrada y salida de datos.
9=CLK.
 
Para hacer lo que son las notas, "debemos definirlas":
#define d1 1915
#define re 1700
Así con todas las notas, teniendo en cuenta que hay un "do mayor", por eso a uno lo definiremos como d1 y al otro como d2, el número que va detrás es la frecuencia de cada nota.

También definimos la duración de cada una de ellas, en este caso una "negra":
#define negra 400

La salida de nuestro arduino para el altavoz será la 11 (se le puede asignar cualquiera):
int altavoz = 11;



Después de declarar las notas, las entradas y sus tiempos, pasamos al programa en sí.
Si  se acciona el pulsador "X" , (en este caso el primero):
if (module.getButtons()==0b00000001){

Tiene que sonar el "do" en la salida del altavoz, con la duración de una negra:
 tone (altavoz, d1,negra); 

En el display se tiene que escribir "do":
module.setDisplayToString ("do",0,0);

Y cuando pasen 200 ms se borre:
 delay (200);
       module.clearDisplay();
      }


Habrá que hacer lo mismo con las demás notas:
Y así es como se hace un órgano (teclado) musical con Arduino y una tarjeta 1638.

No hay comentarios:

Publicar un comentario