Turinys:

„Arduino“temperatūros ir drėgmės jutiklis: 7 žingsniai
„Arduino“temperatūros ir drėgmės jutiklis: 7 žingsniai

Video: „Arduino“temperatūros ir drėgmės jutiklis: 7 žingsniai

Video: „Arduino“temperatūros ir drėgmės jutiklis: 7 žingsniai
Video: Arduino Tutorial 28 - DHT11 Temperature Sensor with LCD | SunFounder's ESP32 IoT Learnig kit 2024, Liepa
Anonim

Sekite daugiau autoriaus:

PIC16F877A analoginis -skaitmeninis keitiklis (ADC)
PIC16F877A analoginis -skaitmeninis keitiklis (ADC)
PIC16F877A analoginis -skaitmeninis keitiklis (ADC)
PIC16F877A analoginis -skaitmeninis keitiklis (ADC)
LCD sąsaja su PIC16F877A mikrovaldikliu
LCD sąsaja su PIC16F877A mikrovaldikliu
LCD sąsaja su PIC16F877A mikrovaldikliu
LCD sąsaja su PIC16F877A mikrovaldikliu
„Pasidaryk pats“modulinis maitinimo šaltinis
„Pasidaryk pats“modulinis maitinimo šaltinis
„Pasidaryk pats“modulinis maitinimo šaltinis
„Pasidaryk pats“modulinis maitinimo šaltinis

Šioje pamokoje aš paaiškinsiu temperatūros ir drėgmės jutiklio gamybą naudojant „Arduino pro mini“plokštę su DHT11 (arba DHT22) jutikliu.

1 žingsnis: žiūrėkite vaizdo įrašą

Prieš pereinant prie kito veiksmo, svarbu pirmiausia pamatyti vaizdo įrašą. Vaizdo įrašas viską paaiškina ir parodo, kaip tai daroma. Tačiau šiame įraše parašysiu daugiau techninių duomenų ir detalių.

www.youtube.com/watch?v=56LKl7Xd770

2 žingsnis: reikalingos dalys

Šiam projektui reikalingos dalys:

1- „Arduino pro mini“lenta (arba bet kuri „Arduino“).

2- DHT11 temperatūros ir drėgmės jutiklis (arba DHT22).

3-16x2 LCD ekranas.

4- Jūsų pasirinktas gaubtas, pageidautina tas pats, kuris naudojamas vaizdo įraše.

5-10K potenciometras.

6- Sraigtiniai gnybtai.

7- Įvairių verčių rezistoriai.

8-9 V baterija.

o reikalingi įrankiai yra šie:

Vienos rankos gręžtuvas kaip „Dremil“.

2 skirtingi grąžto antgaliai, nes mes naudosime išlyginamuosius ir pjovimo antgalius.

3- pagalbos rankos.

plius, įprasti elektronikos įrankiai, tokie kaip multimetras ir pan.

3 žingsnis: Scheminis dizainas

Scheminis dizainas
Scheminis dizainas

Šiame projekte aš nusprendžiau jam pagaminti PCB, o ne pats prijungti. Taigi darbui naudojau „EasyEDA“internetinį įrankį, kuris buvo maloni patirtis.

Tai yra projekto puslapis „easyEDA“svetainėje:

Schemos paaiškinimas yra toks:

1- „Arduino pro mini“programavimui naudojau 6 kontaktų ICSP adapterį, nes jame nėra vieno. schemoje jis yra J2.

2- R2 yra 100 omų ir nustato LCD šviesumą. Iš esmės galite pasipriešinti daugiau nei 100R, jei norite, kad LCD apšvietimas būtų silpnesnis. Arba dar geriau, įsigykite potenciometrą, kuris veiktų kaip kintamos serijos varža.

3- JP1 yra tik jungtis, turinti gražų PCB pėdsaką. Niekada nedėjau tikro terminalo, o lituodavau laidus. Daryk kaip tau patinka.

4- U2 yra akumuliatoriaus prijungimo gnybtai. Čia aš norėčiau gražių varžtų gnybtų, kad galėčiau tvirtai prisijungti. Galite lituoti laidus, tačiau būtinai įdėkite pakankamai litavimo, kad jungtis būtų pakankamai tvirta, kad atlaikytų bet kokius drebėjimus.

5- LCD1 yra „easyEDA“skystųjų kristalų komponentas. Jis turi pagrindinį ryšį su „Arduino pro mini“. Įsitikinkite, kad čia esantys kaiščiai yra identiški programinės įrangos kaiščiams.

6- RV1 yra 10K potenciometras, skirtas nustatyti LCD kontrastą. Jis turėtų būti naudojamas tik vieną kartą ir pirmą kartą įjungus LCD ekraną.

4 žingsnis: PCB projektavimas

PCB dizainas
PCB dizainas
PCB dizainas
PCB dizainas

Baigęs schematinį dizainą ir supratęs, ką viskas reiškia, dabar atėjo laikas jam pagaminti PCB.

Norėdami sukurti PCB PCB redaktoriuje, „EasyEDA“turėtumėte paspausti „Konvertuoti į PCB“. Tada pradėkite dėti dalis ir atlikite maršrutizavimą kaip įprasta. Siūlau niekada nenaudoti automatinio maršrutizatoriaus.

Aš naudoju daug vias, norėdamas pereiti iš viršutinio į apatinį sluoksnį, nes vietos yra labai mažai.

5 žingsnis: pagaminkite PCB

Dabar PCB dizainas baigtas. Mes viską patikrinome ir jokių problemų neradome. Turime nusiųsti dizaino failus (gerberai) mūsų pasirinktai PCB gamybos įmonei, kad ji tai padarytų už mus.

Mano pasirinkta įmonė yra JLCPCB. Jie yra geriausi tokiems projektams ir prototipų kūrimui ir siūlo tik 2 USD kainą už visus 10 jūsų dizaino vienetų!

Taigi, dabar mes spustelime (…) ir pasirenkame JLCPCB. Esame nukreipti į JLCPCB svetainę, nes jie yra „EasyEDA“partneriai. Dabar užpildykite viską ir pateikite užsakymą. Dabar tiesiog palaukite, kol atvyks PCB.

Verta paminėti, kad JLCPCB ne tik susiejo „EasyEDA“, bet taip pat turi didelę komponentų parduotuvę! Čia naudinga gauti tiek PCB užsakymą, tiek komponentų užsakymą kartu! Taip, nereikia laukti, kol 2 paketai atvyks atskirai, bet jie yra sujungti į vieną pakuotę. Aš labai rekomenduoju tai naudoti.

6 žingsnis: Surinkimas

Dabar mes turime PCB su viskuo. Atėjo laikas viską surinkti kartu.

Pirma, mes turime lituoti elektroniką pagal schemą. Šiam projektui tai lengva užduotis.

Baigę litavimą, dabar išpjaukite reikiamas skyles plastikiniame korpuse, tada gerai pritvirtinkite PCB su kitais komponentais viduje, naudodami karšto klijų pistoletą.

Dabar turėtumėte naudoti potenciometrą, kad sureguliuotumėte LCD kontrastą, o pasirinkdamas reikiamą rezistoriaus vožtuvą ryškumui, aš pasirinkau 100R.

7 žingsnis: kodas

Šio projekto kodas pridedamas prie šio žingsnio, o paaiškinimas yra toks:

// įtraukite bibliotekos kodą: #include #include "DHT.h" // nustatykite DHT PIN kodą #define DHTPIN 2

Įtraukite būtinas bibliotekas ir apibrėžkite „Arduino pro mini“2 kaištį kaip jutiklio duomenų kaištį. Būtinai įdiekite šias bibliotekas, jei jų neturite.

// inicijuoti biblioteką naudojant sąsajos kaiščių numerius LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Dabar inicijuokite LCD biblioteką šiais kaiščiais pagal pačią schemą. Taip pat naudokite DHT biblioteką ir pasirinkite DHT11 kaip jutiklį, todėl, jei turite DHT22, turėtumėte jį pakeisti.

Paskutinė eilutė sako, kad turime DHT11 jutiklį, o jo duomenų kaištis yra kaištyje „DHTPIN“, kuris yra 2 kaištis, kaip apibrėžėme anksčiau.

void setup () {// nustatyti LCD stulpelių ir eilučių skaičių: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print ("Temperatūra ir"); lcd.setCursor (0, 1); lcd.print („drėgmės jutiklis“); vėlavimas (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("PERKŪRĖS"); lcd.setCursor (0, 1); lcd.print („Hossam Moghrabi“); vėlavimas (3000); }

Dabar atėjo sąrankos laikas! ir štai kas vyksta:

LCD yra 16 x 2 tipo.

Norėdami gauti reikšmes, paleiskite DHT komandą.

Ant 2 eilučių atspausdinkite „Temperatūros ir drėgmės jutiklis“.

Atidėkite 3 sekundes.

Aiškus ekranas

Pirmoje eilutėje atspausdinkite „THUNDERTRONICS“, o antroje - „Hossam Moghrabi“.

Atidėkite 3 sekundes.

^Aš padariau tai kaip pasveikinimo ekraną, kuris trunka maždaug 6 sekundes, kol rodomos vertės.

void loop () {// skaityti drėgmę int h = dht.readHumidity (); // skaityti temperatūrą c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print ("KLAIDA"); grįžti; }

Dabar mes esame savo amžinos kilpos viduje, kuri kartosis.

Drėgmės rodmenis laikykite kintamojo „h“viduje ir temperatūros rodmenis „t“kintamojo viduje.

Toliau turime teiginį „if“. Tai iš esmės grąžina klaidos pranešimą, kai yra klaida. Palikite jį nekeisdami.

Dabar mes turime visas vertybes, kurių mums reikia.

lcd.setCursor (0, 0); lcd.print ("Temp. ="); lcd.print (t); lcd.print (""); lcd.print ((char) 223); lcd.print ("C"); lcd.setCursor (0, 1); lcd.print ("Drėgmė ="); lcd.print (h); lcd.print (" %"); // lcd.print ("Hossam Moghrabi"); vėlavimas (2000 m.);

Galiausiai šias vertes rodome LCD ekrane. Galite jį pakeisti taip, kaip norite, nes jis tiesiog spausdina reikšmes kintamųjų „h“ir „t“viduje. 2 sekundžių atidėjimas yra visiškai neprivalomas, tačiau jums nebus daug naudos, jei tai padarysite greičiau, nes pats jutiklis nėra toks greitas ir net jei taip, fizinės vertės niekada nesikeičia taip greitai. Taigi 2 sekundės yra labai labai greitos darbui!

Viskas!

Rekomenduojamas: