Makerspace, NLT, Techniek

Piano Arduino

Inleiding

Wij hebben tijdens onze lessen van NLT een piano gebouwd op de Arduino. In het begin moesten wij er een beetje achter komen hoe het in elkaar zat met de code maar daarna ging het wel. Het heeft 6 tonen waarmee je wat leuke liedjes kan spelen.

Hoe zet je de arduino in elkaar?

Benodigdheden:

  • 1 Arduino bord
  • 1 Computer met Arduino programma
  • 6 buttons
  • 6 10KΩ weerstand
  • 15 Mannetje-Mannetje draadjes
  • 2 Mannetje-Vrouwtje draadjes
  • 1 Buzzer
  • Connectdraad voor PC <==>Arduino

De opstelling:

 

De Code:

const int knop1 = 2;        // knop 1 is aangesloten op pin 2
const int knop2 = 3;        // knop 1 is aangesloten op pin 2
const int knop3 = 4;        // knop 1 is aangesloten op pin 2
const int knop4 = 5;        // knop 1 is aangesloten op pin 2
const int knop5 = 6;        // knop 1 is aangesloten op pin 2
const int knop6 = 7;        // knop 1 is aangesloten op pin 2
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
const int toon3 = 329;      // de toon die hoort bij de noot E4
const int toon4 = 349;      // de toon die hoort bij de noot F4
const int toon5 = 392;      // de toon die hoort bij de noot G4
const int toon6 = 440;      // de toon die hoort bij de noot A4
const int toon7 = 493;      // de toon die hoort bij de noot B4

int toestandknop1 = 0;      // de waarde van knop 1
int toestandknop2 = 0;      // de waarde van knop 2
int toestandknop3 = 0;      // de waarde van knop 3
int toestandknop4 = 0;      // de waarde van knop 4
int toestandknop5 = 0;      // de waarde van knop 5
int toestandknop6 = 0;      // de waarde van knop 6

/*
Het programmablok void setup wordt eenmaal beschreven
*/
void setup() {
pinMode(knop1, INPUT);      // knop1 is een input
pinMode(knop2, INPUT);      // knop2 is een input
pinMode(knop3, INPUT);      // knop2 is een input
pinMode(knop4, INPUT);      // knop2 is een input
pinMode(knop5, INPUT);      // knop2 is een input
pinMode(knop6, 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 knop2
toestandknop3 = digitalRead(knop3); // lees toestand knop3
toestandknop4 = digitalRead(knop4); // lees toestand knop4
toestandknop5 = digitalRead(knop5); // lees toestand knop5
toestandknop6 = digitalRead(knop6); // lees toestand knop6
if (toestandknop1 == HIGH) {
tone(speaker, toon1);             // toon 1 klinkt bij knop1
}
else if (toestandknop2 == HIGH) {
tone(speaker, toon2);             // toon 2 klinkt bij knop2
}
else if (toestandknop3 == HIGH) {
tone(speaker, toon3);             // toon 3 klinkt bij knop3
}
else if (toestandknop4 == HIGH) {
tone(speaker, toon4);             // toon 4 klinkt bij knop4
}
else if (toestandknop5 == HIGH) {
tone(speaker, toon5);             // toon 5 klinkt bij knop5
}
else if (toestandknop6 == HIGH) {
tone(speaker, toon6);             // toon 6 klinkt bij knop6
}   else {
noTone(speaker);                  // geen toon zonder knop ingedrukt
}
}

 

Tips:

  • Als iets niet lukt of werkt probeer dan te kijken of het materiaal wat je gebruikt of dat nog wel goed is en niet kapot.
  • Zorg als je de code van boven copied dat je dan wel eerst alle begin code in het Arduino program weghaalt.

Hopelijk lukt het je om de piano te maken!!! Veel plezier en geluk!!

Bronnen:

Gemaakt door: Guy Veenhof en Jimmy van der Wilt

Leave a Reply