Ushbu materialda o’rganilgan standart dasturlar (namunaviy sketchlar) yordamida boshqarib bo’lmaydigan, har biri alohida yondashuv va turli xil dasturlash algoritmlarini talab etadigan analog va raqamli datchiklarning ishlash prinsipi va ular asosidagi misollar keltiriladi. Ushbu datchiklar alohida o’rganilishining sababi, ulardan amaliyotda foydali va qiziqarli loyihalarni yaratishda keng foydalaniladi.
Enkoder
Enkoder (kodlovchi) – burilish burchagini elektr signaliga aylantirishga xizmat qiluvchi elektron komponent.
Tashqi ko’rinishi va vazifasiga ko’ra potensiometrni eslatadi. Lekin potensiometr rezistorning bir turi sifatida elektr signalining darajasini silliq regulirovka qilishga mo’ljallangan analog datchik bo’lsa, enkoderni oddiy raqamli datchikning ko’rinishi deb qaralishi mumkin.

Enkoderlarning ikki turi mavjud: mutlaq enkoder va inkremental (o’suvchi) enkoder. Mashg’ulotlarda biz “KY-040″ inkremental enkoderidan foydalanamiz.
Inkremental ekoder (o’suvchi enkoder, “rotary encoder“) – bu o’z o’qining burchak holatini aniqlash uchun ishlatilishi mumkin bo’lgan elektromexanik datchikning bir turi. Ushbu datchik o’z o’qining aylanish yo’nalishiga qarab chiqishda elektr signallarini hosil qiladi. Enkoder mexanik tarkibiy qismlardan iborat, shuning uchun u ishonchli ishlaydi va turli xil dasturlarda raqamli regulyator sifatida qo’llaniladi: robotlar, kompyuter sichqonchalari, plotterlar, printerlar va boshqalarda.

Enkoderning ishlash prinsipi

Oxirgi rasmdan ko’rinib turibdiki, enkoder 2 ta ichki pereklyuchatel va 1 ta tugmaning ma’lum bir sxema asosida bog’lanishi hisoblanadi. Shuning uchun uni oddiy raqamli datchilarning yana bir turi deb hisoblash mumkin. Har bir pereklyuchatel va tugma 10 kOm li rezistor bilan musbatga tortib qo’yilgan. Demak, ular dastlab HIGH signali holatida bo’ladi. Pereklyuchatel ulanganda (enkoder muruvvati buralganda) va tugma bosilganda esa, ularning chiqishida LOW signali hosil bo’ladi.
1-misol. Ushbu misolda inkremental enkoderning ishlash prinsipini ko’rsatuvchi oddiy sketchni ko’ramiz. Uning asosida turli Arduino loyihalarida raqamli regulyatorlar yaratish mumkin (Masalan, displeylar uchun menyularni – bunda enkoder muruvvatini burash orqali displeydagi menyu bo’limlarini tanlash, tugma yordamida ularga o’tish mumkin).

Kerakli materiallar:
1) Arduino UNO, USB-kabel, maket platasi, o’tkazgichlar;
2) KY-040 enkoderi.
Sketch:
2-misol. Ushbu misolda enkoder va u bilan ishlashni soddalashtirish uchun “RotaryEncoder.h” bibliotekasidan foydalanamiz.
Kerakli materiallar va sxema o’zgarmaydi.
Sketch:
Boshqaruv natijasi videosi har ikki sketch uchun bir xil!
Natija:
3-misol. Ushbu misolda “RotaryEncoder.h” bibliotekasidan foydalangan holda LCD1602 displeyida enkoder yordamida menyu “LED1”, “LED2”, “LED3” elementlarini tanlash, tanlangan element asosida esa, tegishli svetodiodni boshqarish jarayonini ko’rib chiqamiz.
Kerakli materiallar:
1) Arduino UNO, USB-kabel, maket platasi, o’tkazgichlar;
2) KY-040 enkoderi;
3) LCD1602_I2C displeyi;
4) 3 ta svetodiod (imkon qadar har birini pinlarga 220 Om rezistor orqali ulash tavsiya etiladi).
Sxema:

Sketch:
Natija:
Ultratovush datchiklari
Ultratovush datchigi (“ultrasonic sensor”) – ultratovush (20 KHz dan yuqori chastotalar) diapazonida ishlaydigan, maxsus dinamikdan yuborilgan tovush signalini ikkinchi dinamik orqali qabul qilish va orada o’tgan vaqtdan kelib chiqib, obyektgacha bo’lgan masofani aniqlash datchigi.
Biz quyidagi misollarda “HC-SR04” ultratovush datchigidan foydalanamiz. Uning xarakteristikalari quyidagicha:
- ishchi kuchlanish: 5V;
- ishchi tok: 15 mA;
- tovush chastotasi: 40 KHz;
- o’lchash burchagi: 15 gradusgacha;
- o’lchash masofasi: 2 … 400 sm;
- o’lchash aniqligi: 1 mm gacha.
1-misol. Hech qanday bibliotekadan foydalanmagan holda masofani o’lchash sketchini ko’rib chiqamiz. Masofa millimetrlar aniqligida o’lchanadi.
Kerakli materiallar:
1) Arduino UNO, USB-kabel, maket platasi, o’tkazgichlar;
2) HC-SR04 ultratovush datchigi.
Sxema:

Sketch:
Natija:
2-misol. Ultratovush datchigining o’lchash aniqligi hudud haroratiga ham bog’liq. Shuning uchun, yuqori aniqlik talab etilgan taqdirda, sxemaga haroratni o’lchash datchigini, sketchga tegishli kodni qo’shish kerak bo’ladi. Qanday datchikdan foydalanishning ahamiyati yo’q. Sayt materiallarida haroratni o’lchash bo’yicha ayrim datchik va modullar haqida ma’lumotlar keltirilgan. Sketchga ulardan birini qo’llash mumkin. Biz navbatdagi sketchda qulaylik uchun haroratni o’lchash kodi o’rniga ma’lum bir etalon haroratdan foydalanamiz. Masofa millimetrlar aniqligida o’lchanadi.
Kerakli materiallar va sxema o’zgarmaydi.
Sketch:
Natija:
3-misol. Ultratovush yordamida masofani aniqlash dasturi uchun tayyor bibliotekalar ham mavjud. Ulardan foydalanib, dasturni soddalashtirish mumkin. Navbatdagi misolda “NewPing.h” ichki bibliotekasini o’rnatamiz va undan foydalanamiz. Masofa santimetrlar aniqligida o’lchangan.
Kerakli materiallar va sxema o’zgarmaydi.
Sketch:
Natija:
Havo tozaligi va gaz konsentratsiyasini aniqlash datchiklari
Deyarli barcha gaz datchiklari ham analog ham oddiy raqamli chiqishlarga ega bo’lgan hamda havoning tozaligi yoki gazlarning (tutun, alkogol, CO is gazi, CO2 karbonat angidrid gazi, propan, metan, butan gazlari) konsentratsiyasini aniqlash uchun mo’ljallangan datchiklar hisoblanadi. Shuning uchun ular bilan ishlash uchun ilgari o’rganilgan analog va oddiy raqamli datchiklar bilan ishlash mashg’ulotlarida o’rganilgan sketchlardan foydalanish mumkin. Ya’ni, hech qanday biblioteka ham qo’llash talab etilmaydi. Bunda tegishli analog yoki raqamli pinlar orqali ulangan datchik yordamida tegishli gazning konsetratsiyasiga mos keluvchi qiymatlarni aniqlash mumkin.
Lekin har bir gaz turining o’ziga xos jihatlari hamda ularni aniq o’chashning tegishli usul hamda formulalari ishlab chiqilgan. Shuning uchun har bir datchik sketchiga tegishli gazning shu xususiyatlarini hisobga olgan holda, qo’shimchalar kiritilishi zarur.
Gaz datchigining asosiy ishchi elementi uning qizdirish elementi (“нагревательный элемент”) hisoblanadi. Kerakli haroratgacha qizdirilganda gaz datchigida qoplangan SnO2 (qalay dioksidi) va havodagi gaz kimyoviy reaksiyaga kirishishi natijasida datchikning ichki qarshiligi o’zgaradi hamda gazning konsentratsiyasini aniqlash imkoniyati paydo bo’ladi.
Datchikda qabul qilinib, o’lchangan analog signal darajasi gaz konsentratsiyasiga ekvivalent bo’ladi. Hudud harorati va havo namligi datchik ko’rsatkichlarining aniqligiga jiddiy ta’sir ko’rsatadi (7-10% gacha farq qilishi mumkin). Shuning uchun aniqlikni oshirish uchun datchik haroratini tashqi termodatchik yordamida o’lchab, tegishli formulalar yordamida gaz datchigining ko’rsatkichlarini to’g’rilash zarur bo’ladi.
MQ-2 – tutun, vodorod va uglevodorod (propan, metan, butan) gazlari konsentratsiyasini aniqlash uchun mo’ljallangan datchik.
1-misol. MQ-2 datchigi yordamida tutun va uglevodorod gazlari konsentratsiyasini aniqlashning soddalashtirilgan sketchini ko’rib chiqamiz (bunda havo harorati, namligi va boshqa faktorlar hisobga olinmaydi, shuning uchun aniqlik darajasi past bo’ladi).
Kerakli materiallar:
1) Arduino UNO, USB-kabel, maket platasi, o’tkazgichlar;
2) MQ-02 datchigi.
Sxema:

Sketch:
Video1 (gaz konsentratsiyasi oshganini aniqlash):
Video2 (tutun konsentratsiyasi oshganini aniqlash):
MQ-7 datchigi – uglerod oksidi, is gazi (“CO”, “угарный газ”) konsentratsiyasini aniqlash uchun mo’ljallangan datchik.

MQ-07 datchigi prinsipial sxemasi
Is gazi uglerodli yoqilg’ining oxirigacha yonmay qolgan holati bo’lib, natijada atmosferaga karbonat angidrid “CO2” o’rniga is gazi “CO” ajralib chiqadi va juda zaharli hisoblanadi. Undan uzoq muddat nafas olish inson salomatligi yomonlashishi va tez chora ko’rilmasa, oxir oqibat o’limga ham olib borishi mumkin. U rangsiz va hidsiz bo’lganligi uchun uning konsentratsiyasi oshganligini inson tomonidan o’z vaqtida anlashning imkoni yo’q.

2-misol. Ushbu misolda tashqi faktorlarni hisobga olgan holda datchik ko’rsatkichlari nisbatan aniqlashtirilishi mumkin. Sketchdagi R2 rezistori qarshiligi datchikdagi R2 rezistori qarshiligini bildiradi. R0 qiymati tajriba yo’li bilan toza havoli hududda o’lchangan datchik ichki qarshiligi ko’rsatkichni bildiradi. Rs qiymati – o’lchov bajariladigan hududda o’lchangan datchik ichki qarshiligi ko’rsatkichi hsob-kitob yo’li bilan aniqlanadi. RS va R0 qiymatlari asosida maxsus formulalar yordamida hududdagi gaz (CO) konsentratsiyasi (PPM) aniqlanadi.
Sketch:
Natija (R0 qiymati taxminan olingan):

MQ-135 datchigi – karbonat angidrid (“CO2”, “углекислый газ”) konsentratsiyasini aniqlash uchun mo’ljallangan datchik. Ushbu gaz is gazidek juda zaharli emas, u atrof-muhitdagi o’simliklar tomonidan so’rilib ketadi, lekin yopiq mihitda inson undan ko’p nafas olishi ham xavfni yuzaga keltiradi – bosh og’rig’i, og’ir holatlarda esa, o’lim holatigacha ham olib borishi mumkin.
TCS3200 rangni aniqlash datchigi
MPU6050 Akselerometr+giroskop datchigi
ADXL345 akselometri
Bukilish datchigi (flex sensor)
Klaviatura matritsasi
Barmoq izi skaneri