Afficher la température
Voici un programme à adapter pour afficher la/les températures.
from esp_rgb_lcd_grove import *
from time import *
from machine import Pin
lcd = esp_afficheur_lcd()
lcd.color(0, 0, 0)
while True:
# affichage
lcd.clear()
lcd.setCursor(2, 0) #place le curseur à la 2éme colonne de la 1ére ligne
lcd.write('Température')
lcd.setCursor(2, 1) #place le curseur à la 2éme colonne de la 2éme ligne
lcd.write(x)# attention x correspond à la variable lue sur une entrée du microcontroleur
# voir votre programme des séance précédente
# gestion des couleurs du fond d'écran
lcd.color(255, 0, 0)
sleep_ms(500)
lcd.color(0, 255, 0)
sleep_ms(500)
lcd.color(0, 0, 255)
sleep_ms(500)
Attention il faudra ajouter un programme annexe sur le microcontrôleur
En fonction de votre capteur l'affichage doit être presque immédiat.
Pour ceux qui ont un capteur type éclairement, température sen 0198 ou Ky038, il faut incorporer l'équation de comportement comme dans la méthode expliquée ci-dessous
Méthode :
Si vous avez une courbe comme ci-dessous il est possible que vous ayez pris des point trop éloignés ou que vous ayez attends trop rapidement la zone de saturation. Il faut donc supprimer les point en trop et rechercher à nouveau l'équation.
Attention il faut une équation de type Valeur capteur = a*valeur physique + b ou alors Valeur physique = a*valeur capteur + b
Si l'on prend les points extrêmes on peut calculer le coefficient directeur :
(yb-ya)/(xb-xa) = 3522-0/320-0 = 11(a) et b)0
ce qui pourrait donner :
Valeur capteur = 11*valeur physique + 0 (dans ce cas)

Pour votre programme, vous voulez afficher la grandeur physique en fonction de la valeur du capteur
dans le cas de l'équation
Valeur capteur = a*valeur physique + b, il faudra faire la manipulation suivante :
valeur physique = (Valeur capteur - b)/a
Les lignes de programme doivent être à peut-prêt comme ceci avec pour exemple le capteur KY028
from machine import ADC, Pin # il faut déclarer la broche et un fonctionnement analogique
from time import sleep # déclaration des temporisations
b= 894 #à remplacer par votre valeur
a= 2.47 #à remplacer par votre valeur
ky = ADC(Pin(34)) # config sur ESP32 d'objet ADC sur la broche 34
# pour un ESP32 la ligne suivante permet de mesurer jusqu'à 3.3V sinon la tension max sera de 1V
ky.atten(ADC.ATTN_11DB)
while True:
mesure = ky.read() # conversion analogique-numérique 0-4095 avec un ESP32
ValeurPhysique=(mesure-b)/a
print(ValeurPhysique) # affichage sur la console de la valeur physique du capteur
sleep(1) # attente d'une seconde