#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include <SPI.h>
#include <DHT.h>
#define TFT_CS 10
#define TFT_RST 9
#define TFT_DC 8
#define DHTPIN 2
#define DHTTYPE DHT22
#define TRIGGER_PIN 3 // Broche TRIGGER du capteur ultrasonique
#define ECHO_PIN 4 // Broche ECHO du capteur ultrasonique
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);
DHT dht(DHTPIN, DHTTYPE);
long duration, distance;
void setup() {
Serial.begin(9600);
tft.begin();
dht.begin();
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop() {
// Mesurer la température et l'humidité
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Mesurer la distance
digitalWrite(TRIGGER_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = duration * 0.034 / 2;
// Effacer l'écran
tft.fillScreen(ILI9341_BLACK);
// Afficher la température en rouge
tft.setCursor(0, 40);
tft.setTextColor(ILI9341_RED);
tft.setTextSize(2);
tft.print("Temperature: ");
tft.print(temperature);
tft.println(" C");
// Afficher l'humidité en vert
tft.setCursor(0, 90);
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(2);
tft.print("Humidity: ");
tft.print(humidity);
tft.println(" %");
// Afficher la distance en bleu
tft.setCursor(0, 140);
tft.setTextColor(ILI9341_BLUE);
tft.setTextSize(2);
tft.print("Distance: ");
tft.print(distance);
tft.println(" cm");
delay(2000); // Attendre 2 secondes avant la prochaine lecture
}