Drėgmė ir temperatūra yra įprasti parametrai aplinkos sąlygoms matuoti. Šiame „Arduino“ pagrįstame projekte mes išmatuosime aplinkos temperatūrą ir drėgmę ir parodysime ją 16x2 LCD ekrane. Kuriant šį Celsijaus skalės termometro ir procentinės skalės drėgmės matavimo projektą, kartu su „Arduino uno“ naudojamas kombinuotas temperatūros ir spinduliavimo jutiklis DHT11. Viename savo ankstesnio projekto taip pat sukūriau skaitmeninį termometrą, naudodamas temperatūros jutiklį LM35.
Šis projektas susideda iš trijų sekcijų - vienas nustato drėgmę ir temperatūrą, naudodamas drėgmės ir temperatūros jutiklį DHT11. Antrame skyriuje skaitoma DHTsensor modulio išvestis ir išskiriamos temperatūros ir drėgmės vertės į tinkamą skaičių procentais ir Celsijaus skale. Trečioji sistemos dalis rodo LCD drėgmę ir temperatūrą.
Šio projekto darbas yra pagrįstas viengubu laidiniu nuosekliuoju ryšiu. Pirmiausia „Arduino“ siunčia starto signalą į DHT modulį, o tada DHT pateikia atsako signalą, kuriame pateikiami temperatūros ir drėgmės duomenys. „Arduino“ surenka ir ištraukia iš dviejų dalių: viena yra drėgmė, antra - temperatūra, tada nusiųskite jas į 16x2 LCD ekraną.
Šiame projekte mes panaudojome jutiklių modulį, būtent DHT11. Šis modulis turi drėgmės ir temperatūros kompleksą su kalibruotu skaitmeninio signalo išvestimi. DHT11 jutiklio modulis yra kombinuotas modulis drėgmės ir temperatūros jutimui, kuris suteikia kalibruotą skaitmeninį išėjimo signalą. DHT11 suteikia mums labai tikslią drėgmės ir temperatūros vertę bei užtikrina aukštą patikimumą ir ilgalaikį stabilumą. Šis jutiklis turi rezistinio tipo drėgmės matavimo komponentą ir NTC tipo temperatūros matavimo komponentą su įmontuotu 8 bitų mikrovaldikliu, kuris greitai reaguoja ir yra ekonomiškas, ir yra 4 kontaktų vienos eilės pakuotėje.
DHT11 modulis veikia nuosekliuoju ryšiu, ty vieno laido ryšiu. Šis modulis siunčia duomenis tam tikro laikotarpio impulsų pavidalu. Prieš siunčiant duomenis į „Arduino“, jam reikia tam tikros pradinės komandos su laiku. Visas proceso laikas yra apie 4ms. Visiškas duomenų perdavimas yra 40 bitų, o šio proceso duomenų formatas pateiktas žemiau:
8 bitų integraliniai RH duomenys + 8 bitų dešimtainiai RH duomenys + 8 bitų integraliniai T duomenys + 8 bitų dešimtainiai T duomenys + 8 bitų tikrinimo suma.
Užbaigti procesą
Visų pirma, „Arduino“ siunčia „DHT11“ aukštą arba žemą signalo signalą su 18 µs vėlavimu, kad užtikrintų DHT aptikimą. Tada „arduino“ ištraukite duomenų liniją ir palaukite 20–40 µs DHT atsakymo. Kai DHT aptiks paleidimo signalą, jis atsiųs žemos įtampos lygio atsako signalą apie 80µs laiko vėlavimo arduino. Tada DHT valdiklis patraukia duomenų liniją ir laiko 80 µs, kad DHT galėtų tvarkyti duomenų siuntimą.
Kai duomenų magistralėje yra žemos įtampos lygis, tai reiškia, kad DHT11 siunčia atsako signalą. Kai tai bus padaryta, DHT vėl paruošia duomenų liniją 80 µs paruošti duomenų perdavimą.
Duomenų formatas, kurį DHT siunčia „arduino“ kiekvienam bitui, prasideda 50 µs žemos įtampos lygiu, o aukštos įtampos signalo ilgis lemia, ar duomenų bitas yra „0“ ar „1“.
Vienas svarbus dalykas yra įsitikinti, kad pakeliama rezistoriaus vertė, nes jei DHT jutiklį dedame <20 metrų atstumu, rekomenduojamas 5k atsparumas. Jei DHT yra ilgesnis nei 20 metrų, naudokite atitinkamą vertės varžą.
Grandinės schema ir paaiškinimas
Skystųjų kristalų ekranas naudojamas temperatūrai ir drėgmei rodyti, kuris yra tiesiogiai prijungtas prie „arduino“ 4 bitų režimu. LCD, būtent RS, EN, D4, D5, D6 ir D7, kaiščiai yra prijungti prie „arduino“ skaitmeninių kaiščių 2, 3, 4, 5, 6 ir 7. DHT11 jutiklio modulis taip pat prijungtas prie „arduino“ skaitmeninio kaiščio 12 su 5k traukiamasis rezistorius.
Programavimo aprašymas
Programuodami, mes naudosime iš anksto sukurtas bibliotekas DHT11 jutikliui ir LCD ekranų moduliui.
Tada mes nustatėme LCD ir DHT jutiklio kaiščius ir inicijavome visus sąrankos dalykus. Tada naudodamiesi „dht“ funkcija cikle nuskaito DHT jutiklį, tada naudodamiesi kai kuriomis „dht“ funkcijomis ištraukiame drėgmę ir temperatūrą ir rodome jas LCD.
Čia laipsnio simbolis sukurtas naudojant individualų simbolių metodą.