DHT17 harorat va namlik sensori juda keng harorat va nisbiy namlikda ishlatilishi mumkin bo'lgan mashhur va arzon sensordir. Keling, uni Arduinoga qanday ulashni va undan ma'lumotlarni qanday o'qishni ko'rib chiqaylik.
Kerakli
- - Arduino;
- - DHT17 harorat va namlik sensori.
Ko'rsatmalar
1-qadam
Shunday qilib, DHT11 sensori quyidagi xususiyatlarga ega:
- o'lchangan nisbiy namlik diapazoni - 5% gacha bo'lgan xato bilan 20..90%, - o'lchangan harorat diapazoni - 2 darajagacha bo'lgan xato bilan 0..50 daraja Selsiy;
- namlik o'zgarishiga javob berish vaqti - 15 sekundgacha, harorat - 30 sekundgacha;
- ovoz berishning minimal muddati - 1 soniya.
Ko'rib turganingizdek, DHT11 sensori unchalik aniq emas va harorat oralig'i salbiy ko'rsatkichlarni qoplamaydi, bu bizning iqlim sharoitida sovuq mavsumda tashqi o'lchovlar uchun deyarli mos emas. Biroq, uning arzonligi, kichik o'lchamlari va ulardan foydalanish qulayligi ushbu kamchiliklarni qisman qoplaydi.
Rasmda sensorning ko'rinishi va uning o'lchamlari millimetrda ko'rsatilgan.
2-qadam
DHT11 harorat va namlik sezgichining mikrokontrollaga, xususan, Arduino-ga ulanish diagrammasini ko'rib chiqing. Rasmda:
- MCU - mikrokontroller (masalan, Arduino yoki shunga o'xshash) yoki bitta taxtali kompyuter (Raspberry Pi yoki shunga o'xshash);
- DHT11 - harorat va namlik sensori;
- DATA - ma'lumotlar shinasi; agar datchikdan mikrokontrollagacha ulanish kabelining uzunligi 20 metrdan oshmasa, u holda ushbu avtobusni 5, 1 kOm qarshilik bilan quvvat manbaiga tortib olish tavsiya etiladi; agar 20 metrdan ortiq bo'lsa, unda yana bir mos qiymat (kichikroq).
- VDD - datchik quvvat manbai; ~ 3,0 dan ~ 5,5 voltgacha doimiy ruxsat etilgan kuchlanish; agar ~ 3.3 V quvvat manbai ishlatilsa, u holda 20 sm dan oshmaydigan quvvat simini ishlatish maqsadga muvofiqdir.
Sensorning biri - uchinchisi - hech narsaga ulanmagan.
DHT11 datchigi ko'pincha kerakli quvurlar bilan tortib olinadigan qarshilik va filtrli kondansatör bilan to'liq montaj sifatida sotiladi.
3-qadam
Keling, ko'rib chiqilgan sxemani yig'amiz. Bundan tashqari, mantiqiy analizatorni elektronga ulab qo'yaman, shunda sensor bilan aloqa qilish vaqtining diagrammasini o'rganaman.
4-qadam
Oddiy yo'l bilan boramiz: DHT11 datchigi uchun kutubxonani yuklab oling ("Manbalar" bo'limidagi havola), uni standart usulda o'rnating (Arduino rivojlanish muhitining / libraries / katalogiga oching).
Keling, shunday oddiy eskizni yozamiz. Keling, uni Arduino-ga yuklaymiz. Ushbu eskiz har 2 soniyada DHT11 sensoridan o'qilgan RH va harorat xabarlarini kompyuterning ketma-ket portiga chiqaradi.
5-qadam
Endi mantiqiy analizatordan olingan vaqt diagrammasidan foydalanib, axborot almashinuvi qanday amalga oshirilayotganini aniqlaymiz.
DHT11 harorat va namlik sensori mikrokontroller bilan aloqa qilish uchun bitta simli ketma-ket interfeysdan foydalanadi. Bitta ma'lumot almashinuvi taxminan 40 ms davom etadi va quyidagilarni o'z ichiga oladi: mikrokontrollerdan 1 so'rov biti, sensorning 1 bitli javobi va sensordan 40 ta bit. Ma'lumotlarga quyidagilar kiradi: namlik haqida 16 bit, harorat haqida 26 bit va 8 ta bit.
DHT11 sensori bilan Arduino aloqasining vaqt jadvalini batafsil ko'rib chiqamiz.
Shakldan ko'rinib turibdiki, impulslarning ikki turi mavjud: qisqa va uzoq. Ushbu almashinuv protokolidagi qisqa impulslar nollarni, uzun impulslar - birligini bildiradi.
Shunday qilib, dastlabki ikkita impuls - Arduino-ning DHT11-ga so'rovi va shunga mos ravishda sensorning javobidir. Keyinchalik 16 bit namlik keladi. Bundan tashqari, ular yuqori va past, chap tomonda yuqori baytlarga bo'linadi. Ya'ni, bizning rasmimizda namlik ma'lumotlari quyidagicha:
0001000000000000 = 00000000 00010000 = 0x10 = 16% RH.
Harorat ma'lumotlari o'xshash:
0001011100000000 = 00000000 00010111 = 0x17 = Selsiy bo'yicha 23 daraja.
Tekshirish bitlari - checksum faqat olingan 4 ta baytning yig'indisi:
00000000 +
00010000 +
00000000 +
00010111 =
00100111 ikkilik sonda yoki 16 + 23 = 39 o'nli kasrda.