In de les Sparki maakt geluiden heb je geleerd dat je met de opdracht sparki.beep();
geluiden kan maken.
Tussen de haakjes kun je dan de toonhoogte aangeven in Herz. Bijvoorbeeld sparki.beep(440);
geeft een A noot.
In deze les gaan we voor de toonhoogte een variabele gebruiken. We gebruiken een variabele, deze noemen we bijvoorbeeld
noot
,en deze is van het datatype int
, (gehele getallen).
In de les over de Ultrasone sensor heb je geleerd dat je met de opdracht sparki.ping();
de afstand krijgt tot een object. Deze afstand gaan
we gebruiken voor de toonhoogte van de noot
. Dus als de afstand veranderd dan veranderd ook de toonhoogte. Het muziekinstrument wat we hiermee maken
heet een Theremin.
Kijk hieronder naar een voorbeeld van het programma. Kopieer en plak het in je SparkiDuino Sketch en probeer het uit.
#include <sparki.h> void setup() { } void loop() { int noot = sparki.ping(); // meet de afstand if ( noot != -1 ) // om foutmeldingen te voorkomen { sparki.beep(noot*10); // afhangkelijk van de afstand wordt een toonhoogte gespeeld } if ( noot > 100 ) // als de afstand te groot wordt: zet de toon uit { sparki.noBeep(); } delay(10); }