Arduino - Système de refroidissement utilisant un capteur DHT

Dans ce tutoriel, nous allons réguler la température à l'aide d'un ventilateur et d'un capteur DHT11 ou DHT22. Lorsque la température est trop élevée, activez le ventilateur de refroidissement. Lorsque la température est fraîche, éteignez le ventilateur de refroidissement. Si vous souhaitez utiliser un capteur DS18B20 à la place du capteur DHT, consultez Arduino - Système de refroidissement utilisant le capteur DS18B20.

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×DHT11 Temperature and Humidity Sensor
1×Relay
1×12V DC Cooling Fan
1×(Alternative) 5V DC Cooling Fan
1×12V Power Adapter
1×DC Power Jack
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

You can use DHT22 sensor instead of DHT11 sensor.

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du ventilateur de refroidissement et du capteur DHT

Le ventilateur utilisé dans ce tutoriel utilise une alimentation de 12v. Si le courant est fourni pour le ventilateur, celui-ci s'active et vice versa. Pour contrôler le ventilateur par Arduino, nous devons utiliser un relais intermédiaire.

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

Diagramme de câblage

  • Schéma de câblage avec module DHT11
Schéma de câblage du système de ventilateur de refroidissement Arduino

This image is created using Fritzing. Click to enlarge image

  • Schéma de câblage avec module DHT22
Schéma de câblage du système de ventilation Arduino

This image is created using Fritzing. Click to enlarge image

Fonctionnement du système

  • Arduino lit la température du capteur de température
  • Si la température dépasse un seuil supérieur, Arduino active le ventilateur
  • Si la température descend en dessous d'un seuil inférieur, Arduino éteint le ventilateur

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

Si vous souhaitez allumer et éteindre le ventilateur lorsque la température est supérieure et inférieure à une valeur spécifique respectivement, vous devez simplement régler le seuil supérieur et le seuil inférieur à la même valeur.

Code Arduino

Code Arduino pour système de refroidissement avec capteur DHT11

/* * 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-cooling-system-using-dht-sensor */ #include "DHT.h" #define RELAY_FAN_PIN A5 // Arduino pin connected to relay which connected to fan #define DHTPIN 12 // Arduino pin connected to relay which connected to DHT sensor #define DHTTYPE DHT11 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 dht(DHTPIN, DHTTYPE); float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial dht.begin(); // initialize the sensor pinMode(RELAY_FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { // wait a few seconds between measurements. delay(2000); temperature = dht.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 fan is turned on"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("The fan is turned off"); digitalWrite(RELAY_FAN_PIN, LOW); // turn on } } }

Code Arduino pour le système de refroidissement avec capteur DHT22

/* * 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-cooling-system-using-dht-sensor */ #include "DHT.h" #define RELAY_FAN_PIN A5 // Arduino pin connected to relay which connected to fan #define DHTPIN 12 // Arduino pin connected to relay which connected to DHT sensor #define DHTTYPE DHT22 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 dht(DHTPIN, DHTTYPE); float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial dht.begin(); // initialize the sensor pinMode(RELAY_FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { // wait a few seconds between measurements. delay(2000); temperature = dht.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 fan is turned on"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("The fan is turned off"); digitalWrite(RELAY_FAN_PIN, LOW); // turn on } } }

Dans les codes ci-dessus, l'Arduino active le ventilateur lorsque la température dépasse 25°C, et maintient le ventilateur activé jusqu'à ce que la température descende en dessous de 20°C.

Étapes rapides

  • Connectez l'Arduino au PC via le câble USB
  • Ouvrez Arduino IDE, sélectionnez la bonne carte et le port correspondant
  • Naviguez vers l'icône Libraries sur la barre gauche de l'Arduino IDE.
  • Recherchez "DHT", puis trouvez la bibliothèque de capteur DHT par Adafruit
  • Cliquez sur le bouton Install pour installer la bibliothèque.
Bibliothèque de capteur DHT Arduino
  • Vous devrez installer d'autres bibliothèques dépendantes.
  • Cliquez sur le bouton Install All pour toutes les dépendances de 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 dans l'IDE Arduino pour téléverser le code vers Arduino
  • Rendez l'environnement autour du capteur plus chaud ou plus froid
  • Observez l'état du ventilateur

Connaissances Avancées

La méthode de contrôle ci-dessus est le régulateur tout ou rien, également connu sous le nom de signalisateur ou régulateur "bang-bang". Cette méthode est très simple à mettre en œuvre.

Il existe une méthode alternative appelée le régulateur PID. Avec le régulateur PID, la température souhaitée est plus stable mais très difficile à comprendre et à mettre en œuvre. Par conséquent, le régulateur PID n'est pas populaire dans le contrôle de température.

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!