Mundarija:

Raspberry Pi Zero Garaj eshiklarini ochuvchi uskuna: 10 qadam
Raspberry Pi Zero Garaj eshiklarini ochuvchi uskuna: 10 qadam

Video: Raspberry Pi Zero Garaj eshiklarini ochuvchi uskuna: 10 qadam

Video: Raspberry Pi Zero Garaj eshiklarini ochuvchi uskuna: 10 qadam
Video: Самодельный хакерский гаджет RPI0W | Как открыть любой шлагбаум, ворота и достать соседей 2024, Iyul
Anonim
Raspberry Pi Zero Garaj eshiklarini ochuvchi apparat
Raspberry Pi Zero Garaj eshiklarini ochuvchi apparat

Ushbu loyihaning ilhomlantiruvchi omillaridan biri, Raspberry Pi 3 Garage Door Opener -da, Internetda topilgan boshqa bir qancha yaxshi ko'rsatmalar edi. Tajribali elektronika bilan shug'ullanmaganim uchun, men Raspberry Pi bilan bog'lanish yo'llari bo'yicha juda ko'p qo'shimcha tadqiqotlar o'tkazdim va LED lampalar va GPIO simlari bilan rezistorlarning ahamiyati haqida ko'p narsalarni o'rgandim. Men, shuningdek, o'rnatilgan Pi funktsiyasidan farqli o'laroq, yuqoriga va pastga tushadigan apparat davrlarining afzalliklari haqida bilib oldim.

Garaj eshiklari loyihasi, aslida, Pi-apparat, dasturiy ta'minot va garaj eshiklarini ochish moslamalari bilan o'rnatishni o'z ichiga olgan ko'p qismli jarayon bo'lib, men birinchi navbatda Pi uskunasiga e'tibor qarataman deb o'yladim, chunki bu har bir qadam uchun kerak.

Mening yondashuvim juda oddiy bo'lishi kerak, men texnikani to'liq bajarish uchun qilgan bilimlarimning qisqacha mazmuni. Bu ba'zi ma'lumotlardan boshlanadi, keyin biz non panelida sxemalar tuzamiz. Har bir qadam bizning dizaynimiz va bilimimizni takomillashtiradi, natijada Pi -ni o'z o'rni va qamish sensorlar bilan bog'laydigan doimiy apparat echimini yaratadi.

Boshqa loyihalardan farqli o'laroq, men Raspberry Pi Zero W -ni ishlatishga qaror qildim, u bir muddat oldin sotuvga qo'yilgan edi, lekin u hali ham stolimda ishlatilmay o'tirardi. Buning ijobiy tomoni shundaki, prototiplash paytida, agar GPIO zanjirlaridan birortasiga zarar yetkazsam, uni almashtirish va prototipni saqlash oson edi. Salbiy tomoni shundaki, u faqat ARMv6 protsessoriga ega, shuning uchun Java kabi ba'zi narsalar ishlatilmaydi.

Men qaror qilgan yana bir narsa-bu o'z sxemam uchun qo'shimcha taxtani yaratish edi, shuning uchun men o'zimning Pi-ni o'zgartirishim yoki almashtirishim kerak, agar pinouts bir xil bo'lsa, taxtani yangi Pi-ga osongina ulash kerak.. Umid qilamanki, bu kalamushlarning uyasi simini kamaytiradi.

Mening taxminlarim:

  • Siz lehim bilan qulay ishlaysiz
  • Siz Raspberry Pi -da asosiy terminal buyruqlaridan qanday foydalanishni bilasiz
  • Siz Raspbian Buster yoki undan yangisini ishlatasiz.
  • Sizda Pi buyruq satriga ba'zi interfeyslar mavjud; yoki maxsus monitor, klaviatura va boshqalar bilan VA/OR SSH yordamida.
  • Siz elektr zanjiri dizaynining asosiy tushunchasi bilan tanishsiz; Masalan, siz kuch va tuproq o'rtasidagi farqni bilasiz va siz qisqa tutashuv tushunchasini tushunasiz. Agar siz uyingizga yangi rozetkani qo'yishingiz mumkin bo'lsa, siz ham unga ergashishingiz kerak.

Ta'minotlar

Siz ushbu loyihaga qanchalik bag'ishlanganligingizga qarab, siz har qadamda kerakli narsalarni boshlashingiz va u erdan ketishingiz mumkin. Bu qismlarning ko'pchiligi sizning mahalliy elektronika yoki DIY/Maker do'konida mavjud, lekin men tavsiflarni yaxshilash uchun Amazon havolalarini qo'shdim.

  • MakerSpot RPi Raspberry Pi Zero W Protoboard (Pi uchun oxirgi HAT qilish uchun)
  • 2 kanalli shahar 5V o'rni moduli (agar sizda bitta eshik bo'lsa, 1 kanalli, 2 eshikli 2 va boshqalar)
  • Yuqori eshikli kalit, odatda ochiq (YO'Q) (Agar siz hozirda prototip qilayotgan bo'lsangiz va ishga tushirish uchun arzon qamish kalitlarini ishlatmoqchi bo'lsangiz, yaxshi)
  • Elektron ko'ngilochar to'plamlar to'plami (bu erda menga kerak bo'lgan barcha rezistorlar, shuningdek, doimiy taxtani yasashdan oldin prototip va sinov va o'rganishga yordam beradigan non paneli va quvvat bloki bor edi). Agar sizda bularning barchasi mavjud bo'lsa, sizda bir nechta 10K, 1K va 330 ohmli rezistorlar mavjudligiga ishonch hosil qiling.
  • Breadboard jumper simlari (hamma qiladi)
  • Kichik uchli lehimli temir
  • Rosin yadroli lehim
  • Lehimlash temir uchini tozalovchi
  • Zaxira 9V quvvat manbai (panelni quvvatlantirish uchun)
  • Lehimlash uchun arzon prototip taxtalari (ixtiyoriy)
  • Siz tanlagan Raspberry Pi Zero yoki Pi bilan ishlash
  • Raspberry Pi uchun sarlavhali pinlar (agar sizda sarlavha bo'lmasa)
  • HAT protoboardida foydalanish uchun sarlavhalarni yig'ish.
  • Kichkina igna burun pensesi
  • Zargarlarning tornavida to'plami
  • Kichik yon kesgichlar (payvandlashdan keyin simni kesish uchun)
  • Cımbızlar
  • Kichik kalibrli sim (men qattiq yadroni afzal ko'raman) protobolda ishlatiladi
  • Bir oz silikon (agar siz to'plamdagi paketlar o'rniga 1,8 mm sirtli LEDlardan foydalanishni tanlasangiz)
  • Men kattalashtiruvchi chiroq kichik lehim ishlarini ko'rish uchun juda foydali ekanligini topdim

1 -qadam: Raspberry Pi GPIO -ga kirish

Biz Raspberry Pi bilan ishlatadigan asosiy interfeys - bu GPIO (Umumiy maqsadli kirish/chiqish).

Bu erda Pi uchun mos keladigan pin diagrammasini toping. Bu ko'rsatma Pi Zero W v1.1 ga qaratiladi.

Biz faqat yashil GPIO pinlaridan foydalanamiz, SDA, SCL, MOSI, MISO va boshqalarni chetlab o'tamiz. (Men ba'zi GPIO pinlarining maxsus maqsadlari borligini kashf qildim, bu ularni non panelida prototiplashning afzalliklaridan biri edi, shuning uchun men GPIO 17 -pin (11 -pin), 27 -pin (13 -pin) va 12 -raqam (32 -raqam) ga yopishib qoldim. Mening taxtam uchun yaxshi lavozimlarda.

GPIO pinlari raqamli (ikkilik) kalit sifatida ishlashga mo'ljallangan; ular mantiqiy ravishda ikkita holatdan biri sifatida mavjud: 1 yoki nol. Bu holatlar pinning ma'lum bir ostonadan (1) yuqori kuchlanishni berishiga yoki qabul qilishiga yoki ma'lum bir ostonadan pastroq kuchlanish olishiga bog'liq. (Biz chegaralar haqida keyinroq gaplashamiz.)

Shuni ta'kidlash kerakki, Raspberry Pi 5V va 3.3V (3V3) quvvatini ta'minlay olsa ham, GPIO pinlari 3.3Vgacha ishlaydi. Bundan tashqari, siz GPIO va ehtimol butun nazoratchiga zarar etkazasiz. (Shuning uchun biz non taxtasida prototip qilamiz va eng arzon Pi dan foydalanamiz!)

Pimlarning holatini dasturiy ta'minot (chiqish) yoki boshqa qurilmalar (kirish) bilan boshqarish mumkin.

Keling, buni SYSFS -ning asosiy buyruqlari yordamida tasvirlab beraylik. Ishonchim komilki, bu WiringPi -ni talab qiladimi, lekin agar siz muammolarga duch kelsangiz, siz minimal Raspbian tasviridan foydalanayotgan bo'lsangiz, uni o'rnatishni xohlashingiz mumkin.

Birinchidan, keling, GPIO 17 -ga kirishga ruxsat beraylik:

sudo echo "17">/sys/class/gpio/export

Endi GPIO qiymatini tekshiramiz:

sudo cat/sys/class/gpio/gpio17/qiymati

Qiymat nolga teng bo'lishi kerak.

Bu vaqtda GPIO kirish yoki chiqish ekanligini bilmaydi. Shunday qilib, agar siz GPIO qiymatini o'zgartirishga harakat qilsangiz, siz "yozish xatosi: operatsiyaga ruxsat berilmagan" xabarini olasiz. Keling, pinni aytaylik:

sudo echo "out">/sys/class/gpio/gpio17/yo'nalishi

Va endi qiymatni 1 ga o'rnating:

sudo echo "1">/sys/class/gpio/gpio17/qiymati

Ko'rish uchun qiymatni yana tekshiring … va qiymat 1 bo'lishi kerak.

Tabriklaymiz, siz faqat GPIO chiqishini yaratdingiz va holatni o'zgartirdingiz!

Bu erda biroz ko'proq narsa bor, lekin oldin yana bir nechta narsalarni bilib olaylik.

2 -qadam: Qarshiliklarni tushunish

Shunday qilib, siz Vikipediyadan rezistorlarni qidirishingiz mumkin, lekin ular biz uchun nimani anglatadi? Asosiysi, ular bizning tarkibiy qismlarimizni himoya qiladi.

Esingizda bo'lsin, biz 3.3Vgacha ishlaydigan GPIO -lar haqida gapirgan edikmi? Buning ma'nosi shundaki, agar siz GPIO pinini bundan ham ko'proq bersangiz, uni qovurishingiz mumkin. Nima uchun bu muhim? Ba'zida har qanday kontaktlarning zanglashiga olib kelishi mumkin va agar maksimal 3.3V bo'lsa, har qanday kichik hiqichoq muammolarga olib kelishi mumkin. Maksimal kuchlanishda ishlash - xavfli taklif.

Bu, ayniqsa, LEDlar uchun to'g'ri keladi. LED iloji boricha ko'proq quvvat oladi. Oxir -oqibat, LED yonib ketadi, lekin oqimning muhim chizig'i kontaktlarning zanglashiga olib kelishi mumkin.

Misol uchun: agar siz vilkasini elektr rozetkasining ikkala uchiga ham qo'ysangiz nima bo'ladi? Hech qanday qarshilik yo'q va siz elektron to'xtatuvchini urasiz. (Va, ehtimol, bu jarayonda o'zingizga zarar etkazgan.) Nega tushdi mashinasi bunday qilmaydi? Chunki uning isitish elementlari qarshilik ko'rsatadi va shuning uchun kontaktlarning zanglashiga olib kelmaydi.

Xo'sh, biz buni LED bilan sodir bo'lishining oldini qanday olamiz? LEDni rezistor yordamida haydash uchun ishlatiladigan oqim miqdorini cheklash orqali.

Ammo qanday o'lchamdagi rezistor? Ha, men bir nechta veb -maqolalarni o'qib chiqdim va nihoyat LED bilan 3.3V kuchlanishli 330Ω rezistorga joylashdim. Siz ularning barcha hisob -kitoblarini o'qishingiz va o'zingiz tushunishingiz mumkin, lekin men bir nechtaini non taxtasida sinab ko'rdim va 330 juda yaxshi ishladi. Men tekshirgan bitta ma'lumot Raspberry Pi forumlarida edi, lekin Google qidiruvi yana ko'p narsalarni topadi.

Xuddi shunday, Pi GPIO pinlari haddan tashqari kuchlanishdan himoyalanishga muhtoj. Qanday qilib ular 3.3Vgacha. Xo'sh, ozgina zarar qilmaydi. Ko'pgina loyihalarda 1KΩ rezistorlar ishlatiladi va men ham shunday qildim. Shunga qaramay, siz buni o'zingiz hisoblashingiz mumkin, lekin bu juda mashhur tanlov. Shunga qaramay, Raspberry Pi forumlari ba'zi ma'lumotlarni taqdim etadi.

Agar siz buni to'liq tushunmasangiz, ko'proq o'qing. Yoki faqat ko'rsatmalarga amal qiling. Qaysi biri siz uchun ishlaydi.

Ko'p rezistorlar qadoqlarda ko'rsatilgan, lekin ularni olib tashlaganingizdan so'ng, ularni qanday ajratish mumkin? Rezistordagi kichik rangli chiziqlar sizga aytishi mumkin.

Keyin, biz ishni boshlash uchun oddiy diodli paneldagi simni ulaymiz.

3 -qadam: LEDni ulash

LEDni ulash
LEDni ulash

Birinchi qadam - non panelidagi LEDni ulash. Ishni xavfsiz bajarganimizdan so'ng, biz uni Raspberry Pi -ga ulab, uni GPIO pinidan boshqaramiz.

Umid qilamanki, sizning non paneli 3.3v quvvat manbai bilan ta'minlangan. Agar yo'q bo'lsa, siz hamma narsani simga ulashingiz va to'g'ridan -to'g'ri Pi -ga ulashingiz mumkin.

LEDni toping va 330Ω rezistor yordamida ko'rsatilgandek non paneliga ulang. LEDning uzun oyog'i - anod, qisqa oyog'i - katod. Anod 3.3V quvvatga ulanadi, katod esa erga qaytadi. Rezistor LEDdan oldin bo'lishi mumkin; Buni farqi yo'q. Standart tel ranglari:

  • Qizil = 5V
  • Apelsin = 3.3V
  • Qora = tuproq

Agar sizda simli sim va quvvat manbai bo'lsa, LED yonishi kerak. Agar bu ishlamasa, davom etmang.

4 -qadam: LEDni GPIO -ga ulash

LEDni GPIO -ga ulash
LEDni GPIO -ga ulash

Endi bizda rezistorli ishlaydigan LED mavjud. Endi LEDni Raspberry Pi -ga ulash vaqti keldi. Bizning maqsadimiz - chiqish GPIO -ni yaratish va uni GPIO -ni LEDga ulash, shunda biz GPIO -ni yoqganimizda LED yonadi. Aksincha, biz GPIO -ni O'CHIRGANimizda, LED o'chadi. (Bu keyinchalik garaj eshigini ochish uchun tugmani "bosadigan" elektron sifatida ishlatiladi.)

Quvvatni taxtadan chiqarib oling va rasmda ko'rsatilgandek Pi -ni ulang. (Buni Pi ham o'chirilgan paytda qilish yaxshidir.) Biz GPIO 17 dan 3.3V quvvat manbaini erga ulangan pimlardan biriga uladik.

Endi Pi -ni yuklang va LED o'chirilgan bo'lishi kerak. GPIO pinini o'rnatish va qiymatni chiqarish uchun ilgari qilgan buyruqlarni bajaring:

sudo echo "17">/sys/class/gpio/export

sudo echo "out">/sys/class/gpio/gpio17/yo'nalishi sudo cat/sys/class/gpio/gpio17/value

Qiymat nolga teng bo'lishi kerak.

Endi GPIO -ni yoqamiz:

sudo echo "1">/sys/class/gpio/gpio17/qiymati

Bu LEDni yoqishi kerak. LEDni o'chirish uchun GPIO -ni quyidagicha o'chiring:

sudo echo "0">/sys/class/gpio/gpio17/qiymati

MUMKIN bo'lishi mumkin bo'lgan narsalardan biri shundaki, LEDning etarli darajada aralashuvi yoki yoqilishi/o'chishi bilan siz LED biroz yonib turishini ko'rishingiz mumkin. Buning sababi bor va biz bu haqda keyingi qadamda gaplashamiz.

5 -qadam: LEDni boshqarish uchun o'rni yordamida

LEDni boshqarish uchun o'rni yordamida
LEDni boshqarish uchun o'rni yordamida

Oldingi bosqichda aytilganidek, LED-bu garaj eshigining "tugmasi" uchun tayanch. Biroq, GPIO bizning LEDni quvvatlantirishi mumkin bo'lsa -da, garaj eshigimiz tugmachasini "bosa olmaydi". Tugmani bosish, asosan, tugmachalarning ikkita terminalini bir -biriga bog'lab qo'yadi, natijada tugmani bosish amalga oshiriladi. Ushbu "press" ni bajarish uchun sizga kerak bo'lgan narsa - bu estafeta.

O'rnimizni - bu biror narsa bilan ishlaydigan kalitdan boshqa narsa emas. Bunday holda, bizning Raspberry Pi o'rni garaj eshigi tugmachasini "bosishni" aytishi mumkin. Bizning prototipimiz uchun Raspberry Pi o'rni LEDni yoqish kerakligini aytadi, shuning uchun biz o'z davrimizni sinab ko'rishimiz mumkin.

Bizning estafeta haqida nimani bilishimiz kerak:

  • O'rnimizni 5 V da ishlaydi. Bu faqat o'z o'rni bilan ishlaydigan kuchdir va kontaktlarning zanglashiga olib kelmaydi.
  • Biz o'z o'rniimizni "odatda ochiq" deb ulashni xohlaymiz. Bu shuni anglatadiki, o'rni ochiq qoladi (ikkita simni ulamaydi yoki "tugma bosilmaydi") faollashguncha.
  • Bu maxsus o'rni GPIO o'rni 3.3V ulagichiga nol quvvat berganida faollashadi. Darhaqiqat, bu orqaga o'xshaydi. 3.3V berilganda, o'rni chiqariladi. Bu loyihada biz bilan qoling, shunda bu qanday ishlashini ko'rasiz.
  • Ikki o'rni terminali ulanishi Raspberry Pi -dan butunlay ajralib turadi. Buning ma'nosi shundaki, siz simni har qanday nominal tok bilan almashtirishingiz mumkin, chunki u o'z oqimini boshqa quvvat manbaidan oladi. 3.3V va 5V kuchlanishli oddiy Raspberry Pi juda katta kuchlanishni boshqaradigan o'rni bilan ishlaydi. Shunday qilib, asboblar panelidagi kichkina tugma katta amperli isitiladigan o'rindiqlarni boshqarishi mumkin.

Shunday qilib, boshlaylik.

Birinchidan, non paneli uchun tashqi quvvat blokini qayta ulang (lekin o'chirilgan). Bu quvvat LED sxemasini ishlaydi, Raspberry Pi esa o'rni boshqaradi.

Keyin, LEDni quvvatlantiruvchi 3.3V chiziqda uzilish yarating. (Kommutatorlar va o'rni bilan biz har doim erni emas, balki "issiq" ni almashtirishni xohlaymiz.) Ular diagrammada to'q sariq va ko'k rangda ko'rsatilgan.

Raspberry Pi -ni 5V o'rni, 3.3V kalit vazifasini bajaruvchi va er Raspberry Pi -ga qaytganda ko'rsatilgandek ulang. Bu misolda men 3.3V ni GPIO 17 ga uladim. GPIO ni muammolardan himoya qilish uchun 1KΩ qarshilikni GPIO simiga ko'rsatilgandek ulashni tavsiya qilaman. (Bu rezistorlar qadamida aytib o'tilgan.)

Non taxtasini yoqing va endi Pi -ni yoqing. LED yonishi kerak.

Endi Pi -da quyidagi buyruqlarni bajaring:

sudo echo "17">/sys/class/gpio/export

sudo echo "out">/sys/class/gpio/gpio17/yo'nalishi sudo cat/sys/class/gpio/gpio17/value

Qiymat nolga teng bo'lishi kerak.

Endi GPIO -ni yoqamiz:

sudo echo "1">/sys/class/gpio/gpio17/qiymati

Bu LEDni o'chirishi kerak.

6-qadam: tortish qarshiligini qo'shish

Yuk ko'tarish qarshiligini qo'shish
Yuk ko'tarish qarshiligini qo'shish

Bu vaqtda sizning barcha narsalaringiz ishlashi kerak. Ammo GPIO -lar haqida biz muhokama qilmagan bitta narsa bor - bu "suzuvchi" kuchlanish, biz yuqorida aytib o'tgan chegaraga asoslanib mumkin.

GPIO odatda ikkita mantiqiy holatga ega bo'lsa (1 va nol), bu holatlarni GPIO bo'limida aytib o'tganimizdek, kuchlanish chegarasidan yuqori yoki pastda bo'lishiga qarab aniqlaydi. Ammo GPIO -larning ko'pchiligida muammo "suzuvchi" kuchlanishning mavjudligi; Raspberry Pi holatida, nol va 3.3V oralig'ida. Bu shovqin yoki kontaktlarning zanglashiga olib kelishi mumkin.

Biz garaj eshigining tugmachasi o'zgaruvchan kuchlanishdan faollashishi mumkin bo'lgan vaziyatni xohlamaymiz. Haqiqatan ham, biz uni aytganimizda faollashishini xohlaymiz.

Bunday vaziyatlar ma'lum bir kuchlanishni kuchaytirish va suzuvchi kuchlanishni oldini olish uchun tortish va tushirish rezistorlari yordamida hal qilinadi. Bizning holatda, biz o'rni faollashishiga yo'l qo'ymaslik uchun kuchlanishni ta'minlashni xohlaymiz. Shunday qilib, biz kuchlanishni chegaradan yuqori ko'tarish uchun qarshilik rezistoriga muhtojmiz. (Eshiklar - kulgili narsalar … men ular haqida o'qishga harakat qildim va ular yaxshi aniqlanganmi yoki boshimda juda ko'p ma'lumot borligini bilib oldim, ba'zilari esa juda oddiy bo'lib tuyuldi. Buni multimetr yordamida ko'rishim mumkinligini aytish kifoya. kuchlanish 3,3V dan past edi, lekin hamma narsa men prototip qilganimdek ishlaganligi uchun men harakatga o'tdim. Sizning yurgan masofangiz farq qilishi mumkin va shuning uchun biz oxirgi mahsulotimizni lehimlashdan oldin non taxtasini oldik.)

Albatta, Raspberry Pi-da ichki tortish va tushirish rezistorlari mavjud, siz ularni kodga yoki yuklashda o'rnatishingiz mumkin. Biroq, u aralashuvga juda sezgir. Ularni ishlatish mumkin bo'lsa -da, biz allaqachon rezistorlar bilan sxemada ishlayotganimiz uchun, tashqi tomondan barqarorlikka arziydi.

Eng muhimi, bu tortishish hosil qiladi va GPIO pin holati Pi boshlanishidan oldin standart holatga etadigan etarli kuchlanishni qo'shadi. Esda tutingki, biz o'rni LEDni yoqganimizda, biz uni o'chirgunimizcha Pi -ni birinchi marta ishga tushirganmiz. Yuk ko'tarish moslamasini ishga tushirish vaqtida rölenin faollashishiga to'sqinlik qiladi, chunki 3.3V o'rni kirish voltajini bir vaqtning o'zida 5V kirish qabul qiladi. Agar xohlasak, biz buni Pi konfiguratsiyasida ham qilishimiz mumkin edi, lekin yana, biz baribir rezistorlar bilan aloqa o'rnatganimiz uchun, operatsion tizim yangilanishlari va tarqatilishiga nisbatan zaifroq ko'rinadi.

Turli xil konfiguratsiyalarga har xil rezistorlar kerak bo'lishi mumkin, lekin menda bo'lgan o'rni bilan 10 kΩ qarshilik ishlagan. Mening o'rni diodidagi yorug'lik juda past edi, lekin tortishish o'rni faollashishini oldini olish uchun etarli kuchlanishni ta'minladi.

Keling, kontaktlarning zanglashiga qarshilik chizig'ini qo'shamiz. Non paneli diagrammasida men o'rni 3.3V kirish va 3.3V manba o'rtasida 10kΩ qarshilik qo'shdim.

Endi bizda garaj eshigi tugmachasini "bosish" uchun mos sxemasi bor; LED va 330Ω rezistorni haqiqiy tugmachali simlarga almashtirish oson bo'lishi kerak.

7 -qadam: qamish sensori

Qamish almashtirish sensori
Qamish almashtirish sensori

Ajoyib, biz bilamizki, bizning davrimiz garaj eshigi ochilishini faollashtiradi. Biroq, garaj eshigi yopiqmi yoki ochiqmi, bilish yaxshi emasmi? Buning uchun sizga kamida bitta naychali kalit kerak. Ba'zi loyihalar ikkitasini tavsiya qiladi, lekin ikkalasi ham bir xil sxemali dizayndan foydalanadilar.

Biz "odatda ochiq" (NO) qamish kaliti konfiguratsiyasidan foydalanmoqdamiz. Bu shuni anglatadiki, qamish tugmasi magnit yaqinida bo'lgunga qadar bizning elektronimiz ochiq bo'ladi, bu kontaktlarning zanglashiga olib keladi va elektr tokini uzatadi.

Sensorni sozlash va o'rni o'rnatish o'rtasidagi asosiy farqlar:

  • Sensorga ulangan GPIO quvvatni aniqlaydi, shuning uchun u kirish GPIO bo'ladi (o'rni kuchlanish bilan ta'minlangan GPIO chiqishidan foydalangan holda).
  • Standart holat odatdagidek ochiq bo'lgani uchun, bu bizning davrimiz faol bo'lmaydi degan ma'noni anglatadi. Shunday qilib, GPIO holati 0 bo'lishi kerak. O'rnimizni pallasida tortish qarshiligi kontseptsiyasiga teskari ravishda, kontaktlarning zanglashiga olib kelganda kuchlanishimiz ostonadan past bo'lishiga ishonch hosil qilishni xohlaymiz. Buning uchun pastga tushadigan rezistor kerak bo'ladi. Bu asosan tortish bilan bir xil, lekin kuch o'rniga erga ulangan.

O'rnimizni pallasida bo'lgani kabi, biz narsalarni non paneliga ulashimizdan oldin, uni simga ulaymiz.

Keling, biz ishlaydigan plastinkani ishlatamiz va LED, 330Ω qarshilik va topraklama simini o'tkazamiz. Keyin qamish tugmachasining bir tomoniga 3,3V va svetodiodning boshqa tomoniga o'tish moslamasini ulang. (Agar sizda NO va NC ni qo'llab -quvvatlaydigan qamish kaliti bo'lsa, YO'Q holatidan foydalaning.) Magnitni qamish kalitidan uzoqlashtiring va non paneli quvvatini yoqing. LED o'chirilgan bo'lishi kerak. Magnitni qamish kaliti tomon siljiting va LED yonib turishi kerak. Agar buning aksi bo'lsa, siz uni NC ga ulashingiz kerak (odatda yopiq)

8 -qadam: qamish kalitini Pi -ga ulash

Qamish kalitini Pi -ga ulash
Qamish kalitini Pi -ga ulash

Shunday qilib, endi bizda Pi ishlamay qolganda, biz non panelidagi quvvatni o'chira olamiz va biz Pi -ni ulaymiz.

Biz GPIO17 -dan yana foydalanamiz, chunki biz uning qaerdaligini bilamiz.

O'rnimizni pallasida bo'lgani kabi, biz ham GPIO pinini 1KΩ qarshilik bilan himoya qilamiz; ammo, biz pastga tushirish hosil qilish uchun erga 10 kΩ qarshilikdan foydalanamiz.

Hamma narsani simga ulab bo'lgach, magnitni qamish kalitidan uzoqlashtiramiz, P, i -ni yuklaymiz va buyruq satriga o'tamiz va GPIO -ni ishga tushiramiz, bu safar biz kirish GPIO -ni yaratayotganimizni ta'kidlaymiz:

sudo echo "17">/sys/class/gpio/export

sudo echo "in">/sys/class/gpio/gpio17/yo'nalishi sudo cat/sys/class/gpio/gpio17/qiymati

Qiymat nolga teng bo'lishi kerak. Magnitni qamish kalitiga o'tkazing. LED chirog'i yonishi kerak va qiymati 1 ga teng.

Voila! Biz qamish kalitini Pi ga uladik!

9 -qadam: Prototiplash taxtasida doimiy qaror qabul qilish

Prototiplash taxtasida doimiy qaror qabul qilish
Prototiplash taxtasida doimiy qaror qabul qilish
Prototiplash taxtasida doimiy qaror qabul qilish
Prototiplash taxtasida doimiy qaror qabul qilish
Prototiplash taxtasida doimiy qaror qabul qilish
Prototiplash taxtasida doimiy qaror qabul qilish
Prototiplash taxtasida doimiy qaror qabul qilish
Prototiplash taxtasida doimiy qaror qabul qilish

Endi biz sxemalar qanday bo'lishi kerakligini bilganimizdan so'ng, prototip taxtasida doimiy versiyani lehimlash vaqti keldi. Men Pi Zero W -dan foydalanganim uchun men kichik proto -taxtalarni oldim.

Men nol formatini ishlatish va Raspberry Pi HAT (uskuna biriktirilgan) deb nomlangan qo'shimcha modulni bir yoki bir nechta taxtalarni yig'ish yaxshi bo'lardi deb o'yladim. Xo'sh, texnik jihatdan, u hech qanday EEPROM turiga ega emas va o'zi ro'yxatdan o'tmagan, bu HAT emas, lekin men uni biror narsa deb atashim kerak. Ammo format yaxshi o'rnatiladi va kalamushlarning uyalarini yo'q qiladi, shuning uchun bu juda yaxshi.

Qiyinchilik shundaki, proto -taxtalar juda kichkina, shuning uchun siz ularni juda ko'p sig'dira olmaysiz. Bundan tashqari, teshiklarning hech biri kattaroq prototiplar kabi qatorga ulanmagan. Bu noqulay tuyulsa -da, aslida bu qutqaruvchi.

Men o'yladimki, men nazorat qilmoqchi bo'lgan har bir garaj eshigi uchun HAT tuza olaman. Shunday qilib, siz ushbu loyihani ehtiyojlaringizga mos ravishda kengaytira olasiz.

Proto taxtasida men uchta sxemani yaratish uchun etarli joy borligini aniqladim:

  1. o'rni davri
  2. Sensor davri
  3. ikkinchi sensorlar davri

Bu har qanday garaj eshiklari loyihasi uchun juda yaxshi.

Shunday qilib, men sensorlar uchun GPIO17 va 27 va o'rni uchun GPIO12 dan foydalanganman. Bu proto -taxtaning eng yaxshi tomoni shundaki, siz GPIO -ga sarlavhaga tegmasdan ham ulanishingiz mumkin. Ha, siz rezistorlarga (va ixtiyoriy ravishda, LEDlarga) qo'shimcha ravishda yig'ish sarlavhasini lehimlashingiz kerak bo'ladi.

Men taxtada biz prototip qilgan sxemalarni deyarli qayta yaratdim. Aytishingiz mumkinki, mening lehimim mukammal emas, lekin u hali ham ishlaydi. (Keyingi taxtalarda men mashq qilganimdan keyin yaxshi bo'ladi.) Menda Aoyue 469 bor va 4 -sozlamaning ustidagi sochlar GPIO sarlavhasini lehimlash bo'yicha tavsiyalarga asoslangan eng yaxshi harorat edi.

Men tashqi bog'langan qatorlarni yerga, ichki qismini esa 3,3V ga ishlatardim. Men qarshilik simini ko'prik vazifasini o'tash uchun ishlatardim, chunki bizda qatorlar yo'q edi. Qolganlarning hammasi diagonal va yon tomonda, chunki men ularni taxtaga joylashtirishning eng yaxshi usuli edi.

L-R dan (old tomonga, qarshilik tomoniga qarab), men qo'shgan chiqish pinlari GPIO sensori, ikkinchi sensor GPIO sim va GPIO o'rni simlari uchun. GPIO -ga to'g'ridan -to'g'ri sim o'tkazishning o'rniga, biz uni sarlavhadan qilishimiz mumkin, bu pinlar bizning barcha rezistorlarimizga ulanadi va sensorlar bo'lsa, men microLED -ga qo'shib qo'ydim. (LED qanday qilib butunlay alohida halqada joylashganligiga e'tibor bering, shuning uchun u yonib ketsa, kontaktlarning zanglashiga olib keladi.)

Fritzing fayli biriktirilgan, lekin Instructables fayllarni yuklashda muammolarga duch kelgani uchun, uni joylashtirish uchun "txt" soxta kengaytmasini berishim kerak edi.

10 -qadam: Adabiyotlar

Raspberry Pi garaj eshiklarini ochish loyihasi (ilhom)

Ahmoq Raspberry Pi garaj eshiklarini ochish uchun qo'llanma

iPhone yoki Android garaj eshiklarini ochuvchi

Men rezistorni ishlatishim kerakmi yoki yo'qmi?

Raspberry Pi -da Pullup va Pulldown rezistorlaridan foydalanish

SSH -ni sozlash

Raspberry Pi pin diagrammasi.

SYSFS buyruqlari

WiPi

Rezistorlar va LEDlar

Himoya (boshqa) GPIO pinlari

Rezistor rang kodi kalkulyatori va diagrammasi

Yuk ko'tarish va tushirish rezistorlari

GPIO kuchlanish chegaralari

GPIO kirish kuchlanish darajasi

Config.txt -da GPIO nazorati

GPIO tortishish qarshiligi (sic)

Nima uchun mikrokontroller ichki tortish rezistoriga ega bo'lsa, bizga tashqi tortish rezistorlari kerak?

Raspberry Pi HAT nima?

Raspberry Pi Zero W GPIO ulagichini qanday lehimlash mumkin

Tavsiya: