#include <U8g2lib.h>
#include <Wire.h>
// Capteur
#define pinHumid A0
#define pinLed D2
// Valeurs de calibrage
#define solSec 0 // Valeurs brutes convertisseur
#define solMouille 4095
#define seuilLed 30 // en % d'humidité
// OLED 72x40 I2C SDA=5, SCL=6
//U8G2_SSD1306_72X40_ER_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE, 6, 5);
U8G2_SSD1306_72X40_ER_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
//U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
void setup() {
Serial.begin(115200);
pinMode(pinHumid, INPUT);
pinMode(pinLed, OUTPUT);
u8g2.begin();
} // Fin setup()
void loop() {
int humidBrut = analogRead(pinHumid);
int humidPc = map(humidBrut,solSec,solMouille,0,100);
//Affichage sur moniteur série
Serial.print("Humidité : Valeur brute :");
Serial.print(humidBrut);
Serial.print("/4095 - Valeur calculee :");
Serial.print(humidPc);
Serial.println("%");
// Affichage sur écran OLED
u8g2.clearBuffer();
//u8g2.setFont(u8g2_font_logisoso16_tf);
u8g2.setFont(u8g2_font_luBS08_tr);
u8g2.setCursor(0, 9);
u8g2.print("Capteur");
u8g2.setCursor(0, 19);
u8g2.print(humidBrut);
u8g2.setCursor(0, 29);
u8g2.print("Calcul");
u8g2.setCursor(0, 39);
u8g2.print(humidPc);u8g2.print("%");
u8g2.sendBuffer();
// Gestion LED
if(humidPc <= seuilLed) {
digitalWrite(pinLed,HIGH);
}
else {
digitalWrite(pinLed,LOW);
}
// Petite pause qui fait plaisir
delay(100);
}// Fin loop()