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