Prise de température☘
La carte Micro:Bit n'a pas un capteur de température, la température fournie est en fait la température de la puce de silicium du processeur principal. Comme le processeur chauffe peu en fonctionnement (c'est un processeur ARM à grande efficacité), sa température est une bonne approximation de la température ambiante (on pourra ajuster si nécessaire).
Exercice 1☘
Écrire un programme qui affiche la température sur la micro:bit lorsqu'on appuie sur le bouton a.
Utiliser display.show(temperature())
.
Un code possible
Le -5
utilisé sert à ajuster.
1 2 3 4 5 6 7 | from microbit import * while True: if button_a.is_pressed(): display.show(temperature()-5) else: display.clear() |
Exercice 2 - Température et consigne☘
Écrire un programme:
- qui commence par affecter une valeur de température à une variable
consigne
.
Et tel que:
- Un appui sur le bouton A affiche la température.
-
Et un appui sur le bouton B affiche:
- l'image
Image.HAPPY
si la température est supérieure à la consigne (utiliser la fonctiondisplay.show
), - l'image
Image.ANGRY
sinon.
- l'image
Un code possible
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from microbit import * consigne = 20 while True: if button_a.is_pressed(): display.show(temperature()-5) else: display.clear() if button_b.is_pressed(): if temperature()-5 > consigne : display.show(Image.HAPPY) else : display.show(Image.ANGRY) |
Exercice 3 - Récupérer la température☘
On souhaite récupérer la température de la micro:bit sur l'ordinateur via le port usb.
Identifier le port☘
Nous devons trouver le port sur lequel la micro:bit est branchée afin de pouvoir communiquer. Sur une machine Linux, ce port USB est attaché à un périphérique dans le répertoire /dev
Après avoir branché la carte micro:bit, dans un terminal taper la commande ls /dev/tty*
Essayer de trouver le périphérique associé au port USB connecté sur micro:bit.
- la commande retourne généralement plus de 50 tty.
Cependant:
- les tty associés au port USB disposent d'une nomenclature différente.
- ils contiennent habituellement USB ou ACM (Abstract Control Model).
Sur l'image ci-dessus, on identifie le périphérique /dev/ttyACM1.
Pour s'assurer que l'identification soit correcte, vous débranchez la micro:bit de l'ordinateur et vous vérifiez que le périphérique associé disparait également de /dev.
Un programme micro:bit☘
A flasher dans la carte micro:bit:
1 2 3 4 5 6 7 8 | from microbit import * # protocole de communication (avec vitesse de transmission): uart.init(baudrate=9600) while True: display.show(temperature()-5) print(temperature()-5) |
Un programme python☘
A exécuter sur le pc (avec geany par exemple):
1 2 3 4 5 6 7 8 9 10 11 | from serial import * from tkinter import * # Protocole de transmission (à modifier en fonction de ce # que vous avez obtenu précédemment) : serie = Serial("/dev/ttyACM1") #même vitesse de transmission que sur la carte: serie.baudrate = 9600 while True : print(serie.readline()) |
A l'éxecution du programme, vous récupérez la température de la carte micro:bit sur votre PC: