Mitrums un temperatūra ir kopīgi parametri, lai izmērītu vides apstākļus. Šajā Arduino bāzētajā projektā mēs mērīsim apkārtējās vides temperatūru un mitrumu un parādīsim to uz 16x2 LCD ekrāna. Kombinētais temperatūras un mitruma sensors DHT11 tiek izmantots kopā ar Arduino uno, lai izstrādātu šo Celsija skalas termometra un procentuālā mitruma mērīšanas projektu. Vienā no saviem iepriekšējiem projektiem esmu izstrādājis arī digitālo termometru, izmantojot temperatūras sensoru LM35.
Šis projekts sastāv no trim sadaļām - vienā tiek noteikts mitrums un temperatūra, izmantojot mitruma un temperatūras sensoru DHT11. Otrajā sadaļā tiek nolasīts DHTsensor moduļa izvads un iegūtas temperatūras un mitruma vērtības piemērotā skaitā procentos un pēc Celsija skalas. Trešā sistēmas daļa LCD displejā parāda mitrumu un temperatūru.
Šī projekta darbība ir balstīta uz viena stieples seriālo komunikāciju. Vispirms arduino nosūta sākuma signālu DHT modulim, un pēc tam DHT dod atbildes signālu, kurā ir dati par temperatūru un mitrumu. Arduino savāc un ekstrahē divās daļās: vienā ir mitrums, bet otrā - temperatūra, un pēc tam nosūtiet tos uz 16x2 LCD.
Šajā projektā mēs izmantojām sensoru moduli, proti, DHT11. Šajā modulī ir mitruma un temperatūras komplekss ar kalibrētu digitālā signāla izvadi. DHT11 sensora modulis ir kombinēts modulis mitruma un temperatūras noteikšanai, kas dod kalibrētu digitālo izejas signālu. DHT11 dod mums ļoti precīzu mitruma un temperatūras vērtību un nodrošina augstu uzticamību un ilgtermiņa stabilitāti. Šim sensoram ir rezistīva tipa mitruma mērīšanas komponents un NTC tipa temperatūras mērīšanas komponents ar iebūvētu 8 bitu mikrokontrolleru, kam ir ātra reakcija un izmaksu ziņā efektīvs risinājums, un tas ir pieejams 4 kontaktu vienas rindas iepakojumā.
DHT11 modulis darbojas uz sērijveida sakariem, ti, ar vienu vadu. Šis modulis nosūta datus impulsa vilciena veidā noteiktā laika periodā. Pirms datu nosūtīšanas uz arduino ir nepieciešama inicializācijas komanda ar laika aizturi. Un viss procesa laiks ir apmēram 4ms. Pilnīga datu pārraide ir 40 bitu, un šī procesa datu formāts ir norādīts zemāk:
8 bitu integrālie RH dati + 8 bitu decimālie RH dati + 8 bitu integrālie T dati + 8 bitu decimālie T dati + 8 bitu pārbaudes summa.
Pabeigt procesu
Pirmkārt, arduino ar 18µs aizturi DHT11 nosūta signālu no augsta līdz zemam, lai nodrošinātu DHT noteikšanu. Pēc tam arduino velciet datu līniju un gaidiet 20-40µs, līdz saņemat DHT atbildi. Kad DHT nosaka sākuma signālu, tas nosūtīs zema sprieguma reakcijas signālu arduino ar laika kavējumu aptuveni 80µs. Tad DHT kontrolieris uzvelk datu līniju un patur to 80µs, lai DHT sakārtotu datu sūtīšanu.
Kad datu kopne atrodas zemā sprieguma līmenī, tas nozīmē, ka DHT11 sūta atbildes signālu. Kad tas ir izdarīts, DHT atkal veic datu līnijas izvilkšanu 80 µs datu pārraides sagatavošanai.
Datu formāts, ko DHT sūta arduino katram bitam, sākas ar 50µs zema sprieguma līmeni, un augstsprieguma līmeņa signāla garums nosaka, vai datu bits ir “0” vai “1”.
Viena svarīga lieta ir pārliecināties, ka pretestības vērtība ir jāpaaugstina, jo, ja mēs ievietojam DHT sensoru <20 metru attālumā, ieteicams 5k pretestības pretestību. Ja novietojat DHT garākus par 20 metriem, izmantojiet atbilstošu pretestības vērtību.
Shēmas shēma un paskaidrojums
Temperatūras un mitruma rādīšanai tiek izmantots šķidro kristālu displejs, kas ir tieši savienots ar arduino 4 bitu režīmā. LCD, proti, RS, EN, D4, D5, D6 un D7, tapas ir savienotas arduino digitālo tapu numuriem 2, 3, 4, 5, 6 un 7. Un DHT11 sensora modulis ir pievienots arī arduino digitālajai tapai 12 ar 5k pievilkšanas rezistors.
Programmēšanas apraksts
Programmējot, mēs izmantosim iepriekš izveidotas bibliotēkas DHT11 sensoram un LCD displeja modulim.
Tad mēs esam definējuši LCD un DHT sensora tapas un inicializējuši visas iestatīšanas lietas. Tad ciklā, izmantojot dht funkciju, nolasa DHT sensoru un pēc tam, izmantojot dažas dht funkcijas, mēs iegūstam mitrumu un temperatūru un parādām tos LCD.
Šeit grāda simbols tiek izveidots, izmantojot pielāgotu rakstzīmju metodi.