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.

1
# -*- coding: utf-8 -*-
2
from machine import Pin, I2C
3
from time import sleep
4
import BME280
5
6
# ESP32 - broche i2c
7
i2c = I2C(scl=Pin(22), sda=Pin(21), freq=10000)
8
# ESP8266 - broche i2c
9
# i2c = I2C(scl=Pin(5), sda=Pin(4), freq=10000)
10
11
while True :
12
    bme = BME280.BME280(i2c=i2c)
13
    temp = bme.temperature
14
    print("Temperature: ",temp)
15
    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.