Wanneer we een buzzer aansluiten op onze Arduino, dan kunnen we geluidssignalen (tonen) afspelen. Er kan op een Arduino telkens maar 1 toon afgespeeld worden. Meerdere buzzers aansluiten heeft dus geen zin, en je kan ook geen akkoorden maken.
Let op: de tone() functie kan een invloed hebben op PWM-pin 3 en 11. Je kan niet lager dan 31Hz.
De schakeling op de Arduino Uno: De + pin van de buzzer sluit je aan op een digitale pin, de andere pin gaat naar GND.
De schakeling op de Brainbox: Op de Brainbox vind je al een interne buzzer. Die kan je aansturen via pin 7.
Voor een externe buzzer of kleine luidspreken wordt doorgaans pin 8 gebruikt, maar op je Brainbox of Uno kan je eigelijk alle digitale pins gebruiken.
De code: We maken vooral gebruik van de tone() functie. Die heeft drie parameters: de pin, de frequentie en de tijdsduur dat de toon moet afgespeeld worden (in duizendste van een seconde). De derde parameter (tijdsduur) hoef je niet per sé te gebruiken, je mag ook twee parameters ingeven.
Omdat de derde parameter niet altijd even goed lijkt te werken gebruiken we hier daarom maar twee parameters en gebruiken we delay() om de tijdsduur van onze toon aan te geven.
Bij de noTone() functie wordt er geen tone afgespeeld. Hier zal je ook delay() moeten gebruiken om de tijdsduur van de stilte aan te geven?
Hieronder vind je een schema met alle tonen en de bijhorende frequenties.
De interne buzzer op de Brainbox is verbonden met pin 7.