La BBC micro:bit est une carte à microcontrôleur.
Elle est conçue en 2015 au Royaume-Uni pour développer l'apprentissage de l'algorithmique et de la programmation.
Pourvu de capteurs et d'actionneurs, ce petit ordinateur possède la dernière technologie qui équipe les appareils modernes : téléphones mobiles, réfrigérateurs, montres intelligentes, alarmes antivol, robots, etc...
Ainsi, il s'apparente à ce que l'on nomme l'Internet des objets : Internet of Things, abrégé IoT.
CONNECT
. FLASH
.
.py
sur le PC dans votre répertoire de travail.
show
par scroll
. Transférer à nouveau le programme à la carte.
from microbit import *
display.show('hello SNT ', delay=300, loop=True)
display.show(Image.SMILE)
(pour afficher le smiley par exemple) Image.HEART
Image.HEART_SMALL
Image.HAPPY
Image.SMILE
Image.SAD
Image.CONFUSED
Image.ANGRY
Image.ASLEEP
Image.SURPRISED
Image.SILLY
Image.FABULOUS
Image.MEH
Image.YES
Image.NO
Image.CLOCK12, Image.CLOCK11, Image.CLOCK10, Image.CLOCK9, Image.CLOCK8, Image.CLOCK7, Image.CLOCK6, Image.CLOCK5, Image.CLOCK4, Image.CLOCK3, Image.CLOCK2, Image.CLOCK1
Image.ARROW_N, Image.ARROW_NE, Image.ARROW_E, Image.ARROW_SE, Image.ARROW_S, Image.ARROW_SW, Image.ARROW_W, Image.ARROW_NW
Image.TRIANGLE
Image.TRIANGLE_LEFT
Image.CHESSBOARD
Image.DIAMOND
Image.DIAMOND_SMALL
Image.SQUARE
Image.SQUARE_SMALL
Image.RABBIT
Image.COW
Image.MUSIC_CROTCHET
Image.MUSIC_QUAVER
Image.MUSIC_QUAVERS
Image.PITCHFORK
Image.XMAS
Image.PACMAN
Image.TARGET
Image.TSHIRT
Image.ROLLERSKATE
Image.DUCK
Image.HOUSE
Image.TORTOISE
Image.BUTTERFLY
Image.STICKFIGURE
Image.GHOST
Image.SWORD
Image.GIRAFFE
Image.SKULL
Image.UMBRELLA
Image.SNAKE
sleep()
permet de faire une pause. Le temps de pause en millisecondes (millièmes de secondes) s'insère entre les parenthèses.
from microbit import *
bateau = Image("05050:"
"05050:"
"05050:"
"99999:"
"09990")
display.show(bateau)
:
et entourée de "
(guillemets doubles).display.set_pixel(x,y,l)
il est possible de régler la luminosité des pixels de l'affichage individuellement de 0 (désactivé) à 9 (luminosité maximale). x et y varient de 0 à 4.display.set_pixel(1, 4, 9)
allume la 2ème LED de la 5ème ligne. display.set_pixel(x,y,l)
et sleep(1000)
, faire clignoter le haut des mâts du bateau.
button_a.is_pressed()
renvoie True
si le bouton est effectivement appuyé.button_a.was_pressed()
renvoie True
si le bouton a été appuyé.button_a.get_pressed()
renvoie le nombre de fois que le bouton a été appuyé.Proposer un programme qui affiche un smiley qui sourit 😊 lorsqu'on appuie sur le bouton A et un smiley triste 🙁 lorsqu'on appuie sur le bouton B.
Aide : Dans une une structure de boucle infinie (while True
), inclure une structure conditionnelle (if
appui bouton A -> action 😊 elif
appui bouton B -> action 🙁).
A partir des parties précédentes, réaliser un programme qui simulera un lancer de déà 6 faces. Le programme devra choisir un chiffre entre 1 et 6 au hasard (on utilisera la fonction random
qu'il faudra importer via l'instruction import random
).
Un bouton servira à effectuer le lancer de dé tandis que l'autre permettra d'effacer l'écran.
Améliorations possibles :
display.read_light_level()
retourne un entier compris entre 0
et 255
représentant le niveau de lumière. Compléter le programme ci-contre pour qu'il affiche une image de lune si on baisse la luminosité (en recouvrant la carte avec sa main par exemple) et un soleil sinon.
Amélioration possible : On peut créer un programme qui affiche le niveau de luminosité et le tester avec la LED d'un téléphone portable ou une lampe-torche par exemple. Plus la luminosité sera élevée, plus il y aura de LEDs affichées sur la matrice de LED.
from microbit import *
soleil = Image("90909:"
"09990:"
"99999:"
"09990:"
"90909:")
lune = Image("00999:"
"09990:"
"09900:"
"09990:"
"00999:")
while True:
if display.read_light_level()>"Compléter ici":
display.show(soleil)
else:
display.show("Compléter ici")
sleep(10)
temperature()
renvoie la température de la carte micro:bit en degrés Celsius. display.scroll()
X
: l'inclinaison de gauche à droite.Y
: l'inclinaison d'avant en arrière.Z
: le mouvement haut et bas.accelerometer.get_x()
permet de détecter un mouvement de gauche à droite en renvoyant un nombre compris entre -1023
et 1023
; 0
étant la position «d'équilibre». from microbit import *
while True:
abscisse = accelerometer.get_x()
if abscisse > 500:
display.show(Image.ARROW_E)
elif abscisse < -500:
display.show(Image.ARROW_W)
else:
display.show("-")
La boussole détecte le champ magnétique de la Terre, nous permettant de savoir quelle direction la micro:bit indique. La boussole doit être étalonnée avant de pouvoir être utilisée. Pour cela, on utilise compass.calibrate()
qui exécute un petit jeu :
"Tilt to fill screen"
. La fonction compass.heading()
donne le cap de la boussole sous la forme d'un entier compris entre 0 et 360, représentant l'angle en degrés, dans le sens des aiguilles d'une montre, avec le nord égal à 0.
from microbit import *
#Calibrage boussole
compass.calibrate()
#boucle
while True:
angle = compass.heading()
if 315 <= angle or angle <= 45:
display.show("N")
elif 45 < angle and angle <= 135:
display.show("E")
# compléter les autres cas ici
#attente d'une seconde
sleep(1000)
Le micro:bit V2 est doté d’un microphone intégré.
Situé à l’arrière de la carte micro:bit, il est muni d’un trou à l’avant, à droite du logo tactile, permettant l’entrée du son. Il existe aussi une LED de microphone sur la face avant qui s’allume lorsque le microphone est utilisé.
from microbit import *
#boucle
while True:
if microphone.current_event() == SoundEvent.LOUD:
display.show(Image.HAPPY)
elif microphone.current_event() == SoundEvent.QUIET:
display.show(Image.ASLEEP)
# compléter le programme ici
Le micro:bit peut lire des mélodies et peut même parler.
Le micro:bit V2 dispose d’un haut-parleur. Pour utiliser les fonctionnaliéts musicales, vous devez importer de la musique peu de temps après le démarrage de votre programme.
from microbit import *
import music
import speech
speech.say('Are you ready for music ?')
sleep(500)
music.play(music.ENTERTAINER)
Votre programme devra faire interagir l'affichage avec la grandeur captée à votre convenance.
Écrire préalablement votre cahier des charges et le faire valider par l'enseignant.
<pre>
pour écrire le code python sur la page ; <a href="dossier/programme.py" download>
;