musique.py
La V2 tiene un altavoz: la librería music reproduce melodías y notas (con octava) en el altavoz interno o en la pata amplificada pin0. Botones y gestos de inclinación se vuelven teclas de juego.
Material necesario
Una BBC micro:bit V2 (nRF52833, matriz LED 5×5, botones A/B, acelerómetro + brújula, micrófono y altavoz) alimentada por USB o pila. Opcional: mini-altavoz de 8 Ω o zumbador en pin0 y GND para sonido externo.
Cableado
Altavoz entre pin0 (salida amplificada) y GND. El altavoz interno no necesita nada.
Funcionamiento
music.play acepta una lista de notas tipo LA:200 (un la de 200 ms); wait bloquea hasta el final. Los gestos tilt up/down disparan una nota, como un xilófono inclinado.
Ejecución
Abre python.microbit.org, pega el programa MicroPython y envíalo a la placa (la micro:bit aparece como unidad MICROBIT). Pulsa reset para relanzar.
Variantes
Compón un aire completo con music.play(list, loop=True), o toca una escala con el potenciómetro del script servo.
musique.py
# Melodies et notes sur le haut-parleur de la micro:bit V2.
from microbit import *
import music
# 'dea' = theme simplifie ; la V2 possede un haut-parleur annexe.
melodie = ['C4:100', 'E4:100', 'G4:100', 'C5:200',
'G4:100', 'E4:100', 'C4:300']
display.show(Image.MUSIC)
sleep(600)
music.play(melodie, pin=pin0, wait=True, loop=False)
# Joue aussi sur le haut-parleur integre (pin par defaut).
while True:
if button_a.was_pressed():
music.play(music.DING)
if button_b.was_pressed():
music.play(music.GHOST)
# Incliner vers le haut : do ; vers le bas : sol.
if accelerometer.is_gesture('tilt up'):
music.play(['C4'], pin=pin0)
if accelerometer.is_gesture('tilt down'):
music.play(['G4'], pin=pin0)
sleep(20)
# Pin0 = sortie amplifiee du bord de carte : buzzer ou mini-HP.
# reset() arrete toute musique en cours.