Mundarija:
- 1 -qadam: Videoni tomosha qiling
- 2 -qadam: kerakli qismlar
- 3 -qadam: sxematik dizayn
- 4 -qadam: PCB dizayni
- 5 -qadam: tenglikni ishlab chiqarish
- 6 -qadam: yig'ish
- 7 -qadam: kod
Video: Arduino harorat va namlik sensori: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Thundertronics tomonidan Muallifning boshqa maqolalarini kuzatib boring:
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
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
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:
Arduino bilan Servo va DHT11 harorat va namlik sensori yordamida avtomatik sovutish foniy: 8 qadam
Arduino bilan Servo va DHT11 harorat va namlik sensori yordamida avtomatik sovutish foniy: Bu qo'llanmada biz qanday boshlashni o'rganamiz & harorat ma'lum darajadan oshganda fanatni aylantiring
DHT21 Arduino bilan raqamli harorat va namlik sensori: 6 qadam
DHT21 Arduino bilan raqamli harorat va namlik sensori: Bu qo'llanmada biz DHT21 namlik va harorat sensori Arduino -dan qanday foydalanishni va OLED -displeyda qiymatlarni ko'rsatishni o'rganamiz
Arduino bilan DHT22 namlik va harorat sensori qanday ishlatiladi: 6 qadam
Arduino -da DHT22 namlik va harorat sensori qanday ishlatiladi: Ushbu qo'llanmada biz DHT22 namlik va harorat sensori bilan Arduino -dan qanday foydalanishni va OLED -displeyda qiymatlarni ko'rsatishni o'rganamiz
Arduino bilan DHT12 I2C namlik va harorat sensori qanday ishlatiladi: 7 qadam
Arduino bilan DHT12 I2C namlik va harorat sensori qanday ishlatiladi: Ushbu qo'llanmada biz DHT12 I2C namlik va harorat sensori bilan Arduino -dan qanday foydalanishni va OLED -displeyda qiymatlarni ko'rsatishni o'rganamiz
Simsiz namlik monitor (ESP8266 + namlik sensori): 5 qadam
Simsiz namlik o'lchagichi (ESP8266 + namlik sensori): Men maydanozni qozonda sotib olaman va kunning ko'p qismida tuproq quruq edi. Men maydanozli qozondagi tuproqning namligini sezish bo'yicha, loyihani amalga oshirishga qaror qildim, qachon kerak bo'lsa, tuproqni suv bilan to'kib tashlang, menimcha, bu sensor (sig'imli namlik sensori v1.2) yaxshi