Utiliser Micro:bit comme un joystick
Ci-dessous vous trouverez les scripts à transférer sur votre carte Micro:bit et à exécuter sur votre PC à l'aide de Mu.
Ouvrir Mu, passer le en mode Micro:bit, copier/coller le code correspondant ci-dessous, enregistrer puis flashez (transférer le script sur) votre carte Micro:bit.
Ensuite, vous pouvez utiliser votre éditeur Python favori ou encore Mu en mode Python3.
Codes python du projet
Script à transférer vers la carte micro:bit :
Attention :
Dans cette partie, on utilise Mu en mode micro:bit[1].
1
from microbit import *
2
3
uart.init(baudrate=115200)
4
5
display.scroll('Pret')
6
7
while True:
8
print(accelerometer.get_values())
9
sleep(1000)
Script à exécuter sur le PC :
Attention :
Dans cette partie, on utilise Mu en mode Python[2].
1
import matplotlib.pyplot as plt
2
import matplotlib.animation as animation
3
import time
4
import serial
5
import tkinter as tk
6
7
port = "COM3"
8
baud = 115200
9
s = serial.Serial(port)
10
s.baudrate = baud
11
12
def quitter():
13
s.close()
14
ma_fenetre.destroy()
15
16
17
def deplacement():
18
global dx, dy
19
#On recupere les valeurs de Mbit
20
data = s.readline()
21
data = data.decode('utf-8')
22
data = data.replace('(','')
23
data = data.replace(')','')
24
print(data)
25
data = data.split(',')
26
dx = (int(data[0]))//50
27
dy = (int(data[1]))//50
28
dz = (int(data[2]))//50
29
30
#On deplace la balle :
31
canvas.move(balle1,dx,dy)
32
#On repete cette fonction
33
canvas.itemconfigure(balle1,fill=couleur[dz%6])
34
ma_fenetre.after(100,deplacement)
35
36
#Deplacement de la balle au départ:
37
dx = 0
38
dy = 0
39
couleur = ['red','green','blue','pink','orange','yellow']
40
41
# Fenêtre principale
42
ma_fenetre = tk.Tk()
43
44
ma_fenetre.title("Titre de la fenetre")
45
ma_fenetre.geometry("600x500")
46
47
canvas = tk.Canvas(ma_fenetre,width=500, height=400 , bd=0, bg="white")
48
canvas.grid(row=2, column=0, padx=5, pady=5)
49
50
51
# Création d'un bouton Quitter
52
button_quitter = tk.Button(ma_fenetre, text="Quitter", command=quitter)
53
button_quitter.grid(row=3, column=0, padx=5, pady=5)
54
55
#On cree une balle:
56
balle1 = canvas.create_oval(10, 10, 30, 30, fill='red')
57
58
deplacement()
59
60
ma_fenetre.mainloop()
61