Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
V tomto návode si vyskúšame snímač DHT11 pomocou Arduina.
DHT11 je možné použiť na meranie teploty a vlhkosti.
Požadované komponenty:
- Arduino Nano
- Snímač teploty a vlhkosti DHT11
- USB mini
- Prepojovacie káble
Požadovaná knižnica:
Knižnica DHT
Krok 1: Pripojte DHT11 k Arduinu
Pripojte DHT11 k Arduinu pomocou prepojovacích káblov.
Pozrite si obrázok alebo postupujte podľa nižšie uvedených pokynov.
DHT11 do Arduina
+ => + 5V
out => D12
- => GND
Potom arduino pripojte k počítaču pomocou mini USB
Krok 2: Pridajte knižnicu DHT
Knižnicu DHT je možné stiahnuť tu:
Knižnica DHT11.
Ak chcete pridať knižnicu, pozrite si obrázok vyššie alebo postupujte podľa nižšie uvedených pokynov:
Otvorte aplikáciu Sketch ==> Zahrnúť knižnicu ==> pridajte knižnicu. Zip
Nájdite súbor knižnice, ktorý ste stiahli.
Ak je úspešný, zatvorte Arduino a znova ho otvorte.
Krok 3: Vyberte dosku Arduino
Prejdite na Nástroje a upravte dosku arduino podľa obrázku vyššie.
Doska „Arduino Nano“
Procesor „ATmega328P (starý bootloader)“
Podrobnejší článok si môžete prečítať v časti „Ako používať Arduino Nano v.3“, ktorú som urobil predtým.
Krok 4: Program
Zahrňte tento kód na prečítanie hodnoty zo senzora DHT11
// Senzor teploty a vlhkosti DHT // Príklad zjednotenej knižnice senzorov // Napísal Tony DiCola pre Adafruit Industries // Vydané pod licenciou MIT.
// VYŽADUJE nasledujúce knižnice Arduino:
// - Knižnica snímačov DHT: https://github.com/adafruit/DHT-sensor-library // - Adafruit Unified Sensor Lib:
#zahrnúť
#include #include
#define DHTPIN 2 // Digitálny pin pripojený k snímaču DHT
// Feather HUZZAH ESP8266 poznámka: použite piny 3, 4, 5, 12, 13 alebo 14 - // Pin 15 môže fungovať, ale DHT musí byť počas nahrávania programu odpojené.
// Odznačte typ použitého senzora:
//#definovať DHTTYPE DHT11 // DHT 11 #define DHTTYPE DHT22 // DHT 22 (AM2302) //#definovať DHTTYPE DHT21 // DHT 21 (AM2301)
// Podrobnosti o zapojení a použití snímača nájdete v príručke:
//
DHT_Unified dht (DHTPIN, DHTTYPE);
uint32_t delayMS;
neplatné nastavenie () {
Serial.begin (9600); // Inicializácia zariadenia. dht.begin (); Serial.println (F („Príklad zjednoteného senzora DHTxx“)); // Vytlačte detaily snímača teploty. senzor_t senzor; dht.temperature (). getSensor (& senzor); Serial.println (F ("------------------------------------")); Serial.println (F ("snímač teploty")); Serial.print (F ("Typ snímača:")); Serial.println (meno.senzora); Serial.print (F ("Verzia ovládača:")); Serial.println (verzia senzora); Serial.print (F ("Jedinečné ID:")); Serial.println (sensor.sensor_id); Serial.print (F ("Max. Hodnota:")); Serial.print (sensor.max_value); Serial.println (F ("° C")); Serial.print (F („Minimálna hodnota:“)); Serial.print (sensor.min_value); Serial.println (F ("° C")); Serial.print (F ("Rozlíšenie:")); Serial.print (senzor.rozlíšenie); Serial.println (F ("° C")); Serial.println (F ("------------------------------------")); // Vytlačte podrobnosti o senzore vlhkosti. dht.humidity (). getSensor (& senzor); Serial.println (F ("snímač vlhkosti")); Serial.print (F ("Typ snímača:")); Serial.println (meno.senzora); Serial.print (F ("Verzia ovládača:")); Serial.println (verzia senzora); Serial.print (F ("Jedinečné ID:")); Serial.println (sensor.sensor_id); Serial.print (F ("Max. Hodnota:")); Serial.print (sensor.max_value); Serial.println (F ("%")); Serial.print (F („Minimálna hodnota:“)); Serial.print (sensor.min_value); Serial.println (F ("%")); Serial.print (F ("Rozlíšenie:")); Serial.print (senzor.rozlíšenie); Serial.println (F ("%")); Serial.println (F ("------------------------------------")); // Nastavte oneskorenie medzi hodnotami senzora na základe podrobností senzora. delayMS = sensor.min_delay / 1000; }
prázdna slučka () {
// Oneskorenie medzi meraniami. oneskorenie (delayMS); // Získajte teplotnú udalosť a vytlačte jej hodnotu. sensor_event_t udalosť; dht.temperature (). getEvent (& event); if (isnan (event.temperature)) {Serial.println (F ("Chyba pri čítaní teploty!")); } else {Serial.print (F ("Teplota:")); Serial.print (event.temperature); Serial.println (F ("° C")); } // Získať udalosť vlhkosti a vytlačiť jej hodnotu. dht.humidity (). getEvent (& event); if (isnan (event.relative_humidity)) {Serial.println (F ("Chyba pri čítaní vlhkosti!")); } else {Serial.print (F ("Vlhkosť:")); Serial.print (event.relative_humidity); Serial.println (F ("%")); }}
Alebo si stiahnite súbor pod náčrtkom, ktorý som poskytol nižšie.
Potom kliknite na nahrať a počkajte, kým sa dokončí.
Krok 5: Výsledok
Výsledky meraní teploty a vlhkosti zobrazíte kliknutím na Sériový monitor. Výsledky sa zobrazia tam.
Ak budú úspešné, výsledky budú vyzerať ako na obrázku 1
ak snímač nie je nainštalovaný, bude vyzerať ako na obrázku 2
Ďakujem za prečítanie, ak máte otázky, napíšte ich do stĺpca komentárov