Programmation d'une liaison carte micro:bit et PC
Rappel :
En Python, l'instruction « display.set_pixel(x, y, v) » permet d'allumer la diode de coordonnées x et y avec l'intensité v.
Créer un programme nommé programme8.py avec le logiciel Mu, l'enregistrer dans dossier "C :\travail élève" avec le code source ci-dessous que vous pouvez copier.
|
from microbit import *
#initialisation de la vitesse de transmission en baudsuart.init(baudrate=9600)
while True:
#s'il y a un message dans la file de réceptionif uart.any():
#lecture du message qui est en bytesmsg_bytes=uart.read()
#conversion en chaîne de caractères en précisant l'encodagemsg = str(msg_bytes, "utf-8")
#conversion en entier du premier caractère du message (x)x = int(msg[0])
#conversion en entier du second caractère du message (y)y = int(msg[1])
#conversion en entier du troisième caractère du message (v)v = int(msg[2])
display.set_pixel(x, y, v)
sleep(1000)
display.clear()
Créer un autre programme interface graphique.py, l'enregistrer dans le même dossier que le précédent avec le code source ci-dessous.
|
from serial import *
from tkinter import *
#port série à découvrir en ligne de commande avec modeport = "COM4"
serie = Serial(port)
#même vitesse de transmission que sur la carteserie.baudrate = 9600
def envoie_message():
msg = texte_message.get()
message_bytes = bytes(msg, "utf-8")
serie.write(message_bytes)
# Fenêtre principalema_fenetre = Tk()
ma_fenetre.title("IHM")
# Création d'un bouton pour envoyer un messagebutton_message = Button(ma_fenetre, text ="Envoyer", command = envoie_message)
#positionnement du boutonbutton_message.pack()
# Création d'un champ de saisie d'un messagetexte_message = StringVar()
champ_message = Entry(ma_fenetre, textvariable= texte_message, bg ="bisque", fg="maroon", width="20")
#on donne le focus au champ de saisiechamp_message.focus_set()
#positionnement du champchamp_message.pack()
#boucle de capture d'événementsma_fenetre.mainloop()
|
Pour arrêter l'IHM, fermer la fenêtre graphique puis cliquer sur Arrêter dans la barre de menu de Mu.
Pour aller plus loin :
Modifier le programme de la carte programme8.py et l'enregistrer sous le nom programme8partie2.py, pour que la carte allume pendant une seconde :
la diagonale de diodes de coordonnées (x, x) si on transmet le message "a" par l'IHM ;
l'autre diagonale de diodes si on transmet le message « b" par l'IHM;
une croix formée des deux diagonales si on transmet le message « c » par l'IHM









