🛠 Communication entre deux micro:bit avec le module radio
Objetivos
Hacer que dos tarjetas micro:bit V2 se comuniquen sin cables mediante el módulo radio de MicroPython, que utiliza la radio BLE de 2,4 GHz del nRF52833 (SoftDevice S113). Enviarás mensajes cifrados por grupo entre varias tarjetas.
Material
- 2 tarjetas micro:bit V2 (o más)
- 1 cable micro-USB para flashear cada tarjeta
- No se requiere router ni emparejamiento: todo está integrado
Código completo
# Émetteur (carte 1)
from microbit import *
import radio
radio.on
radio.config(group=23, channel=40, power=6)
while True:
if button_a.was_pressed:
radio.send("SOS")
display.show(Image.HAPPY)
if button_b.was_pressed:
radio.send("COUCOU")
display.show(Image.SILLY)
sleep(50)
# Récepteur (carte 2)
from microbit import *
import radio
radio.on
radio.config(group=23, channel=40, power=6)
while True:
msg = radio.receive
if msg == "SOS":
display.show(Image.SAD)
sleep(1000)
elif msg == "COUCOU":
display.show(Image.HEART)
sleep(1000)
display.clear
sleep(50)
group filtra los destinatarios, channel (0-83) fija el canal de 2,4 GHz y power (0-7) la potencia de emisión. Los mensajes son tramas pequeñas; el módulo está diseñado para juegos y redes multi-tarjeta (consulta el tutorial oficial «Fireflies»).
Verificación esperada
Pulsar A en la tarjeta 1: la tarjeta 2 muestra una cara triste; pulsar B: un corazón. Dos tarjetas flasheadas con el mismo código reaccionan entre sí a varios metros de distancia.
Errores frecuentes
- Olvidar
radio.on:sendno hace nada silenciosamente. - Grupos o canales diferentes entre emisor y receptor: no hay recepción.
- Mensajes demasiado largos o binarios no admitidos: quédate con cadenas cortas.
- Interferencias Wi-Fi en el canal elegido: cambia
channelsi se pierden las tramas.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
coeur.pyMicroPythonboutons.pyMicroPythonpodometre.pyMicroPythonlumiere.pyMicroPythonmusique.pyMicroPythonradio_ping.pyMicroPython