Բովանդակություն:

Arduino ջերմաստիճանի և խոնավության ցուցիչ ՝ 7 քայլ
Arduino ջերմաստիճանի և խոնավության ցուցիչ ՝ 7 քայլ

Video: Arduino ջերմաստիճանի և խոնավության ցուցիչ ՝ 7 քայլ

Video: Arduino ջերմաստիճանի և խոնավության ցուցիչ ՝ 7 քայլ
Video: Proyecto de heliostato Templastat / Templastat Heliostat Project: improvements, updates and test 2024, Հուլիսի
Anonim

Հետևեք հեղինակի ավելին.

PIC16F877A Անալոգային թվային փոխարկիչ (ADC)
PIC16F877A Անալոգային թվային փոխարկիչ (ADC)
PIC16F877A Անալոգային թվային փոխարկիչ (ADC)
PIC16F877A Անալոգային թվային փոխարկիչ (ADC)
LCD ինտերֆեյս PIC16F877A միկրոկառավարիչով
LCD ինտերֆեյս PIC16F877A միկրոկառավարիչով
LCD ինտերֆեյս PIC16F877A միկրոկառավարիչով
LCD ինտերֆեյս PIC16F877A միկրոկառավարիչով
DIY մոդուլային նստարանի էլեկտրամատակարարում
DIY մոդուլային նստարանի էլեկտրամատակարարում
DIY մոդուլային նստարանի էլեկտրամատակարարում
DIY մոդուլային նստարանի էլեկտրամատակարարում

Այս ձեռնարկում ես պատրաստվում եմ բացատրել ջերմաստիճանի և խոնավության տվիչի ստեղծումը Arduino pro մինի տախտակի միջոցով DHT11 (կամ DHT22) սենսորով:

Քայլ 1: Դիտեք տեսանյութը

Նախքան հաջորդ քայլին անցնելը, կարևոր է նախ տեսնել տեսանյութը: Տեսանյութը բացատրում է ամեն ինչ և ցուցադրում, թե ինչպես է դա արվում: Այնուամենայնիվ, այս գրառման մեջ ես ավելի շատ տեխնիկական տվյալներ և մանրամասներ կգրեմ:

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

Քայլ 2: Անհրաժեշտ մասեր

Այս նախագծի համար անհրաժեշտ մասերն են

1- Arduino pro մինի տախտակ (կամ ցանկացած Arduino):

2- DHT11 ջերմաստիճանի և խոնավության տվիչ (կամ DHT22):

3- 16x2 LCD էկրան:

4- Ձեր նախընտրած պարիսպը, գերադասելի է նույնը, ինչ օգտագործվում է տեսանյութում:

5- 10K պոտենցիոմետր:

6- Պտուտակային տերմինալներ:

7- Տարբեր արժեքների դիմադրողներ:

8- 9 վ մարտկոց:

մինչդեռ անհրաժեշտ գործիքներն են

1- ձեռքի փորվածք Դրեմիլի պես:

2- տարբեր բիթեր փորվածքի համար, քանի որ մենք կօգտագործենք հարթեցնող և կտրող բիթեր:

3- օգնող ձեռքեր:

գումարած, սովորական էլեկտրոնիկայի գործիքները, ինչպիսիք են բազմաչափը և այլն:

Քայլ 3: Սխեմատիկ ձևավորում

Սխեմատիկ ձևավորում
Սխեմատիկ ձևավորում

Այս նախագծում ես ընտրել եմ դրա համար PCB պատրաստել ՝ ինքս այն լարերի փոխարեն տեղադրելու փոխարեն: Այսպիսով, ես օգտագործել եմ EasyEDA առցանց գործը աշխատանքի համար, որը հաճելի փորձ էր:

Սա նախագծի էջն է easyEDA կայքում ՝

Սխեմատիկ բացատրությունը հետևյալն է

1- Ես օգտագործել եմ 6 պին ICSP ադապտեր `Arduino pro mini- ն ծրագրավորելու համար, քանի որ այն ինքնաթիռի հետ չի գալիս: դա J2 է սխեմատիկորեն:

2- R2- ը 100 Օմ է և այն սահմանում է LCD- ի պայծառությունը: Հիմնականում, դուք կարող եք ավելի շատ դիմադրություն ցուցաբերել, քան 100R- ը, եթե ցանկանում եք, որ LCD լուսավորությունը ավելի թույլ լինի: Կամ ավելի լավ, ձեռք բերեք պոտենցիոմետր, որը հանդես կգա որպես փոփոխական շարքի դիմադրություն:

3- JP1- ը պարզապես միակցիչ է, որն ունի գեղեցիկ PCB հետք: Ես երբեք չեմ տեղադրել իրական տերմինալ, այլ փոխարենը միացրել եմ լարերը: Արեք այնպես, ինչպես ցանկանում եք:

4- U2- ը մարտկոցի միացման տերմինալներն են: Այստեղ ես նախընտրում եմ գեղեցիկ պտուտակավոր տերմինալներ `ամուր կապ ստանալու համար: Կարող եք զոդել լարերը, բայց անպայման տեղադրեք բավականաչափ զոդ, որպեսզի կապը բավական ամուր լինի ՝ դիմակայելու ցանկացած ցնցումների:

5- LCD1- ը easyEDA- ի LCD բաղադրիչն է: Այն ունի հիմնական կապ Arduino pro mini- ի հետ: Համոզված եղեք, որ այստեղ տեղադրված կապերը նույնն են, ինչ ծրագրային ապահովման մեջ:

6- RV1- ը 10K պոտենցիոմետր է `LCD հակադրություն սահմանելու համար: Այն պետք է օգտագործվի միայն մեկ անգամ, և դա այն է, երբ առաջին անգամ միացնում եք LCD էկրանը:

Քայլ 4: PCB նախագծում

PCB դիզայն
PCB դիզայն
PCB դիզայն
PCB դիզայն

Սխեմատիկ ձևավորումն ավարտելուց և հասկանալուց, թե ինչ է նշանակում ամեն ինչ, այժմ ժամանակն է դրա համար PCB պատրաստելու:

Դուք պետք է սեղմեք «Փոխարկեք PCB- ի» EasyEDA- ում ՝ PCB- ի խմբագրիչում PCB ստեղծելու համար: Այնուհետև, սկսեք մասեր տեղադրել և սովորական ռեժիմով երթուղի անցկացնել: Ես առաջարկում եմ, որ երբեք չօգտագործեք ավտոմատ երթուղիչը:

Ես շատ վիասներ եմ օգտագործել վերևից ներքև շերտ տեղափոխվելու համար, քանի որ տարածքը այնքան քիչ է:

Քայլ 5. Ստեղծեք PCB

Այժմ, PCB- ի նախագծումն ավարտված է: Մենք ստուգեցինք ամեն ինչ և ոչ մի խնդիր չգտավ: Մենք պետք է նախագծման ֆայլերը (գերբերները) ուղարկենք մեր ընտրած PCB արտադրող ընկերությանը, որպեսզի այն կարողանա դա անել մեզ համար:

Իմ ընտրած ընկերությունը JLCPCB- ն է: Նրանք լավագույնն են նման նախագծերի և նախատիպերի համար և առաջարկում են ընդամենը 2 դոլար գին ձեր դիզայնի ամբողջ 10 կտորների համար:

Այսպիսով, այժմ մենք կտտացնում ենք (…) և ընտրում JLCPCB: Մենք ուղղորդվում ենք դեպի JLCPCB կայք, քանի որ նրանք գործընկերներ են EasyEDA- ի հետ: Այժմ լրացրեք ամեն ինչ և տեղադրեք պատվերը: Այժմ պարզապես սպասեք մինչև PCB- ների ժամանումը:

Հարկ է նշել, որ JLCPCB- ն ոչ միայն դրանց հետ է կապված EasyEDA, այլ նաև ունի բաղադրիչների մեծ խանութ: Առավելությունն այստեղ այն է, որ և՛ PCB- ի պատվերը, և՛ բաղադրիչների պատվերը միասին առաքվեն: Այո, կարիք չկա սպասել, մինչև 2 փաթեթ առանձին գան, բայց փոխարենը դրանք գալիս են մեկ փաթեթում: Ես խորհուրդ եմ տալիս օգտագործել սա:

Քայլ 6: Հավաքում

Այժմ մենք ունենք PCB- ներ միայնակ ամեն ինչի հետ: Everythingամանակն է ամեն ինչ միասին հավաքել:

Նախ, մենք պետք է զոդենք էլեկտրոնիկան ըստ սխեմատիկ: Այս նախագծի համար հեշտ գործ է:

Soldոդումն ավարտելուց հետո, այժմ կտրեք պլաստիկ պատյանում անհրաժեշտ անցքերը, այնուհետև տաք սոսինձ ատրճանակով լավ ամրացրեք PCB- ն այլ բաղադրիչներով:

Այժմ դուք պետք է օգտագործեք պոտենցիոմետրը `LCD- ի հակադրությունը կարգավորելու համար, մինչդեռ պայծառության համար ընտրելով անհրաժեշտ դիմադրիչի փականը, ես ընտրել եմ 100R:

Քայլ 7: Կոդ

Այս նախագծի ծածկագիրը կցված է այս քայլին, և բացատրությունը հետևյալն է.

// ներառել գրադարանի ծածկագիրը ՝ #include #include «DHT.h» // սահմանել DHT Pin #սահմանել DHTPIN 2

Ներառեք անհրաժեշտ գրադարանները և Arduino pro mini- ի 2 -րդ կապը սահմանեք որպես տվիչի տվյալների քորոց: Համոզվեք, որ տեղադրեք այս գրադարանները, եթե դրանք չունեք:

// գրադարանի սկզբնականացում LiquidCrystal lcd (9, 8, 7, 6, 5, 4) ինտերֆեյսի կապերի համարներով; #սահմանել DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Այժմ նախաստորագրեք LCD գրադարանը այս կապումներով ՝ ըստ սխեմատիկայի: Օգտագործեք նաև DHT գրադարանը և ընտրեք DHT11- ը որպես սենսոր, որն օգտագործվում է, այնպես որ, եթե ունեք DHT22, ապա այն պետք է փոխեք:

Վերջին տողում ասվում է, որ մենք ունենք DHT11 սենսոր, և դրա տվյալների կապը գտնվում է «DHTPIN» կապում, որը 2 -րդ պինն է, ինչպես դա մենք նախապես սահմանել էինք:

void setup () {// կարգավորել LCD սյունակների և տողերի քանակը. lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print («andերմաստիճանը և»); lcd.setCursor (0, 1); lcd.print («խոնավության ցուցիչ»); ուշացում (3000); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print («Հոսամ Մողրաբի»); ուշացում (3000); }

Հիմա կարգավորման ժամանակն է: և ահա թե ինչ է կատարվում.

LCD- ն 16 -ից 2 տեսակի է:

Գործարկեք DHT հրամանը `արժեքներ ստանալու համար:

2 տողերի վրա տպեք «peratերմաստիճանի և խոնավության ցուցիչ»:

Ուշացում 3 վայրկյան:

Մաքրել ցուցադրումը

Առաջին տողում տպեք «THUNDERTRONICS», այնուհետև 2 -րդ տողում տպեք «Hossam Moghrabi»:

Ուշացում 3 վայրկյան:

^Ես դա արել եմ որպես ողջույնի էկրան, որը տևում է մոտ 6 վայրկյան կամ ավելի, մինչև արժեքները ցուցադրվեն:

void loop () {// կարդալ խոնավությունը int h = dht.readHumidity (); // կարդալ ջերմաստիճանը c int t = dht.readTemperature (); եթե (isnan (h) || isnan (t)) {lcd.print ("ERROR"); վերադարձ; }

Այժմ մենք գտնվում ենք մեր հավերժական օղակի մեջ, որը շարունակաբար կրկնվելու է:

Պահպանեք խոնավության ցուցանիշները «h» փոփոխականի ներսում և ջերմաստիճանի ցուցանիշները «t» փոփոխականի ներսում:

Հաջորդը, մենք ունենք if հայտարարություն: Սա հիմնականում վերադարձնում է սխալի հաղորդագրություն, երբ կա սխալ: Թողեք այն առանց փոխելու:

Այժմ մենք ունենք բոլոր այն արժեքները, որոնք մեզ պետք են:

lcd.setCursor (0, 0); lcd.print ("Տեմպ. ="); lcd.print (t); lcd.print (""); lcd.print ((char) 223); lcd.print («C»); lcd.setCursor (0, 1); lcd.print ("Խոնավություն ="); lcd.print (h); lcd.print (" %"); // lcd.print («Հոսամ Մողրաբի»); ուշացում (2000);

Ի վերջո, մենք այդ արժեքները ցուցադրում ենք LCD էկրանին: Դուք կարող եք այն փոխել այնպես, ինչպես ցանկանում եք, քանի որ այն պարզապես արժեքներ է տպում «h» և «t» փոփոխականների ներսում: 2 վայրկյան ձգձգումը մի տեսակ կամընտիր է, բայց դա ավելի արագ անելուց շատ օգուտներ չեք բերի, քանի որ սենսորը ինքնին այդքան էլ արագ չէ, և եթե նույնիսկ դա լինի, միևնույն է, ֆիզիկական արժեքները երբեք այդքան արագ չեն փոխվում: Այսպիսով, 2 վայրկյանը շատ արագ է աշխատանքի համար:

Դա այն է!

Խորհուրդ ենք տալիս: