De speaker of buzzer kan geprogrammeerd worden om op verschillende toonhoogte te piepen. Echt mooie muziek kan het niet maken, eerder leuke bliep geluidjes die je ook wel eens in een spelletje hoort.
Met de functie CircuitPlayground.playTone(frequency, duration_ms)
kun je een geluid laten horen. De functie geef je twee
argumenten mee: frequentie en tijdsduur.
De toonhoogte geef je aan met frequentie, dit wordt uitgedrukt in Herz. Hoe hoger de frequentie hoe hoger de piep zal zijn. Dan geef je nog de tijdsduur van de toon aan in milliseconden.
Hieronder een voorbeeld van een toonladder van laag naar hoog.
void loop(){ CircuitPlayground.playTone(261.6,500); // c CircuitPlayground.playTone(293.6,500); // d CircuitPlayground.playTone(329.6,500); // e CircuitPlayground.playTone(349.2,500); // f CircuitPlayground.playTone(391.9,500); // g CircuitPlayground.playTone(440, 500); // a CircuitPlayground.playTone(493.8,500); // b CircuitPlayground.playTone(523.2,500); // c }
Om een soort brandalarm geluidseffect te maken moeten we de frequentie heel snel in stapjes omhoog laten gaan. Dit gaan we doen met een for() loop. In het voorbeeld hieronder zie je dat de variabele i de waarde 440 krijgt en kleiner moet blijven dan 880 en hij gaat in stapjes van 1 omhoog: i++, dit is hetzelfde als i=i+1.
void loop(){ for(int i=440;i<=880;i++) { CircuitPlayground.playTone(i,5); } }
Hier vind je de code voor de tune van het spelletje Super Mario: Mario
Hier vind je de code voor de tune van het spelletje Tetris: Tetris
Kun je zelf een bekende melodie of tune schrijven?