huidité — Arduino Uno simulation

An interactive Arduino Uno circuit simulation you can run free in your browser on Velxio, by alexis-pal.

Components

Sketch code

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "DHT.h"

// Configuration du capteur DHT22 sur la broche 8
#define DHTPIN 8
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

// Configuration de l'écran LCD I2C (Adresse 0x27, 16 colonnes, 2 lignes)
// Utilisation explicite du constructeur compatible avec la bonne bibliothèque
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  Serial.begin(9600);
  
  // Initialisation du capteur DHT
  dht.begin();
  
  
 
  
  // Configuration des broches de sortie
  pinMode(7, OUTPUT); // LED Rouge
  pinMode(6, OUTPUT); // LED Verte
  pinMode(9, OUTPUT); // Relais / Moteur
  
  delay(2000);
  lcd.clear();
}

void loop() {
  // Lecture des données du capteur
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  // Vérification si la lecture a échoué
  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("Erreur de lecture DHT");
    lcd.setCursor(0, 0);
    lcd.print("Erreur Capteur  ");
    lcd.setCursor(0, 1);
    lcd.print("                ");
  } else {
    // Affichage dans le moniteur série
    Serial.print("Humidity: ");
    Serial.print(humidity, 1);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(temperature, 1);
    Serial.println(" *C");


  }

  // Logique de contrôle de l'humidité (> 70%) -> LED Rouge (pin 7)
  if (humidity > 70) { 
    digitalWrite(7, HIGH);
  } else {
    digitalWrite(7, LOW);
  }

  // Logique de contrôle de la température (>= 26°C) -> LED Verte (pin 6) & Relais (pin 9)
  if (temperature >= 26) { 
    digitalWrite(6, HIGH);
    digitalWrite(9, HIGH); // Active le relais / moteur
  } else {
    digitalWrite(6, LOW);
    digitalWrite(9, LOW);  // Désactive le relais / moteur
  }

  delay(2000); // Attente de 2 secondes avant la prochaine lecture
}