New Technology Design

Electronique

Real-Time Temperature Monitoring with DHT11 Sensor and Arduino

Introduction

La surveillance de la température et de l’humidité en temps réel est essentielle pour de nombreuses applications, de la domotique à la recherche scientifique. Dans cet article, nous allons montrer comment mesurer et visualiser en temps réel les données du capteur de température DHT11 avec Arduino et une interface graphique. Cette visualisation rend plus facile le suivi et l’analyse des variations de température dans un environnement donné.

1. Matériel et Prérequis

  1. Matériel :
    • Arduino : Uno.
    • Capteur DHT11 : Capteur de température et d’humidité.
    • Câbles de connexion
    • Ordinateur : Utilisé pour exécuter l’interface graphique.
  2. Logiciel :
    • IDE Arduino : Pour programmer le microcontrôleur.
    • Bibliothèque DHT pour Arduino : Permet de lire les données du capteur DHT11.
    • Interface graphique (UI) : SchreinUIBuilder

2. Connexions du circuit

3. Arduino Code

Le code suivant lit les valeurs de température et d’humidité et l’envoie au port série, permettant à l’interface UI de lire ces valeurs.

#include <DHT.h>
#include <SchreinUIBuilder.h>

// Définition des constantes
#define DHTPIN 2       // Broche de données du DHT11 connectée au pin 2
#define DHTTYPE DHT11  // Type de capteur (DHT11)

// Initialisation du capteur
DHT dht(DHTPIN, DHTTYPE);

//
SchreinUIBuilder parser(Serial);

void setup() {
  // Démarrage de la communication série
  Serial.begin(115200);
  
  // Initialisation du capteur DHT
  dht.begin();
}

void loop() {  

  // Lecture de l'humidité
  float h = dht.readHumidity();
  // Lecture de la température en Celsius
  float t = dht.readTemperature();

  // Vérification si la lecture a échoué
  if (isnan(h) || isnan(t)) {
    return;
  }

  // Création des trames
  String frames[] = {
      parser.command("SnerckAGauge1", "Value", String(t)),
      parser.command("SnerckAGauge2", "Value", String(h)),     
      parser.command("SnerckDataViz1", "Humidity", String(h)),
      parser.command("SnerckDataViz1", "Temperature", String(t))
  };
    
    // Envoi des trames
    parser.sendFrames(frames, 4);
    Serial.println(); // Nouvelle ligne pour meilleure lisibilité

  delay(300);    
}

4. Interface graphique

5. Video

6. File Download

7. Application Desktop (Schrein UI Builder version Beta)

Leave a Reply