main definitiu
compactat i afegit so en cas d'error
from microbit import *
import radio
import music
# inicialització i activació de la ràdio:
radio.config (group=23, channel=50, power=7, queue=20, length=32)
radio.on()
def esperar_go():
display.clear() # assegurem que la pantalla comença apagada
while True:
pkt = radio.receive_full() # (bytes, rssi, timestamp) o None
if pkt: # si es reb paquet per ràdio ...
data = pkt[0] # extreu els bytes del paquet
if data and (b"XGO:GO" in data): # si s'ha rebut XGO:GO ...
for y in range(5):
display.set_pixel(0, y, 9) # encen la 1a columna (lluentor màxima)
sleep(300)
return # return surt de la funció i continua l'execució del programa
sleep(30)
while True:
esperar_go() # espera activació (missatge de ràdio)
try: # importa mòduls només quan GO activat (xgo conté la inicialització de l'UART)
import xgo # driver del robot
import test # programa d'execució
xgo.inicialitzar(0xA0) # inicialitza el robot
test.executar() # i executa test
except Exception as e: # si hi ha algun error ...
music.pitch(1000, 200) # bip curt d'error (freqüència, durada)
display.clear() # apaga la pantalla
sleep(200) # torna al mode espera (i requereix un altre GO)