Puedes utilizar el piezoeléctrico para hacer un sonido básico con Arduino. Aquí utilizamos la librería Melody para reproducir una pieza musical, de una lista de notas y duraciones.
Materiales
- 1 placa Arduino Uno
- 1 shield Básica Educativa
- 1 piezo
- 2 cables (rojo y negro)
Instrucciones
- Conecta el cable rojo de tu piezo al Pin digital 8 y el cable negro a tierra (GND).
- Abre Archivo -> Ejemplo -> BasicEducationShield -> Help -> Melody.
/* Melody */ #include <BasicEducationShield.h> #include "pitches.h" //8 is the pin the piezo is connected to. Melody me=Melody(8); void setup(){ } void loop(){ //Defining the notes used in the music. No more than 30. int notes[] = { NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4}; //Duration of each note. should be corresponding to the notes above. int noteDurations[] = { 4, 8, 8, 4,4,4,4,4 }; //Play the notes defined above me.play(8,notes,noteDurations,1.4); delay(3000); //Make a beep sound me.beep(); delay(3000); }
Carga el código. Ahora el piezo debería tocar una pequeña melodía, quedarse en silencio durante 3 segundos, y luego emitir un pitido corto.
Para cambiar la melodía, tienes que cambiar las notas y la duración de las notas. La línea que define las notas utilizadas en el código de Melody es: int notes [] = {NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4}
Para cambiar una nota, reemplázala con una nota establecida en el fichero pitches.h que acompaña al programa (verás que el programa tiene dos tabs, uno es el programa en sí mismo, el otro es el fichero mencionado).
Puedes añadir hasta 30 notas por melodía. No te olvides de colocar una coma entre cada nota. Si deseas que el piezo se quede en silencio en una notas, solo tienes que escribir “0″.
Al mismo tiempo, cada nota tiene una duración. Estas duraciones se definen en la línea: int noteDurations [] = {4, 8, 8, 4,4,4,4,4}
. 4 es la duración de una nota negra, 8 una corchea, 16 semi-corchea, 2 una blanca y 1 una redonda.
Cada número corresponde a una nota. NOTE_C4 es una negra (4 unidades de tiempo de duración), NOTE_G3 es una corchea, NOTE_G3 otra corchera etc. Tiene que haber tantas duraciones como notas. Es decir, los dos arrays tienen que ser de la misma longitud.
La melodía se toca con esta línea de código: me.play (8, notes, noteDurations, 1,4)
, 8
: Es el número de notas. Si agregas notas a la melodía, este número debe ser cambiado para que coincida con el número de notas, notes
son las notas de la melodía, noteDuration
son las duraciones de las notas, 1,4
es la velocidad. Prueba a cambiar el último número para ver lo que ocurre con la melodía.
Si quieres escribir tu propio programa y utilizar las notas, asegúrete de incluir un tab con pitches.h en tu programa (equivale a copiar el fichero pitches.h dentro de la carpeta donde esté tu programa), y de poner # include "pitches.h"
al comienzo de tu programa.
¿No funciona?
- Asegúrate de que el piezo está bien conectado al pin digital y a tierra (GND).
- Asegúrate de que hayas conectado el piezo al mismo pin que dice en el código.