Buzzer
Le buzzer d'Eliobot est un buzzer passif, il peut donc émettre des sons sur une grande plage de fréquence un peu comme les vieux téléphones.
Utilisation avec Elioblocs
Pour utiliser le buzzer d'Eliobot sur Elioblocs, on utilise les blocs de la catégorie pour jouer un son.
Utilisation avec Python
Pour jouer des notes en Python, on utilise la broche IO17 comme une sortie PWM pour être capable de reproduire la fréquence désirée.
Pour jouer une musique, il suffit alors de répéter les fréquences désirées comme dans une partition.
Exemples associés
Exemple Elioblocs
Ici, on joue la note Do pendant 1 seconde et on recommence à l'infini.
Exemple Python
Avec la librairie elio.py
import board
import pwmio
from elio import Buzzer
buzzer_pin = pwmio.PWMOut(board.IO17, variable_frequency=True)
buzzer = Buzzer(buzzer_pin)
NOTES = {
"Do": 262,
"silence": 0.1,
}
while True:
buzzer.play_note("Do", 1, NOTES, 80) # Joue Do pendant 1 seconde
buzzer.play_note("silence", 1, NOTES, 0) # Pause d'1 seconde
Ici, on joue la note Do pendant 1 seconde et on recommence à l'infini.
Sans la librairie elio.py
import board
import pwmio
import time
buzzer = pwmio.PWMOut(board.IO17, variable_frequency=True)
while True:
buzzer.frequency = 262 # Fréquence de la note Do
buzzer.duty_cycle = 32768 # 50% duty cycle pour émettre le son
time.sleep(1)
buzzer.duty_cycle = 0 # Arrête le son
time.sleep(1)
Même principe, mais en contrôlant directement la fréquence et le duty cycle du PWM.