Att skapa arcade spel ljuden på en mikrokontroller (1 / 3 steg)
Steg 1: Piezoelektriska högtalare
En piezoelektrisk högtalare, eller åtminstone en som jag använder, är en typ av högtalare som har en liten piezoelement av den. Ett piezoelement är en typ av material som ger en spänning när det pressas eller böjd. Däremot kan du också orsaka elementet till krökningen sig själv när du tillämpar spänning över materialet.
Med detta i åtanke kan vi skicka digitala signaler i form av en fyrkantsvåg med en uppsättning frekvens kan orsaka vårt material att vibrera på det frekvensen och producera en ljudvåg som vi kan höra.
Med hjälp av denna teknik, kan vi skapa en musikalisk matris (pun intended) av ljud genom att spela frekvenser på kända frekvenser med intermittensfaktor 50%.
Ett exempel kodfunktion (i en "arduino" format) som spelar en medföljande frekvens för en viss tid i denna stil ges nedan:
void playFreq (double freqHz, int durationMs) { lagra starttiden (millis() - startTime) är förfluten speltid
Beräkna tid i mikrosekunder
int periodMicro = int((1/freqHz)*1000000);
int halfPeriod = periodMicro/2;
int startTime = millis();
While((Millis() - startTime) < durationMs) {
digitalWrite (buzzerPin, hög);
delayMicroseconds(halfPeriod);
digitalWrite (buzzerPin, låg);
delayMicroseconds(halfPeriod);
} //end av medan loop
}