Capteur de température
Dans cet exercice, on cherche à utiliser un capteur de température, pression et humidité via le bus I2C.
Pour faire fonctionner ce capteur, il est nécessaire d'utiliser une librairie Python (fichier ci-dessous).
La broche CLK (signal d'horloge) du capteur doit être reliée à la broche 22 de l'ESP32.
La broche DIO (signal de données) du capteur doit être reliée à la broche 21 de l'ESP32.
Librairie Python à copier sur la carte ESP32 avec Mu ou Upycraft.
Nous utiliserons 3 méthodes de la librairie (méthodes de la classe BME280 du module BME280).
D'où l'utilisation de la ligne ci-dessous pour simplifier l'écriture du code que nous verrons plus tard :
bme = BME280.BME280(i2c=i2c)
Question
On donne le code ci-dessous qui permet d'afficher la température.
# -*- coding: utf-8 -*-
from machine import Pin, I2C
from time import sleep
import BME280
# ESP32 - broche i2c
i2c = I2C(scl=Pin(22), sda=Pin(21), freq=10000)
# ESP8266 - broche i2c
# i2c = I2C(scl=Pin(5), sda=Pin(4), freq=10000)
while True :
bme = BME280.BME280(i2c=i2c)
temp = bme.temperature
print("Temperature: ",temp)
sleep(2)
Tester ce code.
Question
En vous inspirant du code ci-dessus, afficher dans la console, en plus de la température, la pression et l'humidité.
Question
Compléter le code pour afficher la valeur de la température sur le grapheur en plus d'une température de consigne de 15°C par exemple.
Indice
Pour utiliser le grapheur de l'éditeur Mu, il faut utiliser la fonction print() avec un tuple comme argument.
Indice
Un tuple s'écrit sous la forme (a,b,c,d) par exemple.
A noter qu'un tuple qui possède une seule donnée s'écrit (a,).
Indice
Le grapheur a besoin de valeurs numériques décimales (autrement dit une variable de type float) dans le tuple.