2022-11-04 16:30:35 +01:00
|
|
|
from microbit import uart, sleep
|
|
|
|
from microbit import *
|
2022-11-04 19:37:55 +01:00
|
|
|
import radio
|
2022-11-04 16:30:35 +01:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
# rp_twins_maqueen-relay.py
|
|
|
|
# @title: Jumeau Maqueen : Programme de la carte microbit du relai
|
|
|
|
# @project: Ropy (Blender-EduTech)
|
|
|
|
# @lang: fr
|
|
|
|
# @authors: Philippe Roy <philippe.roy@ac-grenoble.fr>
|
|
|
|
# @copyright: Copyright (C) 2022 Philippe Roy
|
|
|
|
# @license: GNU GPL
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
# Initialisation
|
|
|
|
###############################################################################
|
|
|
|
|
2022-11-04 19:37:55 +01:00
|
|
|
attente_image = Image("00000:00000:00900:00000:00000")
|
|
|
|
balise_image = Image("00300:03630:36963:03630:00300")
|
|
|
|
display.show(attente_image) # Témoin de fonctionnement
|
2022-11-04 16:30:35 +01:00
|
|
|
# display.scroll("Maqueen manette")
|
|
|
|
radio.config(group=1)
|
|
|
|
radio.on()
|
|
|
|
|
|
|
|
uart.init(baudrate= 115200) # Initialisation du port série
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
# Écoute du port série en relayage vers la radio
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
while True:
|
|
|
|
|
2022-11-04 19:37:55 +01:00
|
|
|
display.show(attente_image) # Témoin de fonctionnement
|
|
|
|
|
2022-11-04 16:30:35 +01:00
|
|
|
while not uart.any(): # Attente d'un message
|
2022-11-04 19:37:55 +01:00
|
|
|
pass
|
|
|
|
|
|
|
|
# display.scroll('ok : ') # Réception d'une message
|
|
|
|
msg = uart.readline()
|
|
|
|
# display.scroll(msg[:-1]) # Affichage du message texte sans le '/n'
|
|
|
|
# display.scroll(str(msg[0])+" "+str(msg[1])) # Affichage du message en code ASCII
|
|
|
|
|
|
|
|
# Avancer : AV
|
|
|
|
if msg[0] ==65 and msg[1] ==86 : # 65 (A) puis 86 (V)
|
|
|
|
display.show(Image.ARROW_N)
|
|
|
|
|
|
|
|
# Reculer : RE
|
|
|
|
if msg[0] ==82 and msg[1] ==69 : # 82 (R) puis 69 (E)
|
|
|
|
display.show(Image.ARROW_S)
|
|
|
|
|
|
|
|
# Gauche : GA
|
|
|
|
if msg[0] ==71 and msg[1] ==65 : # 71 (G) puis 65 (A)
|
|
|
|
display.show(Image.ARROW_W)
|
|
|
|
|
|
|
|
# Droite : DR
|
|
|
|
if msg[0] ==68 and msg[1] ==69 : # 82 (D) puis 82 (R)
|
|
|
|
display.show(Image.ARROW_E)
|
|
|
|
|
|
|
|
# Marquer : MA
|
|
|
|
if msg[0] ==77 and msg[1] ==65 : # 77 (M) puis 65 (A)
|
|
|
|
display.show(balise_image)
|
|
|
|
|
|
|
|
# Forer : FO
|
|
|
|
if msg[0] ==70 and msg[1] ==79 : # 70 (F) puis 79 (O)
|
|
|
|
display.show(Image.DIAMOND)
|
|
|
|
|
|
|
|
# Colision : CO
|
|
|
|
if msg[0] ==67 and msg[1] ==79 : # 67 (C) puis 79 (O)
|
|
|
|
display.show(Image.SKULL)
|
|
|
|
|
2022-11-04 16:30:35 +01:00
|
|
|
sleep(400)
|