[Aide] Disfonctionnement "Capteur de température" DHT11

Re, Bonjour

J'ai refait le teste, la "lib" que j'utilise n'est peut être pas super mais elle marche !
J’obtiens des valeurs "corrects" toutes les 5 secondes (delay 5000)

Si j'inclue a mon programme la partie RTC mais surtout le rafraichissement de 1 seconde , pour voir défilé les secondes a l'écran OLED.

Alors les valeurs que je reçois du DHT11 sont moins précise, et reçu 8 fois tout les (delay x)

EX :
T: 31C / H: 31%
T: 31C / H: 31%
T: 31C / H: 31%
T: 31C / H: 31%
T: 31C / H: 31%
T: 31C / H: 31%
T: 31C / H: 31%
T: 31C / H: 31% // Delay 1000
T: 32C / H: 30%
T: 32C / H: 30%
T: 32C / H: 30%
T: 32C / H: 30%
T: 32C / H: 30%
T: 32C / H: 30%
T: 32C / H: 30%
T: 32C / H: 30% // Delay 1000
T: 32C / H: 35%
T: 32C / H: 35%
T: 32C / H: 35%
T: 32C / H: 35%
T: 32C / H: 35%
T: 32C / H: 35%
T: 32C / H: 35%
T: 32C / H: 35% // Delay 1000
T: 34C / H: 38%
T: 34C / H: 38%
T: 34C / H: 38%
T: 34C / H: 38%
T: 34C / H: 38%
T: 34C / H: 38%
T: 34C / H: 38%
T: 34C / H: 38%

Quelqu'un aurais t'il une idée d’où peut survenir le problème ?

#68tjs

Merci pour ta réponse même si je n'ai pas vraiment tous compris.
Comme je le disait je suis nouveau dans le "monde" Arduino.
J'ai reçu il y a quelques jours seulement mon premier kit et quelques modules (Dont le DHT11 et le SSD1307) afin de testé un peut tous !
Aillent pour but final de créé un jardin eco/intelligent :cold_sweat:

EDIT :

Je viens de refaire le programme au complet en n'utilisent uniquement les "lib" Adafruit.
Le tout et visiblement plus stable !!!

Voici le nouveau code :

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
#include <Wire.h>
#include "RTClib.h"

#define NUMFLAKES 10
#define XPOS 0
#define YPOS 0
#define DELTAY 2

#define OLED_MOSI   11
#define OLED_CLK   13
#define OLED_DC    9
#define OLED_CS    10
#define OLED_RESET 8
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

#define DHTPIN            2
#define DHTTYPE           DHT11 
DHT_Unified dht(DHTPIN, DHTTYPE);

RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = {"DIM", "LUN", "MAR", "MER", "JEU", "VEN", "SAM"};


void setup()   { 
                 
  display.begin();
  delay(1);
  display.display();
  display.clearDisplay();
  dht.begin();
  Serial.begin(9600);
  if (! rtc.begin()) {
    Serial.println("RTC Introuvable ");
    while (1);}
  if (! rtc.isrunning()) {
    Serial.println("RTC Ne Fonctionne Pas !");}
}
void loop() {
  
  DateTime now = rtc.now();
   
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(" (");
    Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
    Serial.print(") ");
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();


    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.setCursor(42,0);
    display.print(now.hour(), DEC);
    display.print(":");
    display.print(now.minute(), DEC);
    display.print(":");
    display.print(now.second(),DEC);
    display.setCursor(23,13);
    display.print(daysOfTheWeek[now.dayOfTheWeek()]);
    display.print(": ");
    display.print(now.day(), DEC);
    display.print("/");
    display.print(now.month(), DEC);
    display.print("/");
    display.print(now.year(), DEC);
 
  sensors_event_t event; 
   
  dht.temperature().getEvent(&event);
  if (isnan(event.temperature)) {
    Serial.println("Error reading temperature!");
  }
  else {
    Serial.print("Temperature: ");
    Serial.print(event.temperature);
    Serial.println(" *C");
    display.setCursor(23,25);
    display.print("T:");
    display.print(event.temperature, 0);
    display.print("C");}
  
  dht.humidity().getEvent(&event);
  if (isnan(event.relative_humidity)) {
    Serial.println("Error reading humidity!"); }
    
  else {
    Serial.print("Humidity: ");
    Serial.print(event.relative_humidity);
    Serial.println("%");
    display.setCursor(78,25);
    display.print("H:");
    display.print(event.relative_humidity, 0);
    display.print("%");}

    delay(1000);
    display.display();
    display.clearDisplay();
}

J'aimerais a présent savoir si il existe d'autre type de police de texte que celle présente (display.setTextSize(1),
Et comment ajouté un 0 si les valeurs sont inférieur à 10
Ex: if (now.hour <10)
{ display.print("0");}

Merci a vous Bonne journée