Arduino - DHT22 - Relais

Dans ce tutoriel, nous allons apprendre à utiliser un Arduino pour contrôler un relais en fonction de la température relevée par le capteur DHT22.

À propos du relais et du capteur DHT22

Si vous ne connaissez pas le capteur de température DHT22 et le relais (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :

Diagramme de câblage

Schéma de câblage du relais du capteur Arduino dht22

This image is created using Fritzing. Click to enlarge image

Comment fonctionne le système

  • Arduino lit la température à partir du capteur DHT22
  • Si la température dépasse un seuil supérieur, Arduino active le relais
  • Si la température descend en dessous d'un seuil inférieur, Arduino désactive le relais

Le processus ci-dessus est répété indéfiniment dans la boucle.

Si vous souhaitez activer et désactiver le relais lorsque la température est au-dessus et en dessous d'une valeur spécifique respectivement, vous devez simplement définir le seuil supérieur et le seuil inférieur à la même valeur.

Code Arduino

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino/arduino-dht22-relay */ #include "DHT.h" #define RELAY_PIN A5 // Arduino pin connected to relay #define DHT22_PIN 2 // Arduino pin connected to DHT22 sensor const int TEMP_THRESHOLD_UPPER = 25; // upper threshold of temperature, change to your desire value const int TEMP_THRESHOLD_LOWER = 20; // lower threshold of temperature, change to your desire value DHT dht22(DHT22_PIN, DHT22); float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial dht22.begin(); // initialize the sensor pinMode(RELAY_PIN, OUTPUT); // initialize digital pin as an output } void loop() { // wait a few seconds between measurements. delay(2000); temperature = dht22.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { if(temperature > TEMP_THRESHOLD_UPPER){ Serial.println("The relay is turned on"); digitalWrite(RELAY_PIN, HIGH); // turn on } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("The relay is turned off"); digitalWrite(RELAY_PIN, LOW); // turn on } } }

Dans les codes ci-dessus, l'Arduino active le relais lorsque la température dépasse 25°C, et maintient le relais activé jusqu'à ce que la température soit inférieure à 20°C.

Étapes rapides

  • Connectez l'Arduino au PC via un câble USB
  • Ouvrez l'Arduino IDE, sélectionnez la bonne carte et le bon port
  • Naviguez jusqu'à l'icône Libraries sur la barre gauche de l'Arduino IDE.
  • Recherchez "DHT", puis trouvez la bibliothèque de capteurs DHT par Adafruit
  • Cliquez sur le bouton Install pour installer la bibliothèque.
Bibliothèque de capteur DHT Arduino
  • On vous demandera d'installer d'autres dépendances de bibliothèque.
  • Cliquez sur le bouton Install All pour toutes les dépendances de la bibliothèque.
Bibliothèque de capteurs unifiée Arduino Adafruit
  • Copiez le code ci-dessus correspondant au capteur que vous avez et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour télécharger le code sur Arduino
  • Rendez l'environnement autour du capteur plus chaud ou plus froid
  • Observez l'état du relais

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!