Arduino - Capteur de température et d'humidité
Dans ce tutoriel, nous allons apprendre :
- Les différences entre le capteur de température et d'humidité DHT11 et DHT22
- Comment lire la valeur de température et d'humidité du DHT11 en utilisant Arduino
- Comment lire la valeur de température et d'humidité du DHT22 en utilisant Arduino
Si vous souhaitez uniquement obtenir la température, nous vous recommandons d'utiliser un capteur de température étanche DS18B20 à la place. C'est un capteur peu coûteux et soigné. Vous pouvez le placer dans de l'eau chaude ou froide.
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos des capteurs de température et d'humidité DHT11 et DHT22
Les points communs entre DHT11 et DHT22
- Les brochages sont identiques
- Le câblage vers Arduino est le même
- La programmation (avec une bibliothèque) est similaire (seule une ligne de code est différente)
Les différences entre DHT11 et DHT22
DHT11 | DHT22 | |
---|---|---|
Price | ultra low cost | low cost |
Temperature Range | 0°C to 50°C | -40°C to 80°C |
Temperature Accuracy | ± 2°C | ± 0.5°C |
Humidity Range | 20% to 80% | 0% to 100% |
Humidity Accuracy | 5% | ± 2 to 5% |
Reading Rate | 1Hz (once every second) | 0.5Hz (once every 2 seconds) |
Body size | 15.5mm x 12mm x 5.5mm | 15.1mm x 25mm x 7.7mm |
Operating Voltage | 3 to 5V | 3 to 5V |
Comme vous pouvez le voir, le DHT22 est un peu plus précis, a une plus grande portée mais est plus cher que le DHT11.
Brochage
Le capteur DHT11 et DHT22 sous leur forme originale possèdent quatre broches :
- Broche GND : doit être connectée à GND (0V)
- Broche VCC : doit être connectée à VCC (5V ou 3.3V)
- Broche DATA : la broche est utilisée pour la communication entre le capteur et l'Arduino
- Broche NC : Non connectée, nous pouvons ignorer cette broche
![Brochage des capteurs de température et d'humidité DHT11 et DHT22.](https://newbiely.fr/images/tutorial/dht-temperature-humidity-sensor-pinout.jpg)
Certains fabricants fournissent les capteurs DHT11 et DHT22 sous forme de module avec trois broches : GND, VCC et les broches DATA (ou alternativement : -, + et les broches OUT).
※ NOTE THAT:
Sous forme de module, l'ordre des broches peut varier selon les fabricants. Utilisez TOUJOURS les étiquettes imprimées sur le module. Regardez de près !
![Brochage du module de température et d'humidité DHT11 et DHT22](https://newbiely.fr/images/tutorial/dht-temperature-humidity-module-pinout.jpg)
Diagramme de câblage
Le câblage vers l'Arduino est le même pour les deux capteurs. Sous forme originale, une résistance de 5K à 10K Ohms est nécessaire pour maintenir la ligne de données haute et permettre la communication entre le capteur et l'Arduino.
Arduino - Câblage du capteur DHT11
![Schéma de câblage du capteur de température et d'humidité Arduino DHT11](https://newbiely.fr/images/tutorial/arduino-dht11-temperature-humidity-sensor-wiring-diagram.jpg)
This image is created using Fritzing. Click to enlarge image
Arduino - Câblage du capteur DHT22
![Schéma de câblage du capteur de température et d'humidité Arduino DHT22](https://newbiely.fr/images/tutorial/arduino-dht22-temperature-humidity-sensor-wiring-diagram.jpg)
This image is created using Fritzing. Click to enlarge image
Câblage du module Arduino - DHT11
La plupart des modules de capteur DHT22 possèdent une résistance intégrée, donc vous n'avez pas besoin de l'ajouter. Cela nous épargne certains travaux de câblage ou de soudure.
![Schéma de câblage du module de température et d'humidité Arduino DHT11](https://newbiely.fr/images/tutorial/arduino-dht11-temperature-humidity-module-wiring-diagram.jpg)
This image is created using Fritzing. Click to enlarge image
Câblage du module Arduino - DHT22
La plupart des modules de capteur DHT22 possèdent une résistance intégrée, vous n'avez donc pas besoin de l'ajouter. Cela nous économise quelques travaux de câblage ou de soudure.
![Schéma de câblage du module de température et d'humidité Arduino DHT22](https://newbiely.fr/images/tutorial/arduino-dht22-temperature-humidity-module-wiring-diagram.jpg)
This image is created using Fritzing. Click to enlarge image
Comment programmer le capteur de température DHTxx
La programmation pour les deux capteurs est similaire. Il n'y a qu'une seule ligne de code qui diffère.
- Inclure la bibliothèque :
- Définissez la broche Arduino connectée au capteur DHT :
- Définir le type de capteur : DHT11 ou DHT22 (Ceci est la ligne de code différente)
ou
- Déclarer l'objet DHT
- Initialiser le capteur :
- Lire l'humidité :
- Lire la température en Celsius :
- Lire la température en Fahrenheit :
Code Arduino - DHT11
Code Arduino - DHT22
Si vous comparez les deux codes ci-dessus, vous remarquerez qu'une ligne est différente (ligne 11)
Étapes rapides
- Connectez l'Arduino au PC via le câble USB
- Ouvrez l'IDE Arduino, sélectionnez la bonne carte et le bon port
- Naviguez jusqu'à l'icône Libraries sur la barre gauche de l'IDE Arduino.
- 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](https://newbiely.fr/images/tutorial/arduino-dht-library.jpg)
- On vous demandera d'installer d'autres dépendances de bibliothèques.
- Cliquez sur le bouton Install All pour installer toutes les dépendances des bibliothèques.
![Bibliothèque de capteurs unifiés Arduino Adafruit](https://newbiely.fr/images/tutorial/arduino-adafruit-unified-sensor-library.jpg)
- Copiez le code ci-dessus correspondant au capteur que vous avez et ouvrez-le avec Arduino IDE
- Cliquez sur le bouton Upload dans l'Arduino IDE pour téléverser le code vers Arduino
- Rendez l'environnement autour du capteur plus chaud ou plus froid
- Consultez le résultat sur le moniteur série.