Buzzer Code Uitleg
Wat is een Buzzer?
Een buzzer is een klein elektronisch apparaatje dat geluid kan maken. Op onze robot geniet de buzzer ervan om verschillende tonen af te spelen — hoge tonen, lage tonen, snel, langzaam. Het is als een kleine luidspreker!
Wat doet deze code?
Deze code laat de buzzer op de Pico geluid maken. Het is zoals een klein muziekinstrument dat verschillende tonen kan afspelen — precies volgens de opgegeven frequenties en duur. Met deze code kun je:
Verschillende tonen afspelen
Muziek componeren
Signalen maken (piep, geluid)
Stap-voor-stap uitleg
from machine import Pin, PWM
import time
Wat gebeurt hier?
from machine import Pin, PWM— We halen twee gereedschappen, Pin en PWM. Pin is om contact te maken met de buzzer. PWM is om de buzzer met verschillende sterkte aan en uit te schakelen (zoals dimmen doe je met een lamp).import time— Dit laadt het time-gereedschap zodat we kunnen zeggen: “wacht even” (mettime.sleep)
Stap 1: Buzzer voorbereiding
BZ = PWM(Pin(22))
Wat gebeurt hier?
We maken verbinding met Pin 22 (dit is waar de buzzer op aangesloten is)
PWMmaakt er een “geluidsmachine” van — iets wat we kunnen aan en uit zetten
Stap 2: Standaard geluidshoogte instellen
BZ.freq(1000)
Wat gebeurt hier?
freq(1000)betekent: de frequentie (pitch/hoogte) is 1000 HzDit is ongeveer een middelste toon — niet heel hoog, niet heel laag
(Hogere getallen = hogere toon, lagere getallen = lagere toon)
Stap 3: Muzieknoten definiëren
CM = [0, 330, 350, 393, 441, 495, 556, 624]
Wat gebeurt hier?
Dit is een lijst met verschillende frequenties (tonen)
CM[0] = 0— geen geluid (stil)CM[1] = 330 Hz— lage Do noteCM[2] = 350 Hz— Re noteCM[3] = 393 Hz— Mi note… en zo verder
Deze list is zoals een piano keyboard — elk getal is een ander toetje!
Stap 4: De melodie kiezen
song = [CM[1],CM[1],CM[5],CM[5],CM[6],CM[6],CM[5],CM[4],CM[4],CM[3],CM[3],CM[2],CM[2],CM[1],]
Wat gebeurt hier?
Dit is de volgorde van noten die we willen afspelen
CM[1]twee keer = “Do Do”CM[5]twee keer = “Sol Sol”We spelen deze noten na elkaar af — dit vormt een melodie!
Stap 5: Ritme instellen
beat = [ 0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,0.5,0.5,0.5,0.5,1,]
Wat gebeurt hier?
Dit bepaalt HOE LANG elke noot speelt (in seconden)
0.5= halve seconde speelt deze noot1= hele seconde speelt deze nootZo krijgt elke noot zijn eigen duur!
Stap 6: De muziekfunctie
def music():
print('Speelt liedje ...')
for i in range(len(song)):
BZ.duty_u16(500) # Zet buzzer aan (500 betekent: 50% kracht)
BZ.freq(song[i]) # Speel noot nummer i
time.sleep(beat[i]) # Wacht zo lang als de beat aangeeft
BZ.duty_u16(0) # Zet buzzer uit (pauze)
time.sleep(0.01) # Kleine pauze van 0.01 seconde tussen noten
Wat gebeurt hier?
Dit is ons “recept” om muziek af te spelen
We gaan door alle noten (de loop
for i in range(len(song)))Voor elke noot:
Zet buzzer aan
Stel frequentie in (welke noot speelt)
Wacht zo lang als de beat aangeeft
Zet buzzer uit (pauze)
Wacht heel kort
Stap 7: Muziek afspelen
music()
print("Einde")
Wat gebeurt hier?
music()— We voeren onze muziekfunctie uit = het lied begint!print("Einde")— Na afloop print het “Einde”
Samengevat
Voorbereiding — We maken verbinding met pin 22 waar de buzzer zit
Tonen definiëren — We zeggen wat de frequenties zijn (Do, Re, Mi…)
Volgorde bepalen — We zeggen welke noten we willen spelen
Ritme toevoegen — We zeggen hoe lang elke noot moet spelen
Afspelen — We voeren de musik() functie uit
De robot laat de buzzer verschillende tonen afspelen volgens de opgegeven frequenties en duur — zo kun je muziek maken met de buzzer!