import RPi.GPIO as GPIO
import time
# Configuration de la broche du buzzer
buzzer_pin = 17 # Remplacez par le numéro de la broche GPIO à laquelle le buzzer est connecté
# Configuration initiale de la GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(buzzer_pin, GPIO.OUT)
# Dictionnaire des fréquences des notes
notes = {
'C': 261.63,
'D': 293.66,
'E': 329.63,
'F': 349.23,
'G': 392.00,
'A': 440.00,
'B': 493.88,
'C_high': 523.25,
}
# Fonction pour jouer une note
def jouer_note(note, duree):
if note == ' ':
time.sleep(duree)
else:
GPIO.output(buzzer_pin, GPIO.HIGH)
time.sleep(duree)
GPIO.output(buzzer_pin, GPIO.LOW)
# Fonction pour jouer une mélodie
def jouer_melodie(melodie):
for note, duree in melodie:
jouer_note(note, duree)
try:
# Jouer la mélodie
melodie_exemple = [
('E', 0.5),
('D', 0.5),
('C', 0.5),
('D', 0.5),
('E', 0.5),
('E', 0.5),
('E', 0.5),
('D', 0.5),
('D', 0.5),
('D', 0.5),
('E', 0.5),
('E', 0.5),
('E', 0.5),
('E', 0.5),
('D', 0.5),
('C', 0.5),
('D', 0.5),
('E', 0.5),
('E', 0.5),
('E', 0.5),
('E', 0.5),
('D', 0.5),
('D', 0.5),
('E', 0.5),
('D', 0.5),
('C', 0.5),
]
jouer_melodie(melodie_exemple)
except KeyboardInterrupt:
pass
finally:
# Nettoyer les ressources GPIO
GPIO.cleanup()