Le DHT11 est un capteur de température et d’humidité à faible coût. Ce n’est pas le capteur le plus rapide du marché, mais son prix bon marché le rend utile pour les expérimentations ou les projets où vous n’avez pas besoin de nouvelles lectures plusieurs fois par seconde. L’appareil ne nécessite que trois connexions au Pi. +3.3v, masse et une broche GPIO.
Spécifications DHT11
L’appareil lui-même a quatre broches mais l’une d’entre elles n’est pas utilisée. Vous pouvez acheter l’appareil à 4 broches seul ou dans le cadre d’un module à 3 broches.
Les modules ont trois broches et sont faciles à connecter directement à l’en-tête GPIO du Pi.
- Humidité : 20-80% (5% précision)
- Température : 0-50°C (±2°C précision)
Les fabricants ne vous recommandent pas de lire les données de cet appareil plus d’une fois toutes les 2 secondes. Si vous le faites, vous pouvez obtenir des lectures incorrectes.
configuration materielle
Le dispositif à 4 broches nécessitera une résistance (4,7K-10K) à placer entre la broche 1 (3,3V) et la broche 2 (données).
Les modules à 3 broches auront généralement cette résistance incluse, ce qui facilite un peu le câblage. Pour cette raison, j’ai mis la main sur le module que je pouvais ensuite attacher au Pi avec un morceau de câble Dupont à 3 voies.
Différents fournisseurs peuvent câbler les broches du module différemment, alors vérifiez les marquages PCB pour identifier Vcc (+), les données et la terre (-).
Les 3 broches doivent être connectées au Pi comme indiqué dans le tableau ci-dessous :
Broche DHT | Signal | Broche Pi |
1 | 3.3V | 1 |
2 | Données/Sortie | 11 (GPIO17) |
3 | non utilisé | – |
4 | Terre | 6 ou 9 |
Votre broche de données peut être attachée à n’importe quelle broche GPIO que vous préférez. Dans mon exemple, j’utilise la broche physique 11 qui est GPIO 17. Voici un capteur à 4 broches connecté à l’en-tête GPIO du Pi. Il a une résistance de 10K entre les broches 1 (3.3V) et 2 (Data/Out).
Bibliothèque Python
Le DHT11 nécessite l’application d’un protocole spécifique à la broche de données. Afin de gagner du temps en essayant de l’implémenter vous-même, il est beaucoup plus facile d’utiliser la bibliothèque Adafruit DHT.
La bibliothèque traite les données qui doivent être échangées avec le capteur mais elle est sensible aux problèmes de synchronisation. Le système d’exploitation du Pi peut gêner l’exécution d’autres tâches. Pour compenser cela, la bibliothèque demande un certain nombre de lectures à l’appareil jusqu’à ce qu’elle en obtienne une qui soit valide.
Configuration du logiciel
Pour commencer, mettez à jour vos listes de paquets et installez quelques bibliothèques Python :
sudo apt-get update sudo apt-get install build-essential python-dev
Clonez ensuite la librairie Adafruit depuis leur dépôt :
git clone https://github.com/adafruit/Adafruit_Python_DHT.git cd Adafruit_Python_DHT
Installez ensuite la bibliothèque pour Python 2 et Python 3 :
sudo python setup.py install sudo python3 setup.py install
Espérons qu’à ce stade, la bibliothèque soit installée et prête à être utilisée dans un script Python.
Exemple de script Python Adafruit
Adafruit fournit un exemple de script que vous pouvez utiliser pour vérifier que votre capteur fonctionne correctement.
cd ~ cd Adafruit_Python_DHT cd examples
Puis :
python AdafruitDHT.py 11 17
L’exemple de script prend deux paramètres. Le premier est le type de capteur, il est donc réglé sur « 11 » pour représenter le DHT11. Le second est le numéro GPIO, donc pour mon exemple, j’utilise « 17 » pour GPIO17. Vous pouvez changer cela si vous utilisez une broche GPIO différente pour votre câble de données/sortie.
Vous devriez voir une sortie semblable à celle-ci :
Temp=22.0* Humidity=68.0%
Utilisation de la bibliothèque dans d’autres scripts Python
Une fois que la bibliothèque Adafruit est installée et que l’exemple de script fonctionne, vous pouvez utiliser le capteur dans vos propres scripts. Importez simplement le module, configurez quelques variables et appelez la fonction « read_retry » :
import Adafruit_DHT # Set sensor type : Options are DHT11,DHT22 or AM2302 sensor=Adafruit_DHT.DHT11 # Set GPIO sensor is connected to gpio=17 # Use read_retry method. This will retry up to 15 times to # get a sensor reading (waiting 2 seconds between each retry). humidity, temperature = Adafruit_DHT.read_retry(sensor, gpio) # Reading the DHT11 is very sensitive to timings and occasionally # the Pi might fail to get a valid reading. So check if readings are valid. if humidity is not None and temperature is not None: print('Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity)) else: print('Failed to get reading. Try again!')
Ce script peut être téléchargé directement sur votre Pi en utilisant :
wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/dht11.py
et lancez en utilisant :
python dht11.py
Acheter un DHT11
Le DHT11 est disponible auprès de nombreux vendeurs de composants électriques. Voici une sélection :
Certains ne vendent que l’appareil lui-même, vous devrez donc peut-être faire le tour si vous préférez le module à 3 broches.
Dernières pensées
Le DHT11 est probablement le mieux adapté aux projets où des lectures de données rapides ne sont pas nécessaires et où l’environnement ne devrait pas subir de changements soudains de température ou d’humidité. Une station météo serait une idée de projet, mais un contrôleur de chauffage central peut nécessiter quelque chose de différent.
Pour les projets qui nécessitent un taux de lecture de température plus rapide (<2 sec), j'utiliserais probablement un DS18B20 car ils répondent beaucoup plus rapidement aux changements de température. Mais avec ces deux capteurs coûtant moins de 5 $, vous pouvez probablement vous permettre d'acheter les deux et d'expérimenter.
-
AZDelivery DHT11 capteur d'humidité et de température Compatible avec Arduino et Raspberry Pi y Compris Un eBook✅ Il utilise des modules numériques dédiés et d'acquisition de la technologie de capteur de température et d'humidité pour s'assurer que les produits avec une grande fiabilité et une excellente stabilité à long terme. ✅ La pleine échelle de calibration sans nécessiter de re-calibrage peut être utilisé de manière interchangeable. ✅ Le produit a une excellente qualité, une réponse rapide, la capacité anti-interférences, le coût élevé et d'autres avantages. ✅ Le schéma de câblage du single-wire rend facile à être intégré à d'autres applications.Et le protocole de communication simple réduit considérablement l'effort de programmation nécessaire. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.
-
AZDelivery DHT22 AM2302 Capteur de Température et d’Humidité avec Câble Compatible avec Arduino et Raspberry Pi incluant Un E-Book!✅ AZ-Delivery DHT22/AM2302 est le choix idéal si vous avez besoin de mesures précises et fiables de la température et de l'humidité pour tous vos projets Raspberry Pi. ✅ Les capteurs peuvent fonctionner avec des tensions de 3,3V et 5V. ✅ En plus de la connexion à la tension de service, un seul port microcontrôleur doit être connecté au capteur. ✅ Les résultats sont sous forme de séquence des bits digitale. Donc, le capteur est idéal pour mesurer la température intérieure de la maison et pour construire une station météo. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.
-
AZDelivery Capteur numérique de température et d'humidité DHT22 AM2302 Compatible avec Arduino et Raspberry Pi, e-Book Inclus!✅ Le DHT22 est un capteur fiable pour déterminer la température et l'humidité. ✅ Etant donné que le capteur peut fonctionner avec 3,3V et 5V. ✅ Outre la tension d'alimentation, un seul port doit être connecté au capteur. ✅ Les résultats sont sous forme de séquence de bits numériques. Le capteur est donc idéal pour surveiller le climat intérieur ou installer une station météorologique. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.