Mundarija:
- 1 -qadam: Sizga nima kerak
- 2-qadam: 5 simli chidamli sensorli panel nima?
- 3 -qadam: simlarni ulash
- 4 -qadam: dasturiy ta'minotni ishlab chiqish
- 5 -qadam: davlat mashinasi miltillaydi
- 6 -qadam: Yonish tugmasi
- 7 -qadam: ketma -ket aloqa
- 8 -qadam: Koordinatalarni o'qish
- 9 -qadam: tozalash
- 10 -qadam: Yakuniy fikrlar
Video: 5 simli chidamli sensorli sensor: 10 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Salom salom!
Men bu saytda ishlaganimga ancha vaqt bo'ldi va ko'p narsa o'zgardi! Men nihoyat, boshqa loyiha uchun rulga o'tirishga tayyorman va menimcha, vaziyatni biroz o'zgartirish vaqti keldi!
Men 271828 yilgi "Plitalar va to'p" ga asoslangan loyihani uzoq vaqtdan beri o'ylab yurganman, lekin u tugagunga qadar sensorlar va boshqaruv nazariyasi haqida ko'p narsalarni bilib olishim kerak. Men o'yladimki, agar men bir -ikki narsani o'rganayotgan bo'lsam, sizni ham o'zim bilan olib ketaman!
Shu maqsadda, bu darsliklar oldiga qo'ygan maqsadim, men ko'proq sayqallangan darsliklarim va loyihaning o'zi uchun rekord bo'ladi. Har bir individual darslik bu safarda bir qadam bo'ladi va men ilgari aytib o'tgan tafsilotlarni o'z ichiga oladi, masalan, kodni ishlab chiqish (faqat tugallangan kod o'rniga) va men yo'lda qilgan xatolarim.
Men bu yangi loyihadan juda xursandman va men uning qanchalik yaxshi ishlashini ko'rish uchun hayajonlandim!
Bugun biz faqat DP-32 bilan ishlaydigan 5-simli sensorli panelni olamiz.
Qani boshladik!
1 -qadam: Sizga nima kerak
Chunki bu darslik bitta sensorning ishlashiga bag'ishlangan, shuning uchun sizga mikrokontroller va sensorli paneldan boshqa ko'p narsa kerak bo'lmaydi.
-
Mikrokontroller.
Men DP32-ni o'rnatilgan non paneli bilan ishlataman, chunki bu prototipni juda oddiy qiladi
-
Turli xil simlar va kabellar.
Men sensorli panelning lentali kabelidan foydalanishim mumkin edi, lekin agar u yirtilib ketsa, butun panel befoyda. Buning o'rniga, men o'rnatilgan simning kuchlanishini kamaytirish uchun 6 simli kabeldan foydalanaman
-
Titulyar 5 simli rezistiv sensorli panel!
Menda 4 simli rezistiv sensorli panel bor edi, lekin uning tasmasi sindi
Va bu hammasi!
2-qadam: 5 simli chidamli sensorli panel nima?
Agar siz mening 4-simli sensorli panelli darsligimni o'qigan bo'lsangiz, siz rezistiv sensorli sensor haqida umumiy tasavvurga ega bo'lasiz, lekin 5-simli va 4-simli panellar boshqacha ishlaydi.
Menga bu panel yoqadi, chunki siz barcha sim izlarini ko'rishingiz mumkin, bu esa nima qilayotganini ko'rishni osonlashtiradi. Birinchi rasmda men har bir izni turlicha bo'yadim. Ehtimol, siz simlarning to'rttasi (pushti, sariq, to'q sariq va binafsha) har biri to'rtta burchakdan biriga o'tishini ko'rishingiz mumkin. O'rta sim (qizil) moslashuvchan sensorli panelga o'tadi.
Ikkinchi rasmda biz to'rtta simning ikkitasini (yuqori o'ng va pastki o'ng) yuqori voltli (qizil rangda ko'rsatilgan), qolgan ikkitasini (yuqori chap va pastki chap) past darajaga o'rnatdik. kuchlanish (ko'k rangda ko'rsatilgan). Bu butun panelda kuchlanish gradyanini hosil qiladi. Bunday holda, gradyan X o'qi bo'ylab o'tadi, shuning uchun yuqori kuchlanish X o'qi bo'ylab yuqori pozitsiyani ifodalaydi.
Biz barmog'imizni panelga tekkizganimizda, u X o'qi gradiyenti bo'ylab bir joyga ulanadigan, moslashuvchan sensorni bosadi. Bizning mikrokontrolderimizdagi kuchlanish sezgichlari bu kuchlanishni sezishi mumkin va barmog'ingiz X o'qining qayeriga tegayotganini aytib berishi mumkin!
Uchinchi rasmda siz Y o'qi bo'ylab sezish uchun konfiguratsiya qanday o'zgarganini ko'rishingiz mumkin. Shunday qilib, biz barmog'imiz 2 o'lchamli bo'shliqqa qayerda tegayotganini aniqlay olamiz!
3 -qadam: simlarni ulash
Yuqoridagi rasmlarda ko'rib turganingizdek, men to'rt burchagimni har birini o'z raqamli chiqish piniga uladim. Bu ularni alohida -alohida yuqori yoki past darajaga qo'yishga imkon beradi. Mening sensor pinim analog kirish piniga ulanadi. 4-simdan farqli o'laroq, 5 simli sensorli ekranning yaxshi tomoni shundaki, sizga faqat bitta analog pin kerak, 4 simli esa 2.
Albatta, sizning simlaringiz boshqacha bo'lishi mumkin, lekin mening simlarim quyidagicha:
Analog 0 (pin 6) Sensorga ulanadi (o'rta pin)
Raqamli 3 yuqori o'ngga ulanadi (eng yuqori pin)
Raqamli 2 yuqori chapga ulanadi (ikkinchi eng yuqori pin)
Raqamli 1 pastdan chapga ulanadi (pastdan ikkinchi pin)
Raqamli 0 pastdan o'ngga ulanadi (eng pastda joylashgan pin)
Yana bir bor ta'kidlash joizki, men mikrokontroller va panel o'rtasida o'tish uchun 6 simli kabeldan foydalanaman. Men bu kabelning yuqori pinini ulanmagan holda qoldirdim.
4 -qadam: dasturiy ta'minotni ishlab chiqish
Ilgari, men odatda siz to'ldirgan dasturiy ta'minot faylini tashlab yuborardim, ehtimol hamma nima qilayotgani haqida qisqacha ma'lumot. Menga bu yoqmaydi. Men ushbu seriya ishlab chiqilayotgan loyihalar haqida bo'lishini xohlayman va shu maqsadda men ushbu dasturiy ta'minotning boshidan oxirigacha haqiqiy rivojlanishini o'z ichiga olaman.
Odatdagidek, men Digilent yadroli Arduino IDE -dan foydalanaman. Har bir bo'limda kodli fayl, skrinshot, shuningdek qo'shimchalarning tavsifi va biz nimaga erishmoqchi bo'lamiz.
Hozir men, misollar papkasida topganingizdek, oddiy kechikish uslubidagi miltillash dasturidan boshlayapman. Agar siz men yozgan uzun sarlavhani o'qigan bo'lsangiz, bu jarayonning har bir bosqichi dasturni yakuniy maqsadimizga yaqinlashtirishi uchun o'zgartirilishini ko'rasiz.
5 -qadam: davlat mashinasi miltillaydi
Mening birinchi harakatim - miltillash funktsiyasini "delay ()" ga asoslangan holat holatiga o'zgartirish.
Ifodani o'zgartirishga odatlanmaganlar uchun u xuddi if-bayonotiga o'xshab ishlaydi. Bu (to'q sariq rangli qutida) bizning "holat" o'zgaruvchisini sinab ko'radi (u 0 dan boshlanadi). Keyin u bizning hozirgi holatimizga o'tadi. Siz ko'rasizki, 0 va 2 holatlari LEDni yoqish va o'chirish uchun javobgardir (mos ravishda), 1 va 3 -holat esa kalitlar o'rtasida kutish uchun javobgardir.
6 -qadam: Yonish tugmasi
Keyin men chiroqni o'chirish uchun tugma ishlatilishini xohlardim. Buni haddan tashqari murakkablashtirish o'rniga, men barcha shtatlarni bittaga pastga siljitdim (0-holat 1-holatga aylanadi va hokazo). Buni amalga oshirayotganda, chiqish holatlarini va shtatning o'zini ko'paytirishga ehtiyot bo'ling (3 -rasmga qarang).
Ikkinchi "kutish" holatini ham o'chirib tashladim. Bu shuni anglatadiki, tugma bir soniya davomida chiroqni yoqadi va siz tugmani o'chirgandan so'ng darhol yana bosishingiz mumkin.
Ta'kidlash joizki, bu tizim biz uchun tugmani avtomatik ravishda o'chirib tashlaydi, chunki biz 0 holatiga qaytishdan oldin LED o'chishini kutishimiz kerak, bu erda tugma yana tsiklni ishga solishi mumkin.
7 -qadam: ketma -ket aloqa
Bu yangilanish juda kichik. Men faqat Serial aloqani o'rnatish va xabarlar yuborishni xohlardim. Birinchi rasmda, men ketma -ketlikni setup () funktsiyasidan boshlaganimni ko'rishingiz mumkin. Bizning davlat mashinamiz ichida men kompyuterga ketma -ket oddiy xabarlar yuboradigan 1 va 3 -holatlarga qator qo'shdim.
8 -qadam: Koordinatalarni o'qish
Oxirgi qadam oson bo'lgani ma'qul, chunki bu bema'nilik edi.
Boshlash uchun men sensorli panel uchun o'zgaruvchilarni qo'shdim, shu jumladan sensorli panel va tugma uchun ajratilgan vaqt o'zgaruvchilari. Sababini birozdan keyin ko'rasiz.
Men davlat mashinasini to'liq qayta yozdim. Kodni ko'rib chiqish biroz chalkash, shuning uchun men bajarilgan ishlarni tasvirlashi kerak bo'lgan blok -sxemani qo'shdim.
E'tibor qilish kerak bo'lgan narsalar: hozirda uchta "kutish" bosqichi bor. Sensorli panelning har bir konfiguratsiyasi uchun bittasi, o'lchovni o'tkazishdan oldin kuchlanish o'rnatilishi uchun, bittasi esa tugmachani to'g'ri o'chirish uchun vaqt beradi. Bu kutish bosqichlari, shuning uchun men tugmachani ham, sensorli panelni ham o'z vaqt o'zgaruvchilarini berishni xohladim.
Eslatma: DEBOUNCE_TIME konstantasi biroz past bo'lishi mumkin. O'zingizni erkin his qiling.
9 -qadam: tozalash
Biz ushbu loyiha kodining oxirgi versiyasiga keldik!
Boshlash uchun, o'tgan vaqtni hisoblash uchun loop_diff () funktsiyasini qo'shdim. DP32 uchun ichki soat - bu imzosiz uzun va bu juda qiyin bo'lsa -da, bu kodning ish vaqti davomida soatning aylanishi ehtimoli bor*. Bunday holda, btn_time yoki panel_time -da saqlangan vaqtdan hozirgi vaqtni olib tashlash bizga g'alati narsa beradi, shuning uchun looplar paydo bo'lganda aniqlash va shunga mos ravishda o'zini tutish uchun loop_diff () ni yozdim.
Men ham ozgina tozalash ishlarini qildim. Men hozir ishlatilmaydigan "state_time" o'zgaruvchisini olib tashladim. Men LED_BUILTIN yorlig'idan (bu Arduino standarti) PIN_LED1 yorlig'iga o'tdim (bu chipKit va DP32 uchun standart). Men Serial orqali jarayonni boshlash va tugatish haqidagi barcha xabarlarni o'chirib tashladim, bu esa Serial orqali ma'lumotlarni ancha tozalaydi.
*Men matematikani yillar oldin qilganman va o'ylaymanki, millis () funktsiyasi uchun o'zgaruvchining aylanishidan oldin bir haftalik doimiy ish vaqti kerak bo'ladi.
10 -qadam: Yakuniy fikrlar
Va bu hammasi!
Agar siz kuzatgan bo'lsangiz, endi mikrokontroleringizga ishchi sensorli panel ulangan bo'lishi kerak! Bu kichik loyiha edi, lekin bu katta loyihaning bir qismi. Men 271828 ning "Plitalar va to'p" kabi bir narsaga harakat qilyapman va bu sodir bo'lishidan oldin uzoq yo'lni bosib o'tishim kerak. Men sizni butun jarayon davomida olib borishga harakat qilaman va har bir qism o'zining kichik loyihasi bo'lishi kerak.
Bu men uchun o'quv jarayoni, shuning uchun o'z fikr va takliflaringizni quyidagi izohlarda qoldiring.
Rahmat, keyingi safar ko'rishguncha!
Tavsiya:
NodeMCU sensorli sensorli LDR haroratni boshqarish rölesi bilan uy avtomatizatsiyasi: 16 qadam
NodeMCU sensorli sensorli LDR haroratni nazorat qilish rölesi yordamida uyni avtomatlashtirish: NodeMCU -ning oldingi loyihalarida men Blynk ilovasidan ikkita maishiy texnikani boshqarganman. Men qo'lda boshqarish va qo'shimcha funktsiyalarni qo'shish orqali loyihani yangilash uchun ko'plab sharhlar va xabarlarni oldim, shuning uchun men bu aqlli uyni kengaytirish qutisini yaratdim
Smart Chromium qotishmasiga chidamli mato: 6 qadam
Smart Chromium Qotishmasiga chidamli mato: Yozgi vaqt yaqinda tugaydi (umid qilamanki, global isish tufayli), shuning uchun palto va Smart Chromium Qotishmasiga chidamli matolarni olish vaqti keldi. Nima? Sizda yo'qmi? Xo'sh, endi sizda ham o'zingizning elektr isitiladigan ro'molingiz bo'lishi mumkin
Prototip - odam sensorli sensorli signalli qurilma (KY -036): 4 qadam
Prototip - Odam sensorli sensori yordamida signalizatsiya qurilmasi (KY -036): Ushbu loyihada men teginish bilan ishlaydigan signalizatsiya qurilmasini loyihalashtiraman. Ushbu loyiha uchun sizga inson sensorli sensor (KY-036) kerak bo'ladi. Sizga ushbu loyiha haqida qisqacha ma'lumot berishga ruxsat bering, yuqoridagi rasmlarda ko'rib turganingizdek, sensorli sensor
Sensorli uchta sensorli davr + Sensorli taymer davri: 4 qadam
Sensorli uchta sensorli davr + Sensorli taymer davri: Sensorli sensor - bu pimlarga teginish aniqlanganda yoqiladigan elektron. Bu vaqtinchalik ishlaydi, ya'ni yuk faqat pimlarga tegib turganda yoqiladi, bu erda men sizga teginishning uch xil usulini ko'rsataman
Lifx yoki Hue uchun ochiq, ob -havoga chidamli armatura: 5 qadam (rasmlar bilan)
Ochiq havoda, Lifx yoki Hue uchun ob -havoga chidamli armatura: Men o'z bog'imni kechqurun zavqlanish uchun, Lifx Color 1000 lampalarim bilan yoritmoqchi edim. Lampochkaning namlik va issiqlikka zaifligini hisobga olib, men bozorda kerakli darajada himoya qiladigan moslama topa olmadim