Curso de Arduino y Robótica para automatizar tus inventos
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.
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
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
Copyright © 2015 - Todos los derechos reservados - Arduino Inventor
Plantilla : OS Templates