#include <Adafruit_SSD1306.h>
#include <Wire.h>
#include <ESP32Servo.h>
#include "DHTesp.h"
// Définition de l'afficheur OLED
#define SCREEN_WIDTH 128 // OLED largeur en pixels
#define SCREEN_HEIGHT 64 // OLED hauteur en pixels
#define OLED_RESET -1 // Reset
#define OLED_ADDR 0x3C // Adresse sur le bus I2C de l'écran Oled
// Initialisation de l'écran
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
#define SDA_PIN 21
#define SCL_PIN 22
// Configuration du potentiomètre
#define TH_PIN 25
// Configuration du servo
// Vous devez configurez le Pin SERVO_PIN et créer un servo comme l'explique la documentation
// #define SERVO_PIN
// ....
// Configuration du DTH22
// Vous devez configurez le Pin DHT_PIN et créer un composant DHT comme l'explique la documentation
// #define DHT_PIN
// ...
void setup() {
Serial.begin(115200);
Wire.begin(SDA_PIN,SCL_PIN);
if (!display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR)) {
Serial.println(F("SSD1306 non trouvé"));
for (;;); // Don't proceed, loop forever
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
// affichage du message de bienvenue
int annee = 2024;
display.setCursor(0,0);
display.println("Bienvenue en : " + String(annee, 1) + "");
// initialisation du servo
//...
// initialisation du DHT 22
//...
}
void loop() {
// lecture de la valeur du potentiommetre
// int valPotentiometre = ...
// Conversion en tension de la valeur du potentiometre
// float tension = ...
// lecture des valeurs du DTH22
// TempAndHumidity data = ...
// Affichage des valeurs
display.clearDisplay();
display.setCursor(0,0);
//display.println("Temp: " + String(data.temperature, 2) + "dg");
//display.println("Humidite: " + String(data.humidity, 1) + "%");
//display.println("---");
//display.println("tension : " + String(tension, 1) + "dg");
display.display();
}