Afficher la température

Voici un programme à adapter pour afficher la/les températures.

1
from esp_rgb_lcd_grove import *
2
from time import *
3
from machine import Pin
4
5
lcd = esp_afficheur_lcd()
6
lcd.color(0, 0, 0)
7
8
while True:
9
    # affichage
10
    lcd.clear()
11
    lcd.setCursor(2, 0) #place le curseur à la 2éme colonne de la 1ére ligne
12
    lcd.write('Température')
13
    lcd.setCursor(2, 1) #place le curseur à la 2éme colonne de la 2éme ligne
14
    lcd.write(x)# attention x correspond à la variable lue sur une entrée du microcontroleur 
15
    #	 voir votre programme des séance précédente
16
    # gestion des couleurs du fond d'écran
17
    lcd.color(255, 0, 0)
18
    sleep_ms(500)
19
    lcd.color(0, 255, 0)
20
    sleep_ms(500)
21
    lcd.color(0, 0, 255)
22
    sleep_ms(500)

Attention il faudra ajouter un programme annexe sur le microcontrôleur

de Thonny faire un clic droit sur le fichier puis sélectionner télécharger vers.

Le fichier apparaitra dans la mémoire.

Le fichier à verser est celui nommer ci-dessus en téléchargement

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

1
from machine import ADC, Pin # il faut déclarer la broche et un fonctionnement analogique
2
from time import sleep # déclaration des temporisations
3
b= 894 #à remplacer par votre valeur
4
a= 2.47  #à remplacer par votre valeur
5
6
ky = ADC(Pin(34))     # config sur ESP32 d'objet ADC sur la broche 34
7
# pour un ESP32 la ligne suivante permet de mesurer jusqu'à 3.3V sinon la tension max sera de 1V
8
ky.atten(ADC.ATTN_11DB)
9
10
while True:
11
    mesure = ky.read()        # conversion analogique-numérique 0-4095 avec un ESP32
12
		ValeurPhysique=(mesure-b)/a
13
    print(ValeurPhysique)    # affichage sur la console de la valeur physique du capteur
14
    sleep(1) # attente d'une seconde