Satura rādītājs:

Arduino temperatūras un mitruma sensors: 7 soļi
Arduino temperatūras un mitruma sensors: 7 soļi

Video: Arduino temperatūras un mitruma sensors: 7 soļi

Video: Arduino temperatūras un mitruma sensors: 7 soļi
Video: Датчик температуры LM75 | Внешний ПЛК Arduino 2024, Jūlijs
Anonim

Sekojiet vairāk autora:

PIC16F877A Analog -Digital Converter (ADC)
PIC16F877A Analog -Digital Converter (ADC)
PIC16F877A Analog -Digital Converter (ADC)
PIC16F877A Analog -Digital Converter (ADC)
LCD saskarne ar PIC16F877A mikrokontrolleri
LCD saskarne ar PIC16F877A mikrokontrolleri
LCD saskarne ar PIC16F877A mikrokontrolleri
LCD saskarne ar PIC16F877A mikrokontrolleri
DIY moduļu stenda barošanas avots
DIY moduļu stenda barošanas avots
DIY moduļu stenda barošanas avots
DIY moduļu stenda barošanas avots

Šajā apmācībā es izskaidrošu temperatūras un mitruma sensora izgatavošanu, izmantojot Arduino pro mini dēli ar DHT11 (vai DHT22) sensoru.

1. darbība. Noskatieties video

Pirms pāriet uz nākamo darbību, ir svarīgi vispirms redzēt videoklipu. Video visu izskaidro un parāda, kā tas tiek darīts. Tomēr šajā rakstā es uzrakstīšu vairāk tehnisko datu un detaļu.

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

2. solis: nepieciešamās detaļas

Šim projektam nepieciešamās detaļas ir:

1- Arduino pro mini dēlis (vai jebkurš Arduino).

2- DHT11 temperatūras un mitruma sensors (vai DHT22).

3- 16x2 LCD displejs.

4- Jūsu izvēlēts korpuss, vēlams tāds pats kā video.

5–10K potenciometrs.

6- Skrūvju spailes.

7- Dažādu vērtību rezistori.

8- 9V akumulators.

kamēr nepieciešamie rīki ir:

1 rokas urbis kā Dremil.

2- dažādi urbja uzgaļi, jo mēs izmantosim izlīdzinošos un griešanas uzgaļus.

3- palīdzīgas rokas.

plus, parastie elektronikas rīki, piemēram, multimetrs un tā tālāk.

3. darbība: shematisks dizains

Shematisks dizains
Shematisks dizains

Šajā projektā esmu izvēlējies tam izgatavot PCB, nevis pats to pieslēgt vadam. Tāpēc darbam esmu izmantojis EasyEDA tiešsaistes rīku, kas bija jauka pieredze.

Šī ir projekta lapa easyEDA vietnē:

Shēmas skaidrojums ir šāds:

1- Arduino pro mini programmēšanai esmu izmantojis 6 kontaktu ICSP adapteri, jo tajā nav iekļauts viens. shematiski tas ir J2.

2- R2 ir 100 omi, un tas nosaka LCD spilgtumu. Būtībā jūs varētu izturēt lielāku pretestību nekā 100R, ja vēlaties, lai LCD fona apgaismojums būtu vājāks. Vai vēl labāk, iegūstiet potenciometru, kas darbosies kā mainīgas sērijas pretestība.

3- JP1 ir tikai savienotājs, kuram ir jauka PCB nospiedums. Es nekad neesmu ievietojis īstu termināli, bet gan pielodējis vadus. Dari kā gribi.

4- U2 ir akumulatora savienojuma spailes. Šeit es dodu priekšroku jaukiem skrūvju spailēm, lai iegūtu stingru savienojumu. Jūs varētu lodēt vadus, taču noteikti ievietojiet pietiekami daudz lodēšanas, lai savienojums būtu pietiekami ciets, lai izturētu jebkādus satricinājumus.

5- LCD1 ir easyEDA LCD komponents. Tam ir pamata savienojums ar Arduino pro mini. Pārliecinieties, ka tapas šeit ir identiskas programmatūrā esošajām tapām.

6- RV1 ir 10K potenciometrs LCD kontrasta iestatīšanai. To vajadzētu izmantot tikai vienu reizi, un tas ir tad, kad pirmo reizi ieslēdzat LCD barošanu.

4. solis: PCB dizains

PCB dizains
PCB dizains
PCB dizains
PCB dizains

Pabeidzot shematisko dizainu un saprotot, ko viss nozīmē, tagad ir pienācis laiks tam izveidot PCB.

Lai izveidotu PCB PCB redaktorā, EasyEDA nospiediet pogu "Konvertēt uz PCB". Pēc tam sāciet ievietot detaļas un veikt maršrutēšanu kā parasti. Tomēr es iesaku nekad neizmantot automātisko maršrutētāju.

Esmu izmantojis daudz vias, lai pārvietotos no augšējā uz apakšējo slāni, jo vietas ir tik maz.

5. solis: izgatavojiet PCB

Tagad PCB dizains ir pabeigts. Mēs visu pārbaudījām, un problēma netika atrasta. Mums ir jānosūta dizaina faili (Gerberi) mūsu izvēlētajam PCB ražošanas uzņēmumam, lai tas varētu to izdarīt mūsu vietā.

Mans izvēlētais uzņēmums ir JLCPCB. Tie ir vislabākie šādiem projektiem un prototipiem, un tie piedāvā tikai 2 USD cenu par visiem 10 jūsu dizaina gabaliem!

Tātad, tagad mēs noklikšķinām (…) un izvēlamies JLCPCB. Mēs esam novirzīti uz JLCPCB vietni, jo viņi ir EasyEDA partneri. Tagad aizpildiet visu un veiciet pasūtījumu. Tagad vienkārši pagaidiet, līdz tiek piegādāti PCB.

Ir vērts pieminēt, ka JLCPCB ne tikai ir saistīts ar EasyEDA, bet arī liels komponentu veikals! Ieguvums šeit ir gan PCB pasūtījuma, gan komponentu pasūtījuma piegāde kopā! Jā, nav jāgaida, kad 2 iepakojumi ieradīsies atsevišķi, bet tie ir apvienoti vienā iepakojumā. Es ļoti iesaku izmantot šo.

6. darbība: montāža

Tagad mums ir tikai PCB ar visu. Ir pienācis laiks visu salikt kopā.

Pirmkārt, mums ir jālodē elektronika saskaņā ar shēmu. Šim projektam tas ir viegls uzdevums.

Pabeidzot lodēšanu, tagad izgrieziet nepieciešamos caurumus plastmasas korpusā un pēc tam labi nostipriniet PCB ar citām sastāvdaļām, izmantojot karstu līmes pistoli.

Tagad jums vajadzētu izmantot potenciometru, lai pielāgotu LCD kontrastu, bet, izvēloties spilgtumam nepieciešamo pretestības vārstu, es izvēlējos 100R.

7. darbība: kods

Šī projekta kods ir pievienots šim solim, un paskaidrojums ir šāds:

// iekļaut bibliotēkas kodu: #include #include "DHT.h" // iestatiet DHT PIN #define DHTPIN 2

Iekļaujiet nepieciešamās bibliotēkas un definējiet Arduino pro mini 2. tapu kā sensora datu tapu. Noteikti instalējiet šīs bibliotēkas, ja jums to nav.

// inicializēt bibliotēku ar saskarnes tapu numuriem LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Tagad inicializējiet LCD bibliotēku ar šīm tapām saskaņā ar pašu shēmu. Izmantojiet arī DHT bibliotēku un kā sensoru izvēlieties DHT11, tādēļ, ja jums ir DHT22, tas ir jāmaina.

Pēdējā rindā teikts, ka mums ir DHT11 sensors, un tā datu tapa ir tapā "DHTPIN", kas ir 2. tapa, kā mēs to iepriekš definējām.

void setup () {// iestatiet LCD kolonnu un rindu skaitu: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print ("Temperatūra un"); lcd.setCursor (0, 1); lcd.print ("mitruma sensors"); kavēšanās (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("PĒRKONTRONIKA"); lcd.setCursor (0, 1); lcd.print ("Hossam Moghrabi"); kavēšanās (3000); }

Tagad ir uzstādīšanas laiks! un lūk, kas notiek:

LCD ir 16 x 2 tipa.

Sāciet DHT komandu, lai iegūtu vērtības.

Uz divām rindām uzdrukājiet "Temperatūras un mitruma sensors".

Aizkavēt 3 sekundes.

Skaidrs displejs

Pirmajā rindā drukājiet "THUNDERTRONICS", pēc tam otrajā rindā - "Hossam Moghrabi".

Aizkavēt 3 sekundes.

^Es to darīju kā sveiciena ekrānu, kas ilgst apmēram 6 sekundes, pirms tiek parādītas vērtības.

void loop () {// lasīt mitrumu int h = dht.readHumidity (); // temperatūras lasīšana c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print ("KĻŪDA"); atgriešanās; }

Tagad mēs esam savā mūžīgajā cilpā, kas turpinās atkārtoties.

Saglabājiet mitruma rādījumus mainīgā "h" un temperatūras rādījumus mainīgā "t" iekšpusē.

Tālāk mums ir paziņojums if. Tas būtībā atgriež kļūdas ziņojumu, ja ir kļūda. Atstājiet to, nemainot to.

Tagad mums ir visas nepieciešamās vērtības.

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 ("Mitrums ="); lcd.print (h); lcd.print (" %"); // lcd.print ("Hossam Moghrabi"); kavēšanās (2000);

Visbeidzot, mēs parādām šīs vērtības LCD displejā. Varat to mainīt, kā vēlaties, jo tas vienkārši drukā vērtības mainīgo "h" un "t" iekšienē. 2 sekunžu aizkaves atlikšana ir neobligāta, taču jums nebūs daudz labuma, ja to darīsit ātrāk, jo pats sensors nav tik ātrs, un pat ja tas tā ir, fiziskās vērtības nekad nemainās tik ātri. Tātad 2 sekundes ir ļoti ļoti ātras darbam!

Tas ir viss!

Ieteicams: