Mundarija:

Arduino harorat va namlik sensori: 7 qadam
Arduino harorat va namlik sensori: 7 qadam

Video: Arduino harorat va namlik sensori: 7 qadam

Video: Arduino harorat va namlik sensori: 7 qadam
Video: Namlik datchigini ishlatish. 2024, Iyul
Anonim

Thundertronics tomonidan Muallifning boshqa maqolalarini kuzatib boring:

PIC16F877A analog -raqamli konvertor (ADC)
PIC16F877A analog -raqamli konvertor (ADC)
PIC16F877A analog -raqamli konvertor (ADC)
PIC16F877A analog -raqamli konvertor (ADC)
PIC16F877A mikrokontrolerli LCD interfeysi
PIC16F877A mikrokontrolerli LCD interfeysi
PIC16F877A mikrokontrolerli LCD interfeysi
PIC16F877A mikrokontrolerli LCD interfeysi
DIY modulli dastgoh quvvat manbai
DIY modulli dastgoh quvvat manbai
DIY modulli dastgoh quvvat manbai
DIY modulli dastgoh quvvat manbai

Ushbu qo'llanmada men DHT11 (yoki DHT22) datchikli Arduino pro mini -taxtasi yordamida harorat va namlik sensori ishlab chiqarilishini tushuntiraman.

1 -qadam: Videoni tomosha qiling

Keyingi bosqichga o'tishdan oldin videoni birinchi bo'lib ko'rish juda muhimdir. Videoda hamma narsa tushuntirilgan va u qanday amalga oshirilgani ko'rsatilgan. Biroq, bu xabarda men ko'proq texnik ma'lumotlar va tafsilotlarni yozaman.

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

2 -qadam: kerakli qismlar

Ushbu loyiha uchun zarur bo'lgan qismlar:

1- Arduino pro mini-taxtasi (yoki har qanday Arduino).

2- DHT11 harorat va namlik sensori (yoki DHT22).

3- 16x2 LCD displey.

4- Siz tanlagan korpus, yaxshisi videoda ishlatilgandek.

5-10K potentsiometr.

6- vintli terminallar.

7- Har xil qiymatdagi rezistorlar.

8-9V batareya.

kerakli asboblar esa:

1- Dremil kabi qo'lda matkap.

2- burg'ulash uchun turli xil bitlar, chunki biz tekislash va kesish qismlarini ishlatamiz.

3- yordam qo'llari.

bundan tashqari, odatiy elektron asboblar, masalan, multimetr va boshqalar.

3 -qadam: sxematik dizayn

Sxematik dizayn
Sxematik dizayn

Loyihada men o'zim sim o'tkazishning o'rniga, unga tenglikni yasashni tanladim. Men ish uchun EasyEDA onlayn vositasidan foydalandim, bu juda yaxshi tajriba edi.

Bu loyihaning sahifasi easyEDA veb -saytida:

Sxematik tushuntirish quyidagicha:

1- Men Arduino pro mini-ni dasturlash uchun 6-pinli ICSP adapteridan foydalandim, chunki u bortda yo'q. bu sxematik tarzda J2.

2- R2- 100 Ohm va LCD yorqinligini o'rnatadi. Asosan, agar siz LCD orqa nuri xira bo'lishini xohlasangiz, 100R dan ko'proq qarshilik ko'rsatishingiz mumkin. Yaxshisi, o'zgaruvchan seriyali qarshilik sifatida harakat qilish uchun potentsiometrni oling.

3- JP1- bu yaxshi PCB iziga ega bo'lgan ulagich. Men hech qachon haqiqiy terminalni qo'ymaganman, aksincha simlarni lehimlaganman. Xohlaganingizdek qiling.

4- U2- batareyaga ulanish terminali. Bu erda, men mustahkam bog'lanish uchun yaxshi vintli terminallarni afzal ko'raman. Siz simlarni lehimlashingiz mumkin edi, lekin ulanishni har qanday silkinishga bardosh beradigan darajada mustahkam qilish uchun etarlicha lehim qo'yganingizga ishonch hosil qiling.

5- LCD1- bu oson EDA-dagi LCD komponent. U Arduino pro mini bilan asosiy aloqaga ega. Bu erda pinlar dasturiy ta'minot bilan bir xil ekanligiga ishonch hosil qiling.

6- RV1- bu LCD kontrastini o'rnatish uchun 10K potentsiometr. U faqat bir marta ishlatilishi kerak va siz LCD displeyni birinchi marta yoqganingizda.

4 -qadam: PCB dizayni

PCB dizayni
PCB dizayni
PCB dizayni
PCB dizayni

Sxematik dizaynni tugatgandan va hamma narsa nimani anglatishini tushunganingizdan so'ng, endi buning uchun PCB yasash vaqti keldi.

PCB muharririda tenglikni yaratish uchun EasyEDA -da "PCB -ga aylantirish" tugmasini bosish kerak. Keyin, qismlarni joylashtirishni va odatdagidek marshrutlashni boshlang. Men hech qachon avtomatik routerdan foydalanmaslikni maslahat beraman.

Men bo'sh joy juda kichik bo'lgani uchun yuqoridan pastgacha harakat qilish uchun ko'plab viyalarni ishlatganman.

5 -qadam: tenglikni ishlab chiqarish

Endi PCB dizayni tugadi. Biz hamma narsani tekshirdik va hech qanday muammo topilmadi. Dizayn fayllarini (gerbers) biz tanlagan PCB ishlab chiqarish kompaniyasiga yuborishimiz kerak, shunda u biz uchun qila oladi.

Men tanlagan kompaniya - JLCPCB. Ular bunday loyihalar va prototiplar uchun eng yaxshisidir va ular sizning dizayningizning 10 donasi uchun atigi 2 dollarlik narx taklif qilishadi!

Shunday qilib, endi biz [….] Ni bosamiz va JLCPCB ni tanlaymiz. Biz JLCPCB veb -saytiga yo'naltirilganmiz, chunki ular EasyEDA bilan hamkor. Endi hamma narsani to'ldiring va buyurtma bering. Endi PCB kelguncha kuting.

Shuni aytib o'tish joizki, JLCPCB nafaqat EasyEDA bilan bog'liq, balki ularda katta komponentlar do'koni ham bor! Bu erda PCB buyurtmasi ham, komponentlar buyurtmasi ham birgalikda yuboriladi! Ha, 2 ta paketning alohida kelishini kutishning hojati yo'q, aksincha ular bitta paketga birlashtirilgan. Men buni ishlatishni juda tavsiya qilaman.

6 -qadam: yig'ish

Bizda hozirda hamma narsa bilan tenglikni kartalari bor. Hammasini birgalikda yig'ish vaqti keldi.

Birinchidan, biz elektronikani sxemaga muvofiq lehimlashimiz kerak. Bu loyiha uchun oson vazifa.

Lehimlashni tugatgandan so'ng, plastik korpusdagi kerakli teshiklarni kesib oling, so'ngra tenglikni boshqa komponentlar bilan mahkamlang.

Endi siz LCD kontrastini sozlash uchun potansiometrdan foydalanishingiz kerak, yorqinligi uchun kerakli rezistorli valfni tanlayotganda men 100R ni tanladim.

7 -qadam: kod

Ushbu qadam uchun ushbu loyihaning kodi ilova qilingan va tushuntirish quyidagicha:

// kutubxona kodini kiriting: #include #include "DHT.h" // DHT PIN kodini o'rnating #DHTPIN 2 ni aniqlang

Kerakli kutubxonalarni qo'shing va Arduino pro mini -ning 2 -pinini sensor uchun ma'lumot pimi sifatida belgilang. Agar bunday kutubxonalar bo'lmasa, ularni o'rnatganingizga ishonch hosil qiling.

// kutubxonani LiquidCrystal lcd (9, 8, 7, 6, 5, 4) interfeys pinlari raqamlari bilan ishga tushiring; #DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE) ni aniqlang;

Endi LCD kutubxonasini ushbu pinlar yordamida sxemaga muvofiq ishga tushiring. Shuningdek, DHT kutubxonasidan foydalaning va sensor sifatida DHT11 ni tanlang, shuning uchun agar sizda DHT22 bo'lsa, uni o'zgartirish kerak.

Oxirgi satrda bizda DHT11 sensori borligini va uning ma'lumotlar pimi "DHTPIN" pinida, biz ilgari aniqlagan 2 -pinda ekanligini bildiradi.

void setup () {// LCD ning ustunlar va qatorlar sonini sozlash: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print ("Harorat va"); lcd.setCursor (0, 1); lcd.print ("namlik sensori"); kechikish (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print ("Xosam Mo'g'rabi"); kechikish (3000); }

Endi sozlash vaqti keldi! va bu erda nima bo'layotgani:

LCD displeyi 16 dan 2 gacha.

Qiymatlarni olish uchun DHT buyrug'ini ishga tushiring.

2 satrda "Harorat va namlik sensori" ni chop eting.

3 soniya kechiktiring.

Ochiq displey

Birinchi qatorda "THUNDERTRONICS" ni chop eting, so'ngra "Hossam Mo'g'rabi" ni 2 -qatorda chop eting.

3 soniya kechiktiring.

^Men buni qiymatlar ko'rsatilishidan oldin taxminan 6 soniya davom etadigan xush kelibsiz ekran sifatida qildim.

void loop () {// o'qing namlik int h = dht.readHumidity (); // o'qish harorati c int t = dht.readTemperature (); agar (isnan (h) || isnan (t)) {lcd.print ("XATO"); qaytish; }

Endi biz abadiy aylanamiz ichida bo'lamiz, u o'zini takrorlaydi.

Namlik ko'rsatkichlarini "h" o'zgaruvchisi ichida va harorat ko'rsatkichlarini "t" o'zgaruvchisi ichida saqlang.

Keyin bizda if ifodasi bor. Bu, asosan, xato bo'lsa, xato xabarini qaytaradi. O'zgartirmasdan qoldiring.

Endi biz kerakli barcha qadriyatlarga egamiz.

lcd.setCursor (0, 0); lcd.print ("Harorat ="); lcd.print (t); lcd.print (""); lcd.print ((char) 223); lcd.print ("C"); lcd.setCursor (0, 1); lcd.print ("Namlik ="); lcd.print (h); lcd.print (" %"); // lcd.print ("Xosam Mo'g'rabi"); kechikish (2000);

Nihoyat, biz bu qiymatlarni LCD displeyda ko'rsatamiz. Siz xohlagan tarzda o'zgartirishingiz mumkin, chunki u "h" va "t" o'zgaruvchilari ichidagi qiymatlarni bosib chiqaradi. 2 soniya kechiktirish ixtiyoriydir, lekin siz buni tezroq bajarishingizdan ko'p foyda ko'rmaysiz, chunki sensorning o'zi unchalik tez emas va hatto shunday bo'lsa ham, jismoniy qiymatlar hech qachon tez o'zgarmaydi. Shunday qilib, 2 soniya ish uchun juda tez!

Bu shunday!

Tavsiya: