La carte micro:bit est un micro-contrôleur qui peut servir à la construction de systèmes embarqués. Elle est composée de nombreux éléments :
Pour créer des programme utilisables sur les cartes Micro:bit, on peut utiliser 2 langages de programmation :
Dans notre cas, nous utiliserons le langage de programmation Python.
Pour comprendre comment utiliser chacun des modules présents sur la carte, vous avez à disposition la documentation officielle : https://microbit-micropython.readthedocs.io/fr/latest/
Pour écrire nos programmes Python, nous allons utiliser le logiciel « Thonny ». Il permet également de transférer notre programme sur la carte Micro:bit.
Question 1 - Connecter la carte Micro:bit à l'ordinateur à l'aide du câble USB. Le cable permet d'alimenter électriquement la carte et de transférer les programme.
Question 2 - Ouvir le logiciel Thonny.
Question 3 - Dans Thonny, cliquer sur Outils > Options > Sélectionner l'interpréteur
Question 4- Dans le menu déroulant, sélectionner « MicroPython BBC Micro:bit ». Cliquer sur « OK ».
À partir de ce moment, il est possible de construire votre premier programme.
Question 1 - Afin de tester la bonne configuration du logiciel Thonny, copier et coller le code ci-dessous dans le logiciel.
from microbit import *
display.scroll("Bienvenue en NSI")
Question 2 - Pour voir le résultat sur la carte Micro:bit, il faut transférer le programme sur la carte. Pour cela, il suffit de cliquer le bouton vert en haut de l'écran.
Si tout se passe bien, la carte devrait afficher le message « Hello World »
Pour cet exercice, on s'intéresse à la manipulation et l'affichage d'images sur la matrice.
Question 1 - Écrire un programme permettant d'alterner 4 images indéfiniment. On utilisera les images HAPPY
, ASLEEP
, SAD
et ANGRY
.
Question 2 - Écrire un programme permettant de construire et d'afficher l'image personnalisée suivante :
Pour cet exercice, on s'interesse à la manipulation de la matrice de LED.
Question 1 - Écrire une fonction allumer_colonne
. Cette fonction prend en paramètre une numéro de colonne. Elle permet d'allumer toutes les LED de la colonne demandée.
def allumer_colonne(numero:int) -> None:
pass
Question 2 - Sur le même principe, écrire une fonction allumer_ligne
def allumer_ligne(numero:int) -> None:
pass
Question 3 - Sur le même principe, écrire une fonction allumer_diagonale
. Pour choisir la diagonale, on utilisera une chaine de caractères :
D
: la diagonale commence en haut à droite.G
: la diagonale commence en haut à gauche.def allumer_diagonale(lettre:str) -> None:
pass
Question 4 - Écrire une fonction animation_colonne
qui réalise les actions suivantes :
Vous pouvez utiliser la fonctionallumer_colonne
de la question précédente.
def animation_colonne() -> None:
pass
Question 5 - Écrire une fonction animation_trait_tournant
qui affiche l'animation d'un trait qui tourne.
def animation_trait_tournant() -> None:
pass
Question 6 - Écrire une fonction animation_spirale
qui réalise les actions suivantes :
Chaque LED s’allume une à une en forme de spirale :
[0;0]
.xx
millisecondes entre chaque LED. Le délai est indiqué en paramètre de la fonctionQuand toutes LEDs sont allumées :
def animation_spirale(delai:int) -> None :
pass
Question 7 - Écrire une fonction allumage_aleatoire
permettant d’allumer une LED choisie au hasard indéfiniment.
def allumage_aleatoire(numero:int) -> None:
pass
Question 8 - Modifier la fonction précédente pour que l'intensité lumineuse de la LED soit aussi choisie aléatoirement.
Dans cette partie, vous aurez besoin des fonctions suivante :
button_a.is_pressed()
button_b.is_pressed()
À noter : Ajouter une pause de 100 ms à la fin de la boucle infinie pour éviter les appuis répétitifs sur les boutons créant des problèmes.
Question 1 - Écrire une fonction happy_or_sad
qui effectue les actions suivantes :
SAD
indéfiniment.HAPPY
s’affiche.Question 2 - Écrire une fonction compteur
qui effectue les actions suivantes :
def compteur() -> None:
pass
QUestion 3 - Écrire une fonction deplacement
qui effectue les actions suivantes :
[2;2]
def deplacement() -> None:
pass
Question 1 - Écrire une fonction boussole_V1
qui effectue les actions suivantes ;
Question 2 - Écrire une fonction boussole_V2
qui effectue les actions suivantes ;
Question 1 - Écrire une fonction remplissage
qui permet effectuer les actions suivantes :
Voici le tableau récapitulant les valeurs de référence selon l’inclinaison de la carte. On prendra comme exemple l’axe X.
Question 1 - Écrire une fonction de
qui permet de simuler un dé à 6 faces. Lorsqu’on secoue la carte microbit, la face d’un dé doit s’afficher. Pour cela, vous devrez utiliser la fonction accelerometer.was_gesture("shake")
.
Dans cette partie, vous aurez besoin des fonctions :
radio.config()
radio.on()
radio.send()
radio.receive()
Dans cet exercice, nous allons utiliser 2 cartes microbit qui communiqueront. Pour cela, il faudra créer 2 programme différent : l’un s’occupera de l’émission et l’autre de la réception du message
Question 1 - Écrire une fonction message
qui permet d’effectuer les actions suivantes :
Question 2 - Écrire une fonction PFC
qui simule le fonctionnement du jeu « Pierre-Feuille-Ciseau » avec 2 cartes microbit :
L'objectif du projet est de concevoir un programme permettant de simuler le jeu Tétris.
Voici quelques règles et indications concernant le jeu :
L'objectif du projet est de mettre en place une communication chiffrée entre les deux cartes en utilisant les principes HTTPS (chiffrement symétrique et asymétrique).
Voici quelques indications concernant le programme :
input
.