Paso 1: Altavoces piezoeléctricos
Un altavoz piezoeléctrico, o por lo menos el que estoy usando, es un tipo de altavoz que tiene un elemento piezoeléctrico pequeño en su interior. Un elemento piezoeléctrico es un tipo de material que produce una tensión cuando se aprieta o doblado. Por el contrario, también puede causar el elemento para doblarse cuando se aplica voltaje a través del material.
Con esto en mente, podemos enviar las señales digitales en forma de una onda cuadrada a una frecuencia de conjunto para hacer nuestro material vibrar en esa frecuencia y producir una onda de sonido que podemos escuchar.
Usando esta técnica, podemos crear una matriz musical (retruécano previsto) de los sonidos jugando frecuencias en conoce las frecuencias con un ciclo de deber del 50%.
A continuación se proporciona una función de código de ejemplo (en un formato de "arduino") que desempeña una frecuencia proporcionada por una cantidad de tiempo en este estilo:
{} void playFreq (doble freqHz, int durationMs) hora de salida de almacén (millis() - startTime) es transcurrido tiempo juego
Calcular el tiempo en microsegundos
int periodMicro = int((1/freqHz)*1000000);
int halfPeriod = periodMicro/2;
int startTime = millis();
while((Millis() - startTime) < durationMs) {}
digitalWrite (buzzerPin, HIGH);
delayMicroseconds(halfPeriod);
digitalWrite (buzzerPin, bajo);
delayMicroseconds(halfPeriod);
} //end de mientras lazo
}