Crowtail-DHT20
https://www.elecrow.com/wiki/crowtail--dht20.html
Crowtail-DHT20
Model: CRT10251D
Port I2C 0x38 in default
https://www.elecrow.com/wiki/image/5/52/Crowtail-DHT20.zip Librairie
DHT20.ino
#include <DHT20.h>
/*!
* @brief Construct the function
* @param pWire IC bus pointer object and construction device, can both pass or not pass parameters, Wire in default.
* @param address Chip IIC address, 0x38 in default.
*/
DHT20 dht20;
void setup()
{
Serial.begin(115200);
//Initialize sensor
while(dht20.begin())
{
Serial.println("Initialize sensor failed");
delay(1000);
}
}
void loop()
{
//Get ambient temperature
Serial.print("temperature:"); Serial.print(dht20.getTemperature());Serial.print("C");
//Get relative humidity
Serial.print(" humidity:"); Serial.print(dht20.getHumidity()*100);Serial.println(" %RH");
delay(1000);
}
Code sur Oled
Grove Base for XIAO ✅
XIAO-ESP32S3
OLED Display 128×64 (Port I2C : 0x3C)
#include <Wire.h>
#include <U8g2lib.h>
#include "DHT20.h"
// Initialisation de l'écran OLED SSD1306 via I2C
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
// Initialisation du capteur DHT20
DHT20 dht20;
void setup() {
Wire.begin();
Serial.begin(115200);
dht20.begin();
u8g2.begin();
}
void loop() {
float temp = dht20.getTemperature();
float hum = dht20.getHumidity();
Serial.print("Température : ");
Serial.print(temp);
Serial.print(" °C, Humidité : ");
Serial.print(hum);
Serial.println(" %");
// Affichage sur OLED
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_ncenB14_tr); // Police lisible
u8g2.setCursor(0, 24);
u8g2.print("T: ");
u8g2.print(temp, 1);
u8g2.print(" C");
u8g2.setCursor(0, 48);
u8g2.print("H: ");
u8g2.print(hum, 1);
u8g2.print(" %");
u8g2.sendBuffer();
delay(2000);
}