Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Projet capteur DHT11 température/humidité avec indicateurs LED et buzzer piézo

Composants

Capteur DHT11 (4 broches) 1
Arduino UNO 1
LEDs : 1 verte, 2 rouges 3
Résistances 220 Ω (pour LEDs) 3
Haut-parleur piézo (buzzer passif) 1
Fils de connexion 12

Logiciels

Fonctionnement

Projet débutant : lecture température/humidité via DHT11, affichage série + indicateurs visuels/sonores selon seuils de température :

Mesure toutes les 2 secondes. Gestion d'erreur si lecture échoue.

Câblage

Code complet

#include <Adafruit_Sensor.h>
#include <DHT.h>

#define DHTPIN 5
#define DHTTYPE DHT11
#define LED_COLD A0
#define LED_PERFECT A1
#define LED_HOT A2
#define SPEAKER_PIN 9

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  Serial.println(F("Test DHT11 !"));
  dht.begin();
  pinMode(LED_COLD, OUTPUT);
  pinMode(LED_PERFECT, OUTPUT);
  pinMode(LED_HOT, OUTPUT);
  pinMode(SPEAKER_PIN, OUTPUT);
}

void loop() {
  delay(2000);
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);

  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Erreur lecture DHT !"));
    return;
  }

  Serial.print(F("Humidité: ")); Serial.print(h); Serial.print(F(" %\t"));
  Serial.print(F("Temp: ")); Serial.print(t); Serial.println(F(" *C"));

  if (t <= 20.0) {
    Serial.println(F("Trop froid !"));
    digitalWrite(LED_COLD, HIGH);
    tone(SPEAKER_PIN, 1000, 1000); // 1kHz, 1s
    delay(1000);
    digitalWrite(LED_COLD, LOW);
  }
  else if (t > 20.0 && t < 27.0) {
    Serial.println(F("Température idéale !"));
    digitalWrite(LED_PERFECT, HIGH);
    delay(2000);
    digitalWrite(LED_PERFECT, LOW);
  }
  else if (t >= 27.0) {
    Serial.println(F("Trop chaud !"));
    digitalWrite(LED_HOT, HIGH);
    tone(SPEAKER_PIN, 2000, 1000); // 2kHz, 1s
    delay(1000);
    digitalWrite(LED_HOT, LOW);
  }
}

Note : le code original utilisait digitalWrite(speakerPin, HIGH/LOW) ce qui ne produit qu'un clic. Remplacé par tone() pour un vrai bip audible. La condition if (20 < t < 27) en C++ ne fait pas ce qu'on croit (évalué gauche→droite) ; corrigé en t > 20.0 && t < 27.0.

Schéma Fritzing

Fichier .fzz fourni dans le projet original (renommé depuis un schéma TMP36).

Idées d'amélioration

Projet pédagogique parfait pour découvrir les capteurs environnementaux, les bibliothèques Arduino, et la logique conditionnelle.

Processus de fabrication

  1. Réaliser votre premier projet IoT avec Raspberry Pi, DHT11 et ThingSpeak
  2. Construire un système aéroponique automatisé avec Raspberry Pi et capteur d'humidité
  3. Intégration d'un capteur thermocouple avec l'Arduino Portenta H7 via le MAX6675
  4. Construire un jeu gyroscopique temps réel avec Arduino Nano et capteur MPU-6050
  5. Capteur CO2 K30 : Surveillance en temps réel de la qualité de l'air intérieur
  6. Unopad : contrôleur MIDI Arduino fluide pour Ableton Live
  7. Enregistreur de Température et Humidité Arduino avec DHT11 et Shield Ethernet
  8. Bocal Intelligent IoT avec ESP8266, Arduino et Capteur Ultrasonique – Surveillance Temps Réel
  9. Capteur d'obstacle IR simple avec Arduino — LED IR + Photodiode