Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Dans ce tutoriel, nous allons essayer le capteur DHT11 en utilisant Arduino.
Le DHT11 peut être utilisé pour mesurer la température et l'humidité.
Composants requis:
- Arduino Nano
- Capteur de température et d'humidité DHT11
- Mini USB
- Câbles de démarrage
Bibliothèque requise:
Bibliothèque DHT
Étape 1: connectez DHT11 à Arduino
Connectez DHT11 à Arduino à l'aide de câbles de démarrage.
Voir l'image ou suivez les instructions ci-dessous.
DHT11 vers Arduino
+ => +5V
sortie => D12
- => GND
Connectez ensuite l'arduino à l'ordinateur à l'aide d'un mini USB
Étape 2: ajouter la bibliothèque DHT
La bibliothèque DHT peut être téléchargée ici:
Bibliothèque DHT11.
Pour ajouter une bibliothèque, consultez l'image ci-dessus ou suivez les instructions ci-dessous:
Open Sketch ==> Inclure la bibliothèque ==> ajouter la bibliothèque. Zip
Recherchez le fichier de bibliothèque que vous avez téléchargé.
S'il réussit, fermez Arduino et ouvrez-le à nouveau.
Étape 3: Choisissez la carte Arduino
Allez dans Outils et ajustez la carte Arduino à l'image ci-dessus.
Carte "Arduino Nano"
Processeur "ATmega328P (ancien chargeur de démarrage)"
Pour un article plus complet, vous pouvez lire sur "Comment utiliser Arduino Nano v.3" que j'ai fait plus tôt.
Étape 4: programmer
Incluez ce code pour lire la valeur du capteur DHT11
// Capteur de température et d'humidité DHT// Exemple de bibliothèque de capteurs unifiés // Écrit par Tony DiCola pour Adafruit Industries // Publié sous licence MIT.
// NÉCESSITE les bibliothèques Arduino suivantes:
// - Bibliothèque de capteurs DHT: https://github.com/adafruit/DHT-sensor-library // - Bibliothèque de capteurs unifiés Adafruit:
#comprendre
#include #include
#define DHTPIN 2 // Broche numérique connectée au capteur DHT
// Feather HUZZAH ESP8266 note: utilisez les broches 3, 4, 5, 12, 13 ou 14 -- // La broche 15 peut fonctionner mais DHT doit être déconnecté pendant le téléchargement du programme.
// Décommentez le type de capteur utilisé:
//#définir DHTTYPE DHT11 // DHT 11 #définir DHTTYPE DHT22 // DHT 22 (AM2302) //#définir DHTTYPE DHT21 // DHT 21 (AM2301)
// Voir le guide pour plus de détails sur le câblage et l'utilisation du capteur:
//
DHT_dht unifié (DHTPIN, DHTTYPE);
uint32_t délaiMS;
void setup() {
Serial.begin(9600); // Initialiser le périphérique. dht.begin(); Serial.println(F("Exemple de capteur unifié DHTxx")); // Imprimer les détails du capteur de température. capteur_t capteur; dht.temperature().getSensor(&sensor); Serial.println(F("-------------------------------------")); Serial.println(F("Capteur de température")); Serial.print (F("Type de capteur: ")); Serial.println(sensor.name); Serial.print (F("Driver Ver: ")); Serial.println(sensor.version); Serial.print (F("Identifiant unique: ")); Serial.println(sensor.sensor_id); Serial.print (F("Valeur max: ")); Serial.print(sensor.max_value); Serial.println(F("°C")); Serial.print (F("Valeur min: ")); Serial.print(sensor.min_value); Serial.println(F("°C")); Serial.print (F("Résolution: ")); Serial.print(capteur.résolution); Serial.println(F("°C")); Serial.println(F("-------------------------------------")); // Imprimer les détails du capteur d'humidité. dht.humidité().getSensor(&sensor); Serial.println(F("Capteur d'humidité")); Serial.print (F("Type de capteur: ")); Serial.println(sensor.name); Serial.print (F("Driver Ver: ")); Serial.println(sensor.version); Serial.print (F("Identifiant unique: ")); Serial.println(sensor.sensor_id); Serial.print (F("Valeur max: ")); Serial.print(sensor.max_value); Serial.println(F("%")); Serial.print (F("Valeur min: ")); Serial.print(sensor.min_value); Serial.println(F("%")); Serial.print (F("Résolution: ")); Serial.print(capteur.résolution); Serial.println(F("%")); Serial.println(F("-------------------------------------")); // Définir le délai entre les lectures du capteur en fonction des détails du capteur. delayMS = sensor.min_delay / 1000; }
boucle vide() {
// Délai entre les mesures. retard(retardMS); // Récupère l'événement de température et affiche sa valeur. sensor_event_t événement; dht.temperature().getEvent(&event); if (isnan(event.temperature)) { Serial.println(F("Erreur de lecture de la température !")); } else { Serial.print(F("Temperature: ")); Serial.print(event.temperature); Serial.println(F("°C")); } // Récupère l'événement d'humidité et affiche sa valeur. dht.humidité().getEvent(&event); if (isnan(event.relative_humidity)) { Serial.println(F("Erreur de lecture de l'humidité !")); } else { Serial.print(F("Humidity: ")); Serial.print(event.relative_humidity); Serial.println(F("%")); } }
Ou téléchargez le fichier ci-dessous le croquis que j'ai fourni ci-dessous.
Cliquez ensuite sur télécharger et attendez que cela se termine.
Étape 5: Résultat
Pour voir les résultats des mesures de température et d'humidité, cliquez sur Serial Monitor. Les résultats y seront affichés.
En cas de succès, les résultats ressembleront à la figure 1
si le capteur n'est pas installé, il ressemblera à l'image 2
merci d'avoir lu, s'il y a des questions, écrivez-le dans la colonne des commentaires