Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Šioje pamokoje mes išbandysime DHT11 jutiklį naudodami „Arduino“.
DHT11 gali būti naudojamas temperatūrai ir drėgmei matuoti.
Reikalingi komponentai:
- Arduino Nano
- DHT11 temperatūros ir drėgmės jutiklis
- USB mini
- Trumpieji kabeliai
Reikalinga biblioteka:
DHT biblioteka
1 veiksmas: prijunkite DHT11 prie „Arduino“
Prijunkite DHT11 prie „Arduino“naudodami trumpiklius.
Peržiūrėkite paveikslėlį arba vykdykite toliau pateiktas instrukcijas.
DHT11 į Arduino
+ => + 5V
išeiti => D12
- => GND
Tada prijunkite arduino prie kompiuterio naudodami mini USB
2 veiksmas: pridėkite DHT biblioteką
DHT biblioteką galite atsisiųsti čia:
DHT11 biblioteka.
Norėdami pridėti biblioteką, žiūrėkite aukščiau esantį vaizdą arba vykdykite toliau pateiktas instrukcijas:
Atidarykite Sketch ==> Include Library ==> add. Zip Library
Raskite atsisiųstą bibliotekos failą.
Jei tai pavyks, uždarykite „Arduino“ir vėl atidarykite.
3 žingsnis: Pasirinkite „Arduino Board“
Eikite į įrankius ir sureguliuokite arduino plokštę pagal paveikslėlį aukščiau.
Lenta „Arduino Nano“
Procesorius „ATmega328P (Old Bootloader)“
Norėdami gauti išsamesnį straipsnį, galite perskaityti anksčiau pateiktą straipsnį „Kaip naudoti„ Arduino Nano v.3 “.
4 žingsnis: programa
Įtraukite šį kodą, kad nuskaitytumėte DHT11 jutiklio vertę
// DHT temperatūros ir drėgmės jutiklis // Vieningos jutiklių bibliotekos pavyzdys // Parašė Tony DiCola „Adafruit Industries“// Išleista pagal MIT licenciją.
// REIKIA šių „Arduino“bibliotekų:
// - DHT jutiklių biblioteka: https://github.com/adafruit/DHT-sensor-library // - „Adafruit Unified Sensor Lib“:
#įtraukti
#įtraukti #įtraukti
#define DHTPIN 2 // Skaitmeninis kaištis prijungtas prie DHT jutiklio
// Plunksna HUZZAH ESP8266 pastaba: naudokite 3, 4, 5, 12, 13 arba 14 kaiščius - // 15 kaištis gali veikti, tačiau įkeliant programą DHT turi būti atjungtas.
// Nekomentuokite naudojamo jutiklio tipo:
//#apibrėžti DHTTYPE DHT11 // DHT 11 #define DHTTYPE DHT22 // DHT 22 (AM2302) //#apibrėžti DHTTYPE DHT21 // DHT 21 (AM2301)
// Išsamesnės informacijos apie jutiklio laidus ir naudojimą žr. Vadove:
//
DHT_Unified dht (DHTPIN, DHTTYPE);
uint32_t delayMS;
void setup () {
Serial.begin (9600); // Inicijuoti įrenginį. dht.begin (); Serial.println (F ("DHTxx vieningas jutiklio pavyzdys")); // Spausdinti išsamią temperatūros jutiklio informaciją. sensor_t jutiklis; dht.temperatūra (). getSensor (& sensor); Serial.println (F ("------------------------------------")); Serial.println (F („Temperatūros jutiklis“)); Serial.print (F ("Jutiklio tipas:")); Serial.println (jutiklio pavadinimas); Serial.print (F („Driver Ver:“)); Serial.println (sensor.version); Serial.print (F ("Unikalus ID:")); Serial.println (sensor.sensor_id); Serial.print (F ("Maksimali vertė:")); Serial.print (sensor.max_value); Serial.println (F ("° C")); Serial.print (F („Min. Vertė:“)); Serijinis atspaudas (sensor.min_value); Serial.println (F ("° C")); Serial.print (F („Rezoliucija:“)); Serial.print (sensor.resolution); Serial.println (F ("° C")); Serial.println (F ("------------------------------------")); // Spausdinti drėgmės jutiklio informaciją. dht.humidity (). getSensor (& sensor); Serial.println (F („Drėgmės jutiklis“)); Serial.print (F ("Jutiklio tipas:")); Serial.println (jutiklio pavadinimas); Serial.print (F ("Driver Ver:")); Serial.println (sensor.version); Serial.print (F ("Unikalus ID:")); Serial.println (sensor.sensor_id); Serial.print (F ("Maksimali vertė:")); Serial.print (sensor.max_value); Serial.println (F ("%")); Serial.print (F („Min. Vertė:“)); Serijinis atspaudas (sensor.min_value); Serial.println (F ("%")); Serial.print (F („Rezoliucija:“)); Serial.print (sensor.resolution); Serial.println (F ("%")); Serial.println (F ("------------------------------------")); // Nustatykite delsą tarp jutiklių rodmenų, remiantis jutiklio informacija. delayMS = sensor.min_delay / 1000; }
void loop () {
// Vėlavimas tarp matavimų. uždelsimas (delayMS); // Gaukite temperatūros įvykį ir atspausdinkite jo vertę. sensor_event_t įvykis; dht.temperature (). getEvent (& event); if (isnan (event.temperature)) {Serial.println (F ("Klaida skaitant temperatūrą!")); } else {Serial.print (F ("Temperatūra:")); Serijinis atspaudas (įvykis.temperatūra); Serial.println (F ("° C")); } // Gaukite drėgmės įvykį ir atspausdinkite jo vertę. dht.humidity (). getEvent (& event); if (isnan (event.relative_humidity)) {Serial.println (F ("Klaida skaitant drėgmę!")); } else {Serial.print (F ("Drėgmė:")); Serijinis atspaudas (įvykis. Santykinis_drėgmė); Serial.println (F ("%")); }}
Arba atsisiųskite failą žemiau eskizo, kurį pateikiau žemiau.
Tada spustelėkite įkelti ir palaukite, kol baigsis.
5 žingsnis: rezultatas
Norėdami pamatyti temperatūros ir drėgmės matavimo rezultatus, spustelėkite Serial Monitor. Rezultatai bus rodomi ten.
Jei pavyks, rezultatai atrodys kaip 1 pav
jei jutiklis neįdiegtas, jis atrodys kaip 2 paveikslas
ačiū, kad skaitote, jei kyla klausimų, tiesiog parašykite komentarų skiltyje