Activités avec Python sur la carte micro:bit

Introduction

Introduction :

Dans ce tutoriel nous allons vous faire quelques exemples des activités faites avec Python, pour cela on va faire plusieurs activités de difficultés croissante, on commence par la plus simple vers la plus difficile.

1- Activité 1 : Créer une animation lumineuse :

Objectif : Le but de cette activité est de créer des animations lumineuses avec la carte micro:bit à l’aide de la programmation en Python, A la fin de cette activité, l’élève sera capable de faire se débrouiller avec le langage Python, il commence à comprendre les principes et les fonctions basiques du Python.
Pour cela on va travailler sur le logiciel mBlock car avec ce logiciel on peut programmer en Python avec la carte micro:bit.
Pour réussir notre activité nous allons suivre les étapes suivantes :

  1- On lance mBlock.

 

  2- On choisit dans le menu add la carte micro:bit et on choisit la programmation en Python :

 

 

 

2- On choisit dans le menu add la carte micro:bit et on construit les blocks de notre animation lumineuse, comme déjà expliqué dans les tutos précédents sur la carte micro:bit.

 

3- On commence à programmer, comme ceci :
On veut faire une animation lumineuse qui allume tout les LEDs de la première ligne ensuite les 4 LEDs de la deuxième ligne et ainsi de suite jus qu’on aura notre triangle et on recommence cette procédure dans le sens contraire jus qu’on aura notre triangle aussi; pour faire ceci on suit les étapes suivantes :
1- On importe le module micro:bit de Python qui contient toutes les fonctions nécessaires pour la carte.

  2- On définit les images animées qu’on veut afficher .
On affiche un message d’entrée, dans notre exemple c’est ‘hello’ pour indiquer le début de notre programme et c’est avec la fonction display.scroll et on gère ses paramètres pour régler son affichage.
Comme déjà expliqué les images de la carte micro:bit en Python sont des tableaux de 5 lignes et 5 colonnes de 25 cases qui représentent les 25 LEDs, de luminosité entre 0 et 9 et c’est la luminosité maximale, à l’intérieur on les remplit selon ce qu’on veut afficher. Par exemple si on veut afficher un carré plein on met soit ‘55555:55555:55555:55555:55555’ avec une luminosité moyenne.

  4- On affiche les images construises comme ceci avec la fonction display.show(Image(image constituée)) et on met un temps d’arrêt de 1 seconde entre chaque 2 images consécutives pour améliorer la clarté de l’affichage :

  5- On met tout ça dans une boucle pour que ça se répète jus qu’on veut faire quelques chose :

On aura un truc comme ça comme résultat qui se compose des 2 cotés ça commence avec une ligne et forme le triangle, et elle commence aussi du point du bas et elle forme le triangle aussi dans l’autre sens.

Remarque :

Comme montré dans les codes écrits on remarque que y’a une indentation à respecter dans certains cas par exemple dans les boucles comme la boucle while et ça veut dire on écrit tout les lignes qui viennent après avec un espace de tab en premier.
En plus de l’indentation y’a aussi la syntaxe à respecter ça veut dire il faut écrire les mots et les fonctions tel qu’elles sont si non le code ne marche pas.

– Amélioration de l’activité :

On peut faire de améliorations sur notre activité, par exemple on utilise les boutons de la carte A et B pour augmenter où diminuer la luminosité des images affichées.
– Pour faire ceci on suit les étapes suivants :
1- On définit une fonction qui gère le fonctionnement du bouton A, dans notre exemple le bouton A augmente la luminosité des images affichée au max (la valeur 9).

– Avec la boucle for on parcoure toute l’image (les 25 LEDs) et à l’aide de la fonction display.set_pixel on choisit la LED qu’on veut modifie la luminosité et la valeur de luminosité souhaitée comme montré dans la figure précédente.

2- On définit une fonction qui gère le fonctionnement du bouton B, dans notre exemple le bouton B diminue la luminosité des images affichées au min possible pour que ça soit visible et c’est pour ça on met la valeur 1 si on met 0 les LEDs s’éteignent.

– Avec la boucle for on parcoure toute l’image (les 25 LEDs) et à l’aide de la fonction display.set_pixel on choisit la LED qu’on veut modifie la luminosité et la valeur de luminosité souhaitée comme montré dans la figure précédente.

3- On met des conditions tel que : quand on appuie sur les boutons A où B on exécute les fonctions implémentées (les fonctions : on_button_a() et on_button_b() à l’aide de la fonction button_a_is_pressed() et pareil pour le bouton B.
– On met le tout dans une boucle infinie pour que ça se répète à chaque fois qu’on appuie sur l’un des 2 boutons, cette boucle infinie est la boucle while true ça veut dire tant que avec une condition qui est toujours vrai ce qui nous laisse toujours à l’intérieur de cette boucle et ce qui nous donne une boucle infinie et c’est exactement ce qu’on cherche.

Remarque :

– On remarque que sur Python y’a une syntaxe bien définie à respecter, elle contient l’écriture des lignes (les mots utilisés), la ponctuation, les espaces, tout est calculés on peut pas écrire un bon code qui marche sans bien respecter la syntaxe.

Pour aller plus loin :

Programmation Python : Activité avec le robot Q-Scout

Dans ce tutoriel nous allons vous expliquer comme faire quelques activités à l'aide de la programmation python avec le robot Q-Scout.

See more...

Premiers pas vers Python avec Q-Scout

Dans ce tutoriel nous allons vous parler des premiers pas à faire avant la programmation python avec le robot Q-Scout.

See more...

Programmation Python : Créer une horloge

Dans cette activité on va créer une horloge à l'aide de la rogrammation python.

See more...

Progrommation Python : Les boucles

Dans ce tutoriel nous allons vous expliquer les boucles de laprogrammation en Python.

See more...

Activités sur la programmation en Python

Dans ce tutoriel nous allons vous expliquer des activités avec la programmation en Python.

See more...

Premiers pas vers la programmation en Python

Dans ce tutoriel nous allons vous expliquer les premiers pas vers la programmation en Python.

See more...