0% ont trouvé ce document utile (0 vote)
0 vues10 pages

Débuter en MicroPython

MicroPython est une version simplifiée de Python conçue pour les microcontrôleurs comme le Micro:Bit. Pour débuter, il est recommandé d'utiliser des éditeurs comme Mu ou Edublocks, qui facilitent la transition de la programmation par blocs au texte. Les principes fondamentaux incluent l'utilisation de commentaires, de bibliothèques spécifiques et l'importance de l'indentation dans le code.

Transféré par

temimi raoudha
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues10 pages

Débuter en MicroPython

MicroPython est une version simplifiée de Python conçue pour les microcontrôleurs comme le Micro:Bit. Pour débuter, il est recommandé d'utiliser des éditeurs comme Mu ou Edublocks, qui facilitent la transition de la programmation par blocs au texte. Les principes fondamentaux incluent l'utilisation de commentaires, de bibliothèques spécifiques et l'importance de l'indentation dans le code.

Transféré par

temimi raoudha
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Débuter en MicroPython

Publié le 6 mars 2019 par jcquetin

Le langage Python, créé en 1991, sous licence libre est actuellement très
populaire. C’est notamment le langage phare du Raspberry Pi.
Le MicroPython est une adaptation du langage Python pour
microcontrôleurs. Il a été à l’origine créé pour programmer la Pyboard,
une carte de développement lancé sur Kickstarter en 2013. Mais
maintenant, d’autres puces peuvent être programmées en MicroPython,
comme par exemple le Micro:Bit ou le Circuit Playground Express (dont je
vous parlerai prochainement).
Pour résumer, disons simplement que MicroPython est une version
simplifiée de Python, spécialement destinées aux microcontrôleurs.

Les éditeurs

Si vous souhaitez vous initier au MicroPython avec le Micro:Bit, vous


pouvez vous contenter de l’éditeur de la fondation. Il est intuitif et ne
nécessite pas d’installation. Mais n’oubliez pas de sauvegarder vos fichiers
texte (format *.py) sur votre disque dur, car contrairement à MakeCode ils
ne sont pas automatiquement stockés par le navigateur internet (et les
fichiers *.hex sont compilés, ils ne sont donc pas modifiables).

Pour travailler plus confortablement, je vous conseille d’installer sur votre


ordinateur un véritable éditeur, comme Mu qui est gratuit,
multiplateforme, intègre automatiquement les bibliothèques microbit et
permet de Flasher directement le Micro:Bit.
Si vous souhaitez une transition en douceur, vous pouvez aussi
utiliser Edublocks. C’est un éditeur de code en ligne (qui ressemble un peu
à MakeCode). Mais il permet de passer du mode bloc au mode
MicroPython en cliquant simplement sur un bouton (en haut à droite).

Le passage des blocs au texte


Si vous êtes habitué à la programmation par blocs (MakeCode, Scratch,
mBlock…) le passage au texte peut être un peu intimidant, car vous vous
retrouvez devant une page vide et c’est à vous de taper le code. Mais ne
vous inquiétez pas, le principe est exactement le même.
Regardez dans l’exemple ci-dessous, chaque ligne correspond à un bloc :

Bien sûr, il faut quand même apprendre un nouveau langage. Mais c’est
de l’anglais très rudimentaire et vous n’avez pas besoin d’étudier toutes
les instructions pour débuter dans la programmation. Au contraire, il est
beaucoup plus facile d’apprendre progressivement, au gré de vos besoins.

Les grands principes du langage Python

Pour bien débuter en Python (ou MicroPython), vous devez connaitre


quelques principes de base :

1) Les commentaires
Si le texte est précédé du caractère « #« , il ne sera pas pris en compte
par le Micro:Bit (jusqu’au saut de ligne suivant). Cela permet d’ajouter des
informations qui facilitent la compréhension du programme. Mais les
commentaires sont également très utiles pour désactiver certaines lignes
de codes afin de tester une modification du programme ou pour
rechercher la cause d’un dysfonctionnement (bug ou bogue).

2) Les bibliothèques
Le langage Python est utilisé dans de nombreux domaines. Mais il est très
rare d’avoir besoin de toutes les instructions en même temps. Elles sont
donc regroupées par thèmes dans des bibliothèques. Par exemple pour
programmer le Micro:bit, il faudra appeler la bibliothèque contenant les
instructions spécifiques à cette carte. Mais si le programme doit
fonctionner sur Raspberry Pi, il faudra d’autres bibliothèques.

# Appel de la bibliothèque "microbit" (toutes les instructions)


from microbit import *

3) L’indentation.
Cela consiste à ajouter des espaces (ou une tabulation) au début de la
ligne, pour décaler les instructions situées à l’intérieur d’une condition,
d’une boucle ou d’une fonction. Dans d’autres langages, comme le
langage Arduino (basé sur le langage C) l’indentation est facultative, elle
est seulement conseillée afin faciliter la lecture (ou la relecture) du code.

Attention, en Python l’indentation est obligatoire.

# Exemple d'indentation (avec une boucle infinie)

from microbit import *

while True:

[Link]([Link])

sleep(500)

[Link]()

sleep(500)

La matrice 5×5

La documentation MicroPython pour MicroBit (en Français) est


disponible ici. Vous y trouverez la liste des images intégrées à la
bibliothèque « microbit« . Par exemple, pour afficher un coeur, il suffit de
taper le code suivant :

# Appel de la bibliothèque "microbit"

from microbit import *

# Affichage de l'image
[Link]([Link])

Mais vous pouvez aussi dessiner vos propres symboles pixel par pixel. Le
chiffre représente l’intensité lumineuse de la LED. À 0 la LED est éteinte, à
9 elle éclaire au maximum mais évidement, vous pouvez aussi utiliser les
chiffres intermédiaires (1, 2, 3, 4, 5, 6, 7 ou 8).

Dans l’exemple ci dessous, le 1er pixel (à gauche sur la 1ère ligne) est à 0,
le pixel suivant est à 9, le 3ème à 0 et ainsi de suite jusqu’au 5ème pixel
de la ligne. Puis on définit la 2ème ligne (où tous les pixels sont à 9). Et
cela continue jusqu’à la 5ème et dernière ligne. Nous avons donc défini
une images en indiquant l’un après l’autre, l’état des pixels qui la
compose.

# Appel de la bibliothèque "microbit"

from microbit import *

# Définition de l'image

coeur = Image("09090:"

"99999:"

"99999:"

"09990:"

"00900")

# Affichage de l'image

[Link](coeur)

Une fois que vous avez compris le principe, vous pouvez utiliser cette
notation qui est plus compacte, mais donne exactement le même résultat.

# Appel de la bibliothèque "microbit"


from microbit import *

# Définition de l'image

coeur = Image("09090:99999:99999:09990:00900")

# Affichage de l'image

[Link](coeur)

Ensuite, vous pouvez créer une animation composée d’images légèrement


différentes. Dans un 1er temps, vous définissez chaque image, puis vous
créez un tableau définissant l’animation (l’ordre de successions des
images). Et enfin, vous pouvez afficher l’animation à l’intérieur d’une
boucle infinie (une boucle qui se répète indéfiniment).
Faites bien attention à l’indentation.

# Appel de la bibliothèque "microbit"

from microbit import *

# Définition des images

c1 = Image("01010:11111:11111:01110:00100")

c2 = Image("02020:22222:22222:02220:00200")

c3 = Image("03030:33333:33333:03330:00300")

c4 = Image("04040:44444:44444:04440:00400")

c5 = Image("05050:55555:55555:05550:00500")

c6 = Image("06060:66666:66666:06660:00600")

c7 = Image("07070:77777:77777:07770:00700")
c8 = Image("08080:88888:88888:08880:00800")

c9 = Image("09090:99999:99999:09990:00900")

# Définition de l'animation

battementsCoeur = [c1, c2, c3, c4, c5, c6, c7, c8, c9, c8, c7, c5, c4, c3,

c2]

# Boucle infinie

while True:

# Affichage de l'animation (100 millisecondes entre chaque image)

[Link](battementsCoeur, delay=100)

Vous pouvez aussi afficher du texte.

# Appel de la bibliothèque "microbit"

from microbit import *

# Boucle infinie

while True:

# Affichage du traditionnel message "Hello World"

[Link]("Hello World")

Les boutons

Pour utiliser les boutons, il faut créer une boucle infinie, dans laquelle le
Micro:bit vérifie en permanence si l’on a appuyé sur un des boutons.
# Appel de la bibliothèque "microbit"

from microbit import *

# Boucle infinie

while True:

# Si le bouton A est appuyé

if button_a.is_pressed():

# Affiche l'image "coeur"

[Link]([Link])

# Sinon

else:

# Éteins toutes les LED de la matrice

[Link]()
Ensuite, il est possible de compliquer un peu les choses en testant
successivement les 2 boutons (A et B)

# Appel de la bibliothèque "microbit"

from microbit import *

# Boucle infinie

while True:

# Si le bouton A est appuyé

if button_a.is_pressed():

# Affiche l'image "coeur"

[Link]([Link])

# Sinon et si le bouton B est pressé

elif button_b.is_pressed():
# Affiche l'image "petit coeur"

[Link](Image.HEART_SMALL)

# Sinon

else:

# Éteins toutes les LED de la matrice

[Link]()

Vous aimerez peut-être aussi