Le module KY-006 Passive Buzzer est un composant simple mais polyvalent, utilisé pour générer des sons ou des tonalités. Sur une Raspberry Pi Pico en MicroPython, vous pouvez l'utiliser pour créer différentes tonalités. Voici un exemple de code qui illustre comment utiliser le KY-006 pour générer une série de notes musicales.
S (Signal) du KY-006 à une broche GPIO capable de PWM (par exemple GPIO15).- (GND) à une broche GND de la Pico.+ (VCC) du KY-006 n'est pas utilisée dans ce cas, car le buzzer est passif et est piloté directement par le signal PWM.from machine import Pin, PWM
import utime
# Initialisation du buzzer
buzzer = PWM(Pin(15))
# Fréquences pour quelques notes simples
notes = {
'C': 262, 'D': 294, 'E': 330, 'F': 349, 'G': 392, 'A': 440, 'B': 494,
'C5': 523, 'D5': 587, 'E5': 659, 'F5': 698, 'G5': 784, 'A5': 880, 'B5': 988
}
def play_tone(freq, duration):
buzzer.duty_u16(1000) # Volume réglable: valeur entre 0 et 65535
buzzer.freq(freq) # Réglage de la fréquence pour la note
utime.sleep(duration) # Jouer la note pour la durée spécifiée
buzzer.duty_u16(0) # Arrêter de jouer la note
# Jouer une séquence de notes
for note, freq in notes.items():
play_tone(freq, 0.5) # Jouer chaque note pendant 0.5 seconde
utime.sleep(0.5) # Pause entre les notes
# Arrêter le buzzer
buzzer.deinit()
notes est défini avec les fréquences correspondant à quelques notes musicales de base.play_tone prend une fréquence et une durée, générant un son de cette fréquence pendant la durée spécifiée.notes.buzzer.duty_u16(1000) définit le volume du son (modifiez cette valeur pour changer le volume).buzzer.deinit().Ce code est un excellent exemple pour enseigner les bases de la génération de son et la modulation de largeur d'impulsion (PWM) en MicroPython.