//déclaration des librairies
#include <DHT.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include <Fonts/FreeSans9pt7b.h>
// Définir les broches
#define TFT_CS 5
#define TFT_DC 2
#define TFT_RST 4
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);
//on définie la broche sur laquelle le capteur est connectée et on instancie l’objet dht
#define DHTPIN 14
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
float temp = 0;
float valeurPrec = -1; // pour forcer le premier affichage
//1ère fonction « setup » qui ne s’exécute qu’une seule fois
void setup()
{
//permet d’utiliser le moniteur série et de régler sa vitesse
Serial.begin(115200);
//initialisation du capteur
dht.begin();
tft.begin();
tft.setRotation(1);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(50, 50);
tft.println("Hello !");
delay(2000);
tft.fillScreen(ILI9341_BLACK);
//tft.setFont(&FreeSans9pt7b);
}
//2ème fonction «loop» qui s’exécute en boucle
void loop()
{
//on récupère les valeurs de températures dans des variables de type flottantes
temp = dht.readTemperature();
//float hum = dht.readHumidity();
if (temp != valeurPrec)
{
// Effacer uniquement l'ancienne zone
tft.fillRect(10, 50, 150, 300, ILI9341_BLACK);
// Afficher la nouvelle valeur
tft.setCursor(10, 50);
tft.print(temp);
tft.write(32);
tft.drawCircle(200, 50, 6, ILI9341_WHITE); // petit cercle en haut à droite du chiffre
valeurPrec = temp;
}
delay(200);
}