![]()
TU APPRENDRAS ICI... |
comment connecter des capteurs de haute précision au micro:bit via une interface I2C et mesurer la qualité de l'air, la température et l'humidité. |
CAPTEUR DE QUALITÉ DE L'AIR SGP30 |
Le capteur de CO2 SGP30 mesure la concentration de CO2 dans l'air. Lorsque la concentration de CO2 augmente, l'air d'une pièce devient moins frais, ce qui peut entraîner de la fatigue et un risque accru de transmission de virus. |
|
|||||||
La commande s'effectue par e-mail. |
EXAMPLES |
Programme: from microbit import * # sgp--------------------- raw = [0, 0] buf = [0,0,0,0,0,0] i2c.write(0x58, bytearray([0x20,0x03])) sleep(1500) def getValues(a=0x58): i2c.write(0x58, bytearray([0x20,0x08])) sleep(600) block = i2c.read(0x58, 6) buf = [0,0,0,0,0,0] for i in range(0,6): buf[i]=block[i] for i in range(0,2): raw[i]= buf[i*3] raw[i]<<=8 raw[i]|=buf[i*3+1] return (raw[0], raw[1]) #------------------------------ while True: co2, voc = getValues() print ("CO2 = ", co2, " TVOC = ", voc) sleep(500) Après le démarrage du programme, le capteur effectue d'abord son initialisation et renvoie la valeur de CO2 de 400 pendant les 10 premières secondes. Ensuite, les valeurs de CO2 mesurées sont affichées correctement.
|
Programme: from microbit import * # sht------------------------- def getValues(a = 0x44): i2c.write(a, b'\x2c\x06') raw = i2c.read(a, 6) t, h = (raw[0] << 8) + raw[1], (raw[3] << 8) + raw[4] return -45 + (175 * (t / 65535)), 100 * (h / 65535) #----------------------------- while True: temp, humi = getValues() print(temp, humi) sleep(500) |
À RETENIR... |
Le capteur SGP30 mesure la teneur en CO2 en ppm (parts per million) et fournit des valeurs comprises entre 400 et 60 000. Pour des valeurs inférieures à 1000 ppm, l'air est de bonne qualité. Pour des valeurs supérieures à 1400 ppm, il est recommandé d'apporter de l'air frais dans la pièce. Une concentration élevée de CO2 dans une pièce augmente le risque de transmission de virus. Le capteur SHT85 mesure la température en °C et l'humidité relative en %. Comme ces capteurs externes ne sont pas pris en charge directement par le module microbit, tu dois insérer dans chaque application le bloc de programme #sgp-------- ou #sht------- correspondant. Les capteurs sont connectés au micro:bit via un hub. Le mbHub et le SensorLink sont conçus de manière à pouvoir également connecter d'autres capteurs I2C et composants électroniques. |
EXERCICES À RÉSOUDRE |
|
![]()