Sisukord:

Arduino temperatuuri ja niiskuse andur: 7 sammu
Arduino temperatuuri ja niiskuse andur: 7 sammu

Video: Arduino temperatuuri ja niiskuse andur: 7 sammu

Video: Arduino temperatuuri ja niiskuse andur: 7 sammu
Video: Proyecto de heliostato Templastat / Templastat Heliostat Project: improvements, updates and test 2024, Juuli
Anonim

Jälgige rohkem autorit:

PIC16F877A analoog -digitaalmuundur (ADC)
PIC16F877A analoog -digitaalmuundur (ADC)
PIC16F877A analoog -digitaalmuundur (ADC)
PIC16F877A analoog -digitaalmuundur (ADC)
LCD -liides PIC16F877A mikrokontrolleriga
LCD -liides PIC16F877A mikrokontrolleriga
LCD -liides PIC16F877A mikrokontrolleriga
LCD -liides PIC16F877A mikrokontrolleriga
DIY modulaarne pingitoiteallikas
DIY modulaarne pingitoiteallikas
DIY modulaarne pingitoiteallikas
DIY modulaarne pingitoiteallikas

Selles õpetuses selgitan temperatuuri ja niiskuse anduri valmistamist, kasutades Arduino pro miniplaati koos DHT11 (või DHT22) anduriga.

Samm: vaadake videot

Enne järgmise sammu juurde liikumist on oluline kõigepealt videot näha. Video selgitab kõike ja näitab, kuidas seda tehakse. Kuid selles postituses kirjutan rohkem tehnilisi andmeid ja üksikasju.

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

Samm: vajalikud osad

Selle projekti jaoks vajalikud osad on järgmised:

1- Arduino pro miniplaat (või mis tahes Arduino).

2- DHT11 temperatuuri ja niiskuse andur (või DHT22).

3- 16x2 LCD ekraan.

4- Teie valitud ümbris, eelistatavalt sama, mida videos kasutati.

5–10K potentsiomeeter.

6- Kruviklemmid.

7- Erinevate väärtuste takistid.

8- 9v aku.

samas kui vajalikud tööriistad on järgmised:

1-käsitrell nagu Dremil.

2 erinevat külvikut, kuna kasutame silumis- ja lõiketerasid.

3- abistavad käed.

pluss tavalised elektroonikavahendid nagu multimeeter ja nii edasi.

3. samm: skemaatiline disain

Skeemiline disain
Skeemiline disain

Selle projekti puhul olen valinud selle jaoks trükkplaadi valmistamise, selle asemel, et seda ise juhtmestikuga ühendada. Nii et olen kasutanud EasyEDA veebitööriista, mis oli tore kogemus.

See on projekti leht easyEDA veebisaidil:

Skeemi selgitus on järgmine:

1- Olen kasutanud Arduino pro mini programmeerimiseks 6-kontaktilist ICSP-adapterit, kuna see pole kaasas. skemaatiliselt on see J2.

2- R2 on 100 oomi ja see määrab LCD heleduse. Põhimõtteliselt võiksite rohkem vastupanu kui 100R, kui soovite, et LCD -taustvalgus oleks tuhmim. Või veel parem, hankige potentsiomeeter, mis toimib muutuva seeria takistina.

3- JP1 on lihtsalt pistik, millel on kena trükkplaadi jalajälg. Ma ei pannud kunagi tegelikku terminali, vaid jootsin juhtmed. Tee nii, nagu sulle meeldib.

4- U2 on aku ühendusklemmid. Siin eelistan kindla ühenduse saamiseks kena kruviklemmi. Võiksite juhtmeid jootma panna, kuid pange kindlasti piisavalt jootet, et ühendus oleks piisavalt tugev, et taluda kõiki raputusi.

5- LCD1 on easyEDA LCD-komponent. Sellel on põhiühendus Arduino pro mini -ga. Veenduge, et siin olevad tihvtid on identsed tarkvaraga.

6- RV1 on 10K potentsiomeeter LCD kontrasti seadmiseks. Seda tuleks kasutada ainult üks kord ja LCD -ekraani esmakordsel sisselülitamisel.

4. samm: trükkplaatide kujundamine

PCB disain
PCB disain
PCB disain
PCB disain

Pärast skemaatilise kujunduse lõpetamist ja mõistmist, mida kõik tähendab, on nüüd aeg selle jaoks trükkplaat valmistada.

PCB redaktoris PCB loomiseks peaksite EasyEDA -s vajutama nuppu "Teisenda PCB -ks". Seejärel alustage osade paigutamist ja marsruutimist nagu tavaliselt. Soovitan siiski mitte kunagi kasutada automaatset ruuterit.

Olen kasutanud ülemisest alumisse kihti liikumiseks palju viasid, kuna ruumi on nii vähe.

Samm: valmistage trükkplaat

Nüüd on trükkplaatide disain valmis. Kontrollisime kõike ja probleemi ei leitud. Peame saatma disainifailid (liivakastid) meie valitud trükkplaatide tootmise ettevõttele, et see saaks seda meie eest teha.

Minu valitud ettevõte on JLCPCB. Need on selliste projektide ja prototüüpide jaoks parimad ning pakuvad vaid 2 dollarit hinda kogu teie kujunduse 10 tükki eest!

Nüüd klõpsame (…) ja valime JLCPCB. Meid suunatakse JLCPCB veebisaidile, kuna nad on EasyEDA partnerid. Nüüd täitke kõik ja esitage tellimus. Nüüd oodake, kuni PCB -d saabuvad.

Väärib märkimist, et JLCPCB -ga pole mitte ainult seotud EasyEDA, vaid neil on ka suur komponentide pood! Siin on kasu nii trükkplaatide tellimuse kui ka komponentide tellimuse tarnimisest koos! Jah, ei pea ootama, kuni 2 pakki saabuvad eraldi, vaid need on ühendatud ühes pakendis. Soovitan soojalt seda kasutada.

6. samm: kokkupanek

Nüüd on meil PCBd kõigega üksi. On aeg kõik kokku panna.

Esiteks peame elektroonika jootma vastavalt skeemile. Selle projekti jaoks on see lihtne ülesanne.

Pärast jootmise lõpetamist lõigake plastkorpuses vajalikud augud ja seejärel kinnitage trükkplaat koos teiste komponentidega kuuma liimipüstoli abil hästi sisse.

Nüüd peaksite kasutama LCD -ekraani kontrasti reguleerimiseks potentsiomeetrit, valides heleduse jaoks vajaliku takisti ventiili, olen valinud 100R.

Samm: kood

Selle sammuga on lisatud selle projekti kood ja selgitus on järgmine:

// lisage raamatukogu kood: #include #include "DHT.h" // määrake DHT pin #define DHTPIN 2

Kaasake vajalikud teegid ja määrake Arduino pro mini tihvt 2 anduri andmekandjaks. Installige need teegid kindlasti, kui teil neid pole.

// teegi initsialiseerimine liidese tihvtide numbritega LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Nüüd initsialiseerige LCD -raamatukogu nende tihvtidega vastavalt skeemile. Kasutage ka DHT -kogu ja valige anduriks DHT11, nii et kui teil on DHT22, peaksite seda muutma.

Viimane rida ütleb, et meil on DHT11 andur ja selle andmestik on tihvtis "DHTPIN", mis on tihvt 2, nagu me seda varem määratlesime.

void setup () {// seadistage LCD veergude ja ridade arv: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print ("Temperatuur ja"); lcd.setCursor (0, 1); lcd.print ("niiskusandur"); viivitus (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print ("Hossam Moghrabi"); viivitus (3000); }

Nüüd on seadistamise aeg! ja siin toimub see:

LCD on 16 x 2 tüüpi.

Väärtuste saamiseks käivitage DHT -käsk.

Printige kahele reale "Temperatuuri ja niiskuse andur".

Viivitus 3 sekundit.

Selge ekraan

Printige esimesele reale "THUNDERTRONICS" ja seejärel teisele reale "Hossam Moghrabi".

Viivitus 3 sekundit.

^Ma tegin seda tervitusekraanina, mis kestab umbes 6 sekundit enne väärtuste kuvamist.

void loop () {// loe niiskust int h = dht.readHumidity (); // temperatuuri lugemine c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print ("VIGA"); tagasipöördumine; }

Nüüd oleme oma igaveses ahelas, mis kordab ennast.

Säilitage niiskusnäitajad muutuja "h" sees ja temperatuurinäidud muutuja "t" sees.

Järgmisena on meil avaldus if. Põhimõtteliselt tagastab see veateate korral vea. Jäta see muutmata.

Nüüd on meil kõik väärtused, mida vajame.

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 ("Niiskus ="); lcd.print (h); lcd.print (" %"); // lcd.print ("Hossam Moghrabi"); viivitus (2000);

Lõpuks kuvame need väärtused LCD -ekraanil. Saate seda soovitud viisil muuta, kuna see lihtsalt trükib väärtusi muutujate "h" ja "t" sisse. 2 -sekundilise viivituse lisamine on küll valikuline, kuid kiiremast toimimisest pole teile palju kasu, kuna andur ise pole nii kiire ja isegi kui see on nii, ei muutu füüsilised väärtused kunagi nii kiiresti. Nii et 2 sekundit on töö jaoks väga kiire!

See on kõik!

Soovitan: