Ignorer la navigation

III. Partie N°1 : découverte de la carte micro:bit

Toutes les informations fiables concernant la carte micro:bit sont disponibles sur ce site internet : https://microbit-micropython.readthedocs.io (c’est le site officiel) ou sur le document : microbit-micropython-readthedocs-io-en-v1.0.1.pdf

 

On notera la présence systématique de cette ligne en tête de programme :

from microbit import *

Cette ligne permet de charger dans la carte les bibliothèques de fonctions développées pour la carte micro:bit et qui vont permettre de gérer les capteurs et actionneurs.

 

Programme N°1 :

from microbit import *

display.scroll('LaMache')

 

1. Essayez le programme précédent. Décrivez ce qu’il fait.
2. Donnez le nom de la fonction (instruction) utilisée.
3. D’après vous, cette fonction fait-elle partie du langage Python ou des bibliothèques de la carte ?

 

Programme N°2 : ATTENTION: bien remplacer, lorsque vous copier un programme, les espaces devant les instructions par des tabulations

from microbit import *

while True:

    display.scroll('LaMache')

 
1. Essayez le programme précédent. Décrivez ce qu’il fait.
2. Donnez le nom de la nouvelle fonction (instruction) utilisée. D’après vous, cette fonction fait-elle partie du langage Python ou des bibliothèques de la carte ?
3. Écrivez la version équivalente en C de ce programme (on estime que la fonction display.scroll existe en C)
4. Quelles sont les 2 différences entre les 2 langages (cherchez sur internet ce que représente l’indentation dans le langage Python) ?

 


Programme N°3 :

 
from microbit import *

while True:

   display.scroll('LaMache')

   sleep(2000)


  
1. Essayez le programme précédent. Décrivez ce qu’il fait.

2. Donnez le nom de la nouvelle fonction (instruction) utilisée. D’après vous, cette fonction fait-elle partie du langage Python ou des bibliothèques de la carte ?

3. Modifiez le programme pour avoir le fonctionnement suivant : à la mise en route affichage de « go » puis 1 minute plus tard 2 textes s’affichent en alternance toutes les 2 minutes : « LaMache » puis « Lyon » puis « LaMache » puis « Lyon » puis …… à l’infini

 


Programme N°4 :

 

from microbit import *

while True:

   display.scroll('LaMache')

   sleep(5000)

 
1. Essayez le programme précédent. Décrivez ce qu’il fait.
2. Expliquez ce qui se passe. Qu’en pensez-vous ?

 

Programme N°5 :

from microbit import *

#boucle infinie

while True:

  if button_a.is_pressed():

    display.show(Image.HAPPY)

  else:

  display.show(Image.HEART)


1. Essayez le programme précédent. Décrivez ce qu’il fait.
2. Donnez le nom des nouvelles fonctions utilisées et dites si elles font partie du langage Python ou des bibliothèques de la carte .
3. Modifiez le programme précédent pour qu’il garde le fonctionnement précédent mais qu’en plus, si on appuie sur l’autre BP, l’image SAD apparaisse. L’image SAD doit rester à l’écran 4 minutes

 

 


Complément important: découverte de la notion d’objet

Python est un langage orienté Objet. Mais qu’est-ce que cela veut dire ?

 

Les définitions :

  • 1ère définition : en informatique, un objet est un conteneur symbolique et autonome qui contient des informations et des mécanismes concernant un sujet, manipulés dans un programme.
  • 2ème définition : un objet est une structure de données, comme les variables, qui peut contenir elle-même d'autres variables et fonctions.
  • Une classe est une description des caractéristiques d'un ou de plusieurs objets. Chaque objet créé à partir de cette classe est une instance de la classe en question.
  • Un prototype est une description d'un objet, qui sera utilisé pour créer d'autres objets par clonage. voir programmation orientée prototype.
  • Une méthode est une suite d'instructions qui manipule les caractéristiques et l'état d'un objet.
  • Une propriété, aussi nommée champ (field) ou attribut, est une caractéristique propre à un objet donné.

 

Vous avez compris ? Pas évident, non ?

 

On va voir un petit exemple. Sur la carte Micro:bit on dispose de broches où câbler des choses parfois différentes. Ainsi la broche 0 peut être une entrée TOR, une sortie TOR, une entrée analogique, …. (un peu comme sur les cartes Arduino).

On se propose de rajouter un BP supplémentaire que l’on va câbler sur la broche 0.

On dispose d’un objet informatique (il a été programmé par les concepteurs) qui s’appelle « pin0 » et qui est associé physiquement à la broche 0.

Dans l’éditeur « mu-editor » tapez « if pin0. ». Quand vous tapez le point, l’éditeur vous propose les différentes « méthodes » associées à cet objet « pin0 ».

 
4. Faire la liste des méthodes proposées et essayez d’expliquer leur rôle
5. Pour la lecture de notre BP extérieur que doit-on choisir ?

 

Programme N°6 : leds

from microbit import *

display.set_pixel(0,0,9)

sleep(1000)

display.set_pixel(1,1,5)

sleep(1000)

display.clear()

sleep(1000)

display.set_pixel(4,1,1)

sleep(1000)

display.set_pixel(4,1,0)

sleep(1000)

display.set_pixel(2,2,9)

 

1. Essayez le programme précédent. Décrivez ce qu’il fait.
2. Donnez le nom des nouvelles fonctions utilisées et dites si elles font partie du langage Python ou des bibliothèques de la carte . Expliquez l’utilisation de cette fonction.
3. Il y a une action qui a lieu 2 fois dans le déroulement du programme et qui est réalisé de 2 manières différentes. Quelle est-elle ? Expliquez les 2 possibilités.
4. Modifier maintenant le programme pour avoir l’affichage instantané suivant (puis faire clignoter 3 fois le point central):

                                                    

 


Programme N°7 : leds (suite)

Version N° 1 :

from microbit import *

boat = Image("90505:"
           "90555:"
           "90505:"
           "90000:"
           "99999")

display.show(boat)

 

1. Essayez le programme précédent. Décrivez ce qu’il fait.
2. Donnez le nom de la variable présente dans le programme (on détaillera la gestion des variables dans Python plus tard)
3. Expliquez comment est géré l’allumage des leds.
4. Modifiez le programme pour avoir l’image suivante :

                                            

 
Version N° 2:

from microbit import *

boat = Image("90505:90555:90505:90000:99999")

display.show(boat)

 
5. Essayez le programme précédent. Décrivez ce qu’il fait.Que constatez-vous ?

 


Programme N°8 :


from microbit import *

while running_time() < 2000:
       display.show(Image.ASLEEP)
display.show(Image.SURPRISED)

1. Essayez le programme précédent. Décrivez ce qu’il fait.

2. Donnez le nom de la nouvelle fonction (instruction) utilisée. D’après vous, cette fonction fait-elle partie du langage Python ou des bibliothèques de la carte ? Décrivez ce que fait cette fonction.

 

Programme N°9 : le capteur de température + visualisation

from microbit import *

display.scroll('temperatures')
while True:
     display.scroll(temperature())
     sleep(500)

1. Essayez le programme précédent. Décrivez ce qu’il fait.

2. Donnez le nom de la nouvelle fonction (instruction) utilisée. D’après vous, cette fonction fait-elle partie du langage Python ou des bibliothèques de la carte ? Décrivez ce que fait cette fonction.

 


Programme N°10 : encore des images

from microbit import *
partie1 = Image("05050:"
  "05050:"
  "05050:"
  "99999:"
  "09990")
partie2 = Image("00000:"
  "05050:"
  "05050:"
  "05050:"
  "99999")
partie3 = Image("00000:"
  "00000:"
  "05050:"
  "05050:"
  "05050")
partie4 = Image("00000:"
  "00000:"
  "00000:"
  "05050:"
  "05050")
partie5 = Image("00000:"
  "00000:"
  "00000:"
  "00000:"
  "05050")
partie6 = Image("00000:"
  "00000:"
  "00000:"
  "00000:"
  "00000")

images = [partie1, partie2, partie3, partie4, partie5, partie6]

while True:
    display.show(images, delay=200)
     sleep(500)

 
Remarque : « images » est une variable un peu plus complexe. En fait si une variable peut être considérée comme un tiroir dans lequel on met les valeurs que l’on veut, « images » est ici un ensemble de tiroirs (une armoire en quelque sorte). On dit que « images » est un tableau de variables.

1. Essayez le programme précédent. Décrivez ce qu’il fait.
2. A partir de cet exemple et du programme précédent (programme N°9), fait défiler la température suivie de °C

 


Voilà, on a vu un peu comment on pouvait utiliser la carte micro:bit. Maintenant on va se pencher un peu plus sur le langage Python.