RECURSO ARD.PIEZO.- El actuador de sonido piezoeléctrico. La función tone

El piezoeléctrico es un componente hecho a partir de la combinación de dos discos, uno metálico y otro cerámico. Al aplicar tensión al conjunto, se produce una fuerza sobre ellos produciendo un sonido en forma de chasquido. Al dejar de aplicar tensión, vuelven a su sitio.

Resultado de imagen de piezo

Podemos conseguir sonido realizando una secuencia de chasquidos muy rápido uno detrás de otro. Esto se consigue aplicando un tren de pulsos de tensión al piezo. La frecuencia es una medida de la velocidad a la que se repiten los chasquidos. Se mide en hercios.

El humano detecta estas frecuencias, y algunas de ellas las interpreta como notas musicales.

Por ejemplo, la nota DO se puede identificar aproximadamente en los 262 hercios.

La función tone se usa en arduino para hacer que esa frecuencia se presente en algun pin del micro.

Por ejemplo 

tone(8, 262);

haría que un piezo conectado al pin 8 sonase con la nota DO

Resultado de imagen de piezo


Si queremos que la nota solo dure una cierta cantidad de milisegundos, podemos poner un tercer parámetro a tone.

tone(8, 262, 100);


Podríamos hacer una tabla en la que se definieran DO, RE, MI.... junto con las frecuencias que las identifican

#define DO  262
#define DO_SOSTENIDO 277
#define RE  294
#define RE_SOSTENIDO 311
#define MI  330
#define FA  349
#define FA_SOSTENIDO 370
...

 y escribir la función tone en base a esas constantes.

tone(8, DO);

Tone(8, FA);


Existe un archivo llamado pitches.h que contiene las frecuencias que se corresponden con varias octavas, denominando a las notas musicales con letras (DO es la letra C, el 4 significa que estamos en la 4º octava).

#define NOTE_C4  262
#define NOTE_CS4 277
#define NOTE_D4  294
#define NOTE_DS4 311
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_FS4 370
#define NOTE_G4  392
#define NOTE_GS4 415
#define NOTE_A4  440
#define NOTE_AS4 466
#define NOTE_B4  494