Files
varlog/_cache/articles/3b95d2aa-8ee1-4f5d-b616-2f985e7441c1.json
T
2026-05-15 10:37:48 +02:00

1 line
3.0 KiB
JSON

{"uuid":"3b95d2aa-8ee1-4f5d-b616-2f985e7441c1","slug":"dht11-nano-mega328-lcd-i2c","title":"Sonde température et humidité sur Arduino","author":"cedric@abonnel.fr","published":true,"published_at":"2020-04-17 18:23:14","created_at":"2020-04-17 18:23:14","updated_at":"2020-04-17 18:23:14","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Électronique","content":"# Sonde température et humidité sur Arduino\n\n![](dht11_arduinouno_lcd.jpg)\n\n## Materiel utilisé\n- Arduino Nano\n\n- sonde de température et d'humidité DHT11\n\n- écran graphique LCD 2x16 avec bus I2C\n\n## Code\nLe code suivant permet d'afficher les informations relevées sur la sonde DHT11.\n\nPour cela j'utilise les méthodes `dht.readHumidity()` et `dht.readTemperature()` de la bibliothèque `DHT`.\nLa fonction `isnan` (is Not A Number) permet de faire connaitre une défaillance en cas d'une lecture non numérique des valeurs.\n\n```c\n#include <Adafruit_Sensor.h>\n\n#include <DHT.h>\n#include <LiquidCrystal_I2C.h>\n#include <Wire.h> \n\n#define DHTPIN 7\n#define DHTTYPE DHT11 \n\nDHT dht(DHTPIN, DHTTYPE);\nLiquidCrystal_I2C lcd(0x27,16,2); * affecter l'adresse à 0x27 pour 16 caractères et 2 lignes d'affichage\nint tim = 1000; *valeur d'attente\n\nvoid setup()\n{\n lcd.init(); *initialiser le LCD\n lcd.backlight(); *allumer le LCD\n lcd.setCursor(0,0);\n lcd.print(\"dht11_test\");\n lcd.setCursor(0,1);\n lcd.print(\"version 20161203\");\n delay(5 * tim); *attendre\n lcd.clear();\n \n Serial.begin(9600);\n dht.begin();\n\n}\n\nvoid loop()\n{\n float h = dht.readHumidity(); * lire la valeur de l'humidité\n float t = dht.readTemperature(); :: lire la valeur de la température\n if (isnan(t) || isnan(h)) { * vérifier le présence d'une valeur numérique\n lcd.setCursor(0,0);\n lcd.println(\"Failed to read \");\n lcd.setCursor(0,1);\n lcd.println(\"from DHT11 \");\n } else { \n lcd.setCursor(0,0);\n lcd.print(\"Temp. \");\n lcd.print(t);\n lcd.print(\" *C\");\n lcd.setCursor(0,1);\n lcd.print(\"Humidi. \");\n lcd.print(h);\n lcd.print(\" %\");\n }\n\n delay(tim);\n}\n*\n* END OF FILE\n*\n```\n\n## Bibliographie\nCapteur de pression \n- http:*www.diopter.fr/index.php/technique/electro-numerique/43-capteur-de-pression-et-arduino\n\nAutre réalisation avec la sonde DHT11\n- https:*www.carnetdumaker.net/articles/utiliser-un-capteur-de-temperature-et-dhumidite-dht11-dht22-avec-une-carte-arduino-genuino/\n\nSonde de température DS18B20\n- https:*www.carnetdumaker.net/articles/mesurer-une-temperature-avec-un-capteur-1-wire-ds18b20-et-une-carte-arduino-genuino/\n\nComparatif des sondes DHT 11 et 22\n- https:*learn.adafruit.com/dht/overview\n\nKit SunFounder\n- https:*www.sunfounder.com/learn/Sensor-Kit-v2-0-for-Arduino/lesson-11-humiture-detection-sensor-kit-v2-0-for-arduino.html\n\nAmazon\n- sonde DHT 22 - https:*www.amazon.fr/gp/product/B00AZG1RBK/ref=ox_sc_act_title_2?ie=UTF8&psc=1&smid=A3I826466U8R8A","featured":false,"tags":[]}