Heb jij altijd al geluid of muziek willen toevoegen aan je Arduino projecten? Het is makkelijker dan je denkt!
In dit project laat ik je zien hoe je door middel van een buzzer een liedje afspeelt. We gaan de Arduino Vader Jacob laten spelen door de hertz van de buzzer aan te passen. Door het aanpassen van de frequentie kunnen we hogere en lagere tonen spelen.
De manier waarop een buzzer deze frequentie maakt is als volgt. Er zit een magneetje in de buzzer die door elektrische pulsen heen en weer gaat. Dit magneetje komt dan tegen een dun plaatje of velletje aan, dit vibreert dan op een bepaalde frequentie waardoor er geluid ontstaat.
- Niveau – Beginner 30%
- Tijdsduur – 10/15 Min 30%
- Kosten – €35,84 euro compleet 30%
Stap 1: Benodigdheden
1X Arduino UNO
1X breadboard
2X M/M jumper wires
1X Piezo buzzer
Stap 2: Bouwen en Bedraden
Stap 3: Programmeren
Om de Buzzer Vader Jacob af te laten spelen maken we een eenvoudige code.
Je hoeft alleen pin 9 te definiëren en de tonen de juiste frequentie en ritme te geven.
Daarna zet je de frequentie waardes achter elkaar met een ritme van 120 bpm (beats per minute).
Als je dat gedaan hebt en je upload de code naar je Arduino speelt hij vader Jacob af. Het is ook mogelijk om met een buzzer andere liedjes af te spelen. Als je dat wilt hoef je alleen de noten en de frequentie ervan te veranderen.
//difinitie van de pin waar de buzzer zit
const int buzzer = 9;
//hier defineren we pin 9 als output
void setup(){
pinMode(buzzer, OUTPUT);
}
//hier maken we ons liedje
void loop(){
tone(buzzer, 2093);
delay(500);
tone(buzzer, 2349);
delay(500);
tone(buzzer, 2637);
delay(500);
tone(buzzer, 2093);
delay(500);
tone(buzzer, 0);
tone(buzzer, 2093);
delay(500);
tone(buzzer, 2349);
delay(500);
tone(buzzer, 2637);
delay(500);
tone(buzzer, 2093);
delay(500);
tone(buzzer, 2637);
delay(500);
tone(buzzer, 2794);
delay(500);
tone(buzzer, 3136);
delay(1000);
tone(buzzer, 2637);
delay(500);
tone(buzzer, 2794);
delay(500);
tone(buzzer, 3136);
delay(1000);
tone(buzzer, 0);
tone(buzzer, 3136);
delay(250);
tone(buzzer, 3520);
delay(250);
tone(buzzer, 3136);
delay(250);
tone(buzzer, 2794);
delay(250);
tone(buzzer, 2637);
delay(500);
tone(buzzer, 2093);
delay(500);
tone(buzzer, 3136);
delay(250);
tone(buzzer, 3520);
delay(250);
tone(buzzer, 3136);
delay(250);
tone(buzzer, 2794);
delay(250);
tone(buzzer, 2637);
delay(500);
tone(buzzer, 2093);
delay(500);
tone(buzzer, 0);
tone(buzzer, 2093);
delay(500);
tone(buzzer, 1568);
delay(500);
tone(buzzer, 2093);
delay(1000);
tone(buzzer, 0);
tone(buzzer, 2093);
delay(500);
tone(buzzer, 1568);
delay(500);
tone(buzzer, 2093);
delay(1000);
tone(buzzer, 0);
}
Hoe kun je een 6/8 maat invoeren in Arduino?
Vader Jacob is 4/4
Hey Roel,
Door de delay te veranderen kan je het tempo aanpassen.