Anders

Tonekeyboard op de Arduino

In deze sketch gaan we de Arduino ombouwen tot een keyboard. We beginnen met een keyboard met 2 toetsen (knoppen). De code gebruikt frequenties uit gangbare tabellen. In de code staan enkele frequenties voor een toon weergegeven.

stap 1: bouw de opstelling zoals de afbeelding hier beneden.

stap 2: kopieer de code die hieronder staat

/*
Autheur: Fun met Electronica
Link: https://training.funmetelectronica.nl/docs/arduino-basis/lessen/les-7-tonekeyboard/
Beschrijving: In deze sketch gaan we de arduino ombouwen tot een keyboard.
We beginnen met een keyboard met 2 toetsen (knoppen).
*/

const int knop1 = 2; // knop 1 is aangesloten op pin 2
const int knop2 = 3; // knop 2 is aangesloten op pin 3
const int speaker = 8; // de buzzer of speaker is aangesloten op pin 8
const int toon1 = 262; // de toon die hoort bij de noot C4
const int toon2 = 294; // de toon die hoort bij de noot D4
int toestandknop1 = 0; // de waarde van knop 1
int toestandknop2 = 0; // de waarde van knop 2

/*
Het programmablok void setup wordt eenmaal beschreven
*/
void setup() {
pinMode(knop1, INPUT); // knop1 is een input
pinMode(knop2, INPUT); // knop2 is een input
pinMode (speaker, OUTPUT); // speaker is een output
}

/*
Het programmablok void loop herhaalt zich keer op keer
*/
void loop() {
toestandknop1 = digitalRead(knop1); // lees toestand knop1
toestandknop2 = digitalRead(knop2); // lees toestand knop1
if (toestandknop1 == HIGH) {
tone(speaker, toon1); // toon 1 klinkt bij knop1
}
else if (toestandknop2 == HIGH) {
tone(speaker, toon2); // toon 2 klinkt bij knop2
}
else {
noTone(speaker); // geen toon zonder knop ingedrukt
}
}

/*
Opdracht 1:
Maak een derde knop erbij met een nieuwe toon. De frequentie voor E4 = 330 Herz

Opdracht 2:
In plaats van knoppen gebruik een LDR.

*/

stap 3: start het Arduino programma op
stap 4: plak de code in het programma
stap 5: druk op het vinkje linksboven om te checken of de code klopt
stap 6: klopt de code? dan kan je hem uploaden naar de Arduino.

mogelijke fouten:
Als het niet wil uploaden naar het bord dan heb je mogelijk de verkeerde poort of nog geen poort
oplossing: ga naar [hulpmiddelen] [poort] en zorg dat je de goede poort hebt

de min kant van de buzzer is niet aangesloten met de min kant van het bord
oplossing: pak nog een draadje en bevestig die zoals op de afbeelding hier onder

Leave a Reply