Difference between revisions of "Crowtail-DHT20"
| (8 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
https://www.elecrow.com/wiki/crowtail--dht20.html | https://www.elecrow.com/wiki/crowtail--dht20.html | ||
| + | |||
| + | [[File:Crowtail-DHT20 1.png|125px]] | ||
Crowtail-DHT20<br> | Crowtail-DHT20<br> | ||
| Line 7: | Line 9: | ||
Port I2C 0x38 in default<br> | Port I2C 0x38 in default<br> | ||
| + | https://www.elecrow.com/wiki/image/5/52/Crowtail-DHT20.zip Librairie | ||
| + | |||
| + | DHT20.ino | ||
<pre> | <pre> | ||
#include <DHT20.h> | #include <DHT20.h> | ||
| Line 34: | Line 39: | ||
delay(1000); | delay(1000); | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | <br> | ||
| + | ---- | ||
| + | |||
| + | Code sur Oled & Serial | ||
| + | |||
| + | [[File:Grove Base for XIAO 1.PNG|200px]] | ||
| + | [[File:XIAO-ESP32S3 1.PNG|125px]] | ||
| + | [[File:Crowtail-DHT20 1.png|125px]] | ||
| + | [[File:OLED Display 128x64 recto.jpg|150px]] | ||
| + | |||
| + | |||
| + | |||
| + | Grove Base for XIAO ✅<br> | ||
| + | XIAO-ESP32S3 <br> | ||
| + | Crowtail-DHT20 (Port <b>I2C</b> : 0x38) <br> | ||
| + | OLED Display 128×64 (Port <b>I2C</b> : 0x3C)<br> | ||
| + | |||
| + | |||
| + | <pre> | ||
| + | #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); | ||
} | } | ||
</pre> | </pre> | ||
Latest revision as of 23:58, 30 October 2025
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 & Serial
Grove Base for XIAO ✅
XIAO-ESP32S3
Crowtail-DHT20 (Port I2C : 0x38)
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);
}