La carte Enviro:bit
La carte Enviro:bit permet la mesure de plusieurs données : température, humidité, pression, lumière, couleur et son.
Pour une utilisation avec mu-Editor, il faut télécharger trois librairies sur la page github de Pimoroni : https://github.com/pimoroni/micropython-envirobit/tree/master/library
À télécharger : bme.py - sound.py - tcs3472.py
Ces bibliothèques sont à placer dans les fichiers disponibles sur la carte, en les copiant au préalable dans le dossier mu_code (C:\Users\YourUserName\mu_code
sur Windows ou /Users/YourUserName/mu_code
sur macOS).
Capteur de température, pression et humidité
Ce capteur nécessite de télécharger la bibliothèque bme280.
import bme280
bme = bme280.bme280()
L'instance de classe bme
dispose des méthodes suivantes :
Instructions | Effet |
---|---|
bme.temperature() | renvoie la température en degrés Celsius |
bme.pressure() | renvoie la pression en hectoPascal |
bme.humidity() | renvoie l'humidité relative en % |
bme.altitude() | renvoie l'altitude en pied, calculée par rapport à la valeur QNH (pression atmosphérique au niveau de la mer) |
bme.set_qnh(value) | définit la valeur QNH pour la calcul de l'altitude |
Microphone
Ce capteur nécessite de télécharger la bibliothèque sound
.
import sound
son = sound.sound()
L'instance de classe son
dispose des méthodes suivantes :
Instructions | Effet |
---|---|
son.read() | renvoie la valeur du niveau sonore |
son.wait_for_double_clap() | détecte un niveau sonore élevé deux fois par seconde, renvoie True s'il est détecté |
son.wait_for_clap() | détecte un niveau sonore élevé une fois par seconde, renvoie True s'il est détecté |
Capteur de couleurs
Ce capteur nécessite de télécharger la bibliothèque tcs3472
.
import tcs3472
lum = tcs3472.tcs3472()
L'instance de classe lum
dispose des méthodes suivantes :
Instructions | Effet |
---|---|
lum.rgb() | renvoie les valeurs des composantes RGB |
lum.scaled() | envoie les quantités de rouge, de vert et de bleu sur une échelle de 0 à 1 |
lum.light() | renvoie une lecture brute du niveau de lumière sur une échelle de 0 à 65535 |
lum.set_leds() | allumer et éteindre les leds avec 0 ou 1 |
Exemples issus de https://github.com/pimoroni/micropython-envirobit/tree/master/examples
import tcs3472
import microbit
lum = tcs3472.tcs3472()
#flash lights twice, read on third flash
while True:
lum.set_leds(1)
microbit.sleep(300)
lum.set_leds(0)
microbit.sleep(300)
lum.set_leds(1)
microbit.sleep(300)
lum.set_leds(0)
microbit.sleep(300)
lum.set_leds(1)
microbit.sleep(300)
reading = lum.rgb()
microbit.display.scroll(str(reading))
lum.set_leds(0)
microbit.sleep(3000)
from microbit import *
import tcs3472
lum = tcs3472.tcs3472()
trigger = 400
while True:
light_level = lum.light()
if light_level < trigger :
display.show(Image.SURPRISED)
else:
display.show(Image.HAPPY)
from microbit import sleep
import tcs3472
light_sensor = tcs3472.tcs3472()
while True:
light_sensor.set_leds(1)
sleep(1000)
light_sensor.set_leds(0)
sleep(1000)
import tcs3472
import microbit
lum = tcs3472.tcs3472()
def light_level():
max_level = 0
for i in range(0, 10):
light_level = lum.brightness() / 100
if light_level > max_level:
max_level = light_level
return max_level
def bargraph(a):
microbit.display.clear()
for y in range (0, 5):
if a > y:
for x in range (0, 5):
microbit.display.set_pixel(x, 4-y, 9)
while True:
bargraph(light_level())
microbit.sleep(10)