In dit blog gaan we een tonekeyboard maken.
Bouw het onderstaande schema na.
Benodigdheden:
- Een buzzer
- 2x female-male draad
- 7x male-male draad
- 2x 10K ohm weerstand
- 2x drukknoppen
Het schema bestaat uit drie aparte stroomkringen. De drukknop1 staat in serie met de weerstand1. De drukknop2 staat in serie met de weerstand 2 en de buzzer heeft een aparte stroomkring. De weerstanden zijn ervoor om de spanning van de drukknoppen te regelen als de schakelaar niet is ingedrukt, want de arduino vindt het niet fijn als pins ‘zweven’ (als er niet duidelijk 0 (pulldown ) of 5 (Pullup) volt op staat).
/*
Tone keyboard
In deze sketch gaan we de arduino ombouwen tot een keyboard.
We beginnen met een keyboard met 2 toetsen (knoppen).
*/
#include “pitches.h” //hier worden de noten met bijbehorende frequentie beschreven
// kijk maar eens in het tabblad pitches.h, op elke regel is het laatste getal de
// frequentie van de toon.
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
//(speaker met met 100 ohm weerstand)
const int toon1 = NOTE_C4; // de toon die hoort bij de noot
const int toon2 = NOTE_D4; // de toon die hoort bij de noot
int toestandknop1 = 0; // de waarde van knop 1
int toestandknop2 = 0; // de waarde van knop 2
void setup() {
pinMode(knop1, INPUT);
pinMode(knop2, INPUT);
pinMode (speaker, OUTPUT);
}
void loop(){
toestandknop1 = digitalRead(knop1);
toestandknop2 = digitalRead(knop2);
if (toestandknop1 == HIGH) {
tone(speaker, toon1); // toon 1 klinkt nu
}
else if (toestandknop2 == HIGH) {
tone(speaker, toon2);
}
else {
noTone(speaker);
}
}
/*
Als je een keyboard met twee knoppen kan maken, kan je het ook vast met meer..
Of misschien nog leuker, vervang de toetsen door lichtsensoren.
*/
De bovenstaande code moet je invullen op de computer om het schema te laten werken.
De input van de drukknop1 is pin 2.
De input van de drukknop 2 is pin 3
De input van de buzzer is pin 8
Als de drukknop 1 ingedrukt wordt ( high ) dan gaat de buzzer aan op toon 1.
Of als de drukknop 2 ingedrukt wordt ( high) dan gaat de buzzer aan op toon 2.
Als het iets anders is dan gaat de buzzer niet aan.
Natuurlijk kan je deze code zelf aanpassen en kan je er bijvoorbeeld voor zorgen dat de buzzer aangaat op toon 1 wanneer hij niet wordt ingedrukt ( low). En dat hij weer uit gaat wanneer de knop wordt ingedrukt ( high).
Hier een foto van hoe wij de schakeling hebben gemaakt.
Leave a Reply
You must be logged in to post a comment.