Mundarija:

LaserKitty !!: 7 qadam (rasmlar bilan)
LaserKitty !!: 7 qadam (rasmlar bilan)

Video: LaserKitty !!: 7 qadam (rasmlar bilan)

Video: LaserKitty !!: 7 qadam (rasmlar bilan)
Video: Laserkitty 2024, Oktyabr
Anonim
Image
Image
O'z narsalaringizni oling
O'z narsalaringizni oling

Hamma e'tirof etgan haqiqat shundaki, omadga ega bo'lgan bitta mushuk lazer o'yinchog'iga muhtoj bo'lishi kerak. Bo'lajak xotinlarga muhtoj bo'lgan yolg'iz janoblarda bo'lgani kabi, ba'zi ehtiyot choralariga rioya qilish kerak. Lekin bu haqiqatan ham ega bo'lishga arziydigan narsaga to'g'ri kelmaydimi?

Agar sizda uy hayvonlari va lazer xavfsizligi haqida xavotirlaringiz bo'lsa, sharh berishdan oldin ushbu ko'rsatmaning oxiriga o'ting. Agar siz kelajakdagi xotiningiz yoki hatto hozirgi turmush o'rtog'ingiz haqida qayg'urayotgan bo'lsangiz, ehtimol boshqa joyni qidirishingiz kerak bo'ladi.

Endi siz mahalliy uy hayvonlari do'koniga borib, lazer ko'rsatgichini sotib olishingiz mumkin, va, ehtimol, oddiy avtomatizatsiyani qo'shadigan ba'zi bir kelishmovchiliklar. Siz ozgina pul tejaysiz va agar u ishlamasa, uni qaytarib berasiz. Yoki o'zingiz biror narsa qurishingiz mumkin. U erda juda ko'p misollar bor, lekin mana bu kanonga qo'shgan hissam. Uning xususiyatlari:

  • Smartfonni to'liq boshqarish
  • Qo'lda, avtomatik va rejalashtirilgan rejimlar
  • Maxsus dastur interfeysi
  • Tizim holati bir nechta veb -mijozlar o'rtasida sinxronlashtiriladi
  • Tizim holati LaserKitty -da aks ettirilgan !! o'zi
  • Pan va qiyalik oralig'ini sozlash mumkin
  • O'rnatish mumkin bo'lgan sessiya davomiyligi va chastotalari
  • Konfiguratsiya qilinadigan o'yin oynalari
  • Bir qarashda joriy sozlamalar bilan sozlash sahifasi
  • NTP vaqt sinxronizatsiyasi
  • Yangi tarmoqlarda oson sozlash uchun WiFi menejeri
  • Har bir o'yin seansidan oldin "Mission Impossible" mavzusini o'ynaydigan ohang generatori: sizning mushukingiz istehzoni qadrlashi mumkin yoki bo'lmasligi mumkin.
  • Yangi o'yin vaqti boshlanganda barcha qurilmalaringizga Pushbullet xabarnomalari
  • Konfiguratsiya qilinadigan uy pozitsiyasi, shuning uchun o'yin vaqti piyola yoki statsionar o'yinchoqda tugaydi
  • EEPROM -da saqlangan barcha sozlamalar elektr uzilishida yo'qolmaydi
  • Va yana ko'p narsalar! Xo'sh, aslida emas, bu haqida.

1 -qadam: narsalaringizni oling

Bu men ishlatgan narsadir:

  • Kichkina pan va burilish moslamasi. Bu, albatta, siz topa oladigan eng arzon narsa emas va bizning maqsadlarimizga o'zgartirish kiritishni talab qiladi. Men buni tanladim, chunki u er osti plastmassa yig'indilaridan ko'ra salqinroq ko'rinadi. Kutilmagan bonus sifatida, uning dizayni lazerni o'rnatishning juda oson yo'lini beradi. Bu bir nechta mikro servo bilan birga keladi, lekin men sizga almashtirish uchun bir nechta qo'shimcha sotib olishni maslahat beraman. Sizga kamida bitta qo'shimcha servo kerak bo'ladi (buzilgani yaxshi).
  • Qoplama. Plastik quti uchun 8 dollar to'lash menga og'riq keltiradi va siz, albatta, arzonroq narsaga mos keladigan narsani topa olasiz. Bog'langan korpusning kattaligi haqida biror narsa to'g'ri.
  • ESP8266 asosidagi ishlab chiqish kengashi. Men NodeMCU -dan foydalandim. Men bu narsalarni yaxshi ko'raman deb aytish ortiqcha bo'lmaydi. Arduino IDE -da ishlatish oson va veb -sahifalar uchun juda ko'p flesh -xotira. Bundan tashqari, arzon va mening tajribamda qovurish juda qiyin.
  • Mini lazer. Amazon Prime bilan 6 $ uchun 10. Hazillashyapsanmi?? Endi men qolgan to'qqiztasi bilan nima qilishimni aniqlashim kerak.
  • Ohanglar uchun passiv signal.
  • Ikki kanalli o'rni. Men ularni servo va lazerni yoqish va o'chirish uchun ishlataman. Siz bu komponentni o'chirib tashlashingiz mumkin, keyinroq tushuntiraman.
  • 5VDC quvvat manbai. Umid qilamanki, siz ulardan birini uzoq vaqtdan beri unutilgan sirlardan topasiz, lekin 5VDC ning 1A atrofida ishlab chiqaradigan arzon va quvnoq narsa sizga kerak bo'ladi.
  • Rezistorlar, LEDlar, ulash simlari, issiqlik qisqarishi, lehim, issiq elim kabi har xil sarf materiallari. Odatdagidek. Men, shuningdek, vayron qilingan katta Arduino taxtalar to'plamidan 5VDC keladigan quvvat manbai uchun barrel uyasini ishlatardim.
  • Oxirgi, lekin hech bo'lmaganda, bu ajoyib tugatish uchun vinil dekal.

Ha, ha. Siz taxminan 50 dollarga qaraysiz. Siz buni ozroq qila olasiz, lekin sizning mushukchangiz eng yaxshisiga loyiq emasmi?

2 -qadam: Asboblar va manbalar

Asboblar va manbalar
Asboblar va manbalar

Bu erda asboblar tomonida alohida narsa yo'q. Faqat yaxshi lehimli temir, multimetr, matkap va asosiy qo'l asboblari. Quvvat manbai, lazer bilan tajriba o'tkazish uchun juda yaxshi, lekin muhim emas.

Bu loyiha haqiqatan ham ESP8266 va xususan NodeMCU imkoniyatlaridan foydalanadi. Agar siz ESP8266-ni endigina boshlayotgan bo'lsangiz, men bundan yaxshiroq manba topa olmadim. Bundan tashqari, hamma narsa yo'lda paydo bo'lgan muammolarga javob topish uchun Googling bilan bog'liq.

3 -qadam: Qoplamani tayyorlang

Qoplamani tayyorlang
Qoplamani tayyorlang
Qoplamani tayyorlang
Qoplamani tayyorlang

Yuqorida aytib o'tganimdek, plastik korpus uchun 8 dollar to'lash g'aroyib ko'rinadi. Eng yomoni, noto'g'ri joyga teshik qo'yish orqali ishni buzish. Qutingizda matkap va/yoki boshqa maymun ishlab chiqaruvchini qo'yishdan oldin, men qilgan xatolarni o'ylab ko'ring.

  • Birinchidan, hamma narsa qaerga mos kelishi haqida o'ylashingiz kerak. Yaxshi xabar shundaki, men taklif qilayotgan korpus juda ko'p joylarga ega, hatto bu erda ko'rilgan simlar ham tartibsiz. Siz hatto kichikroq qutidan qutulishingiz mumkin, ayniqsa, agar siz o'rni o'chirsangiz.
  • Eng muhimi, panani qayerga va qiya qopqog'iga o'rnatasiz. Mening birinchi urinishim shu erda ko'rsatilgan. Men uni badiiy tarzda markazdan tashqariga va barqarorlik uchun bir oz orqaga qaytaraman deb o'yladim. Yomon fikr! Qopqoqning yon tomoniga iloji boricha yaqinroq yig'ish kerak, shuning uchun korpusning o'zi nurga yuqori burilish burchaklarida to'sqinlik qilmaydi. Bundan tashqari, menimcha, pan lazerini uzun tarafga emas, balki qisqa tomoniga perpendikulyar o'rnatish. Men buni faqat estetik sabablarga ko'ra qildim, garchi aralashish ehtimoli ko'proq bo'lsa.
  • Ko'rib turganingizdek, NodeMCU Perfboard -ga o'rnatilgan va uning USB -ulagichi yon yoki orqa uyadan kirish uchun osongina joylashtirilishi mumkin edi. Bu dasturiy ta'minot yangilanishlarini osonlashtiradi (qopqog'ini olib tashlashning hojati yo'q). Mening asl g'oyam yangilanishlar uchun Over-The-Air (OTA) kutubxonasidan foydalanish edi va siz mening kodim bu funktsiyani o'z ichiga olganini ko'rasiz, garchi u izohlanmagan bo'lsa ham. Muammo shundaki, ohang generatori va OTA birgalikda yaxshi o'ynay olmas edi (NodeMCU qo'shiqning yarmida qayta -qayta tiklanadi). Bu muammoni hal qilish mumkin, lekin men hech qachon USB -dan boshqa SPIFFS -ni yangilashda muvaffaqiyat qozonmaganman, shuning uchun USB -ulagichga kirish yaxshi bo'lardi. Bularning hammasini tushunib yetgunimcha, men NodeMCU -ni Perfboardga o'rnatdim, shuning uchun ulagichni qutidan chiqarib olish mumkin emas edi. Xo'sh.
  • Agar men yana loyihani qilmoqchi bo'lsam, RGB LEDini qizil "yoqilgan" LED bilan moslashtirardim. (RGB LEDining maqsadi - LaserKitty !! qanday rejimda ekanligini dasturga qaramasdan ko'rsatish.)

Teshiklarni yasashning faqat bir oz murakkab qismi pan servo uchun to'rtburchaklardir. Men matkap va fayl ishlatardim. Mening birinchi urinishimdan ko'rinib turibdiki, uni aynan to'rtburchaklar qilish qiyin (yoki to'rtburchaklar, menimcha). Ammo servo o'rnatilganida, siz buni ko'ra olmaysiz.

Siz yana uchta teshik qilishingiz kerak bo'ladi, ular qutining orqa tomoniga joylashtirilishi kerak va quvvat manbai uyasi, buzzer va burilish servo va lazer simlari uchun kirish nuqtasi uchun ishlatiladi. Bu teshiklarning hammasi yumaloq bo'lishi mumkin va ularni faqat matkap yordamida bajarish qiyin emas.

Issiq yopishtirgichdan erkin foydalanish hamma narsani joyida saqlaydi (servo o'rnatish panjaralari yordamida qopqog'iga mahkamlangan pan servodan tashqari).

4 -qadam: Pan va Tilt yig'ilishi

Pan va Nishab yig'ish
Pan va Nishab yig'ish
Pan va Tilt majmuasi
Pan va Tilt majmuasi
Pan va Tilt majmuasi
Pan va Tilt majmuasi
Pan va Nishab yig'ish
Pan va Nishab yig'ish

Kastryulka va egilish moslamasini olganimda, men yana katta xato qildim deb o'yladim. Ko'rsatmalar bo'yicha yig'ing, bu chayqalish va burilish mexanizmi emas, balki egilish va burilish dizayni - robot qo'l sifatida mo'ljallangan maqsadga muvofiq. Biroq, bir lahzalik xotirjamlik bilan o'ylash, uni istalgan natijaga erishish uchun uni boshqacha tarzda yig'ish mumkinligini ko'rishga imkon berdi. Bundan ham yaxshiroq, "burilish" servosining asl joyi lazer uchun moslama sifatida ishlatilishi mumkin.

Agar siz ushbu rasmlardagi tugallangan yig'ilishni ko'rib chiqsangiz, bu fikrni olasiz. Sizda bu dizaynda kerak bo'lmagan kichik metall blok qoladi.

Menda ilhom porlashi lazerni o'rnatish uchun ikkinchi servoning asl joyidan foydalanish edi. Bundan ham yaxshisi, agar siz daf servosining boshini olib tashlasangiz va bilagini burab qo'ysangiz, bu lazerni o'rnatish uchun eng zo'r joy! Servolarni bir -biridan ajratish uchun qilingan harakatni kam baholamang. Kichkina miltillaganlarga go'sht bor!

Korpusga o'rnatish va o'rnatishdan so'ng, va QUVATNI QO'LLANISHNI OLDIN, u korpusning yuzasi bo'ylab deyarli 180 gradusga burilganligiga ishonch hosil qiling. Qanday bo'lmasin, men uni muvaffaqiyatli o'rnatganimdan so'ng, taglik ustidagi murvat boshlari qo'l o'rnatiladigan servo ko'tarilgan qismiga bog'lab qo'yilishi uchun panjara o'rnatgichini bir joyga to'pladim. Natijada servo darhol vitesini tortib oldi. Yorqin tomonda, menda lazer moslamasi sifatida foydalanish uchun yana bir duff servo bor.

5 -qadam: simni ulang

Ulanish
Ulanish

Umid qilamanki, Fritzing eskizi hamma narsani aniq qiladi. Aniqroq tushuntirish uchun ba'zi fikrlar:

  • Keyinchalik muhokama qilinganidek, men lazerni iloji boricha xiralashtirmoqchi edim, shu bilan birga, uni eng yorqin ichki yorug'likdan boshqa hamma narsada ishlatish uchun etarlicha yorqinligini saqlab qoldim. Bir oz tajriba qilib, men uni MCU tugunidagi 3.3VDC pinidan quvvatlantirishga qaror qildim va yaxshi o'lchash uchun ketma -ket 22 Ohm rezistor qo'shdim. Ushbu o'rnatish bilan u 10 mA atrofida chiziladi, shuning uchun nazariy jihatdan uni to'g'ridan-to'g'ri GPIO pinidan quvvatlantirish mumkin edi, lekin men buni rezistorsiz ham juda xira deb topdim.
  • Lazer fokusni o'zgartirish uchun juda cheklangan qobiliyatga ega (kollimatsiya?), Men bu nuqtani kattalashtirish va shu orqali lazer energiyasini tarqatish.
  • Mening birinchi fikrim servolarni tranzistor bilan yoqish va o'chirish edi, lekin bu servolarning aqldan ozishiga olib keldi. Ishonchim komilki, buning yaxshi sababi bor, lekin menda o'z o'rni bor edi, chunki men oson yo'lni tanladim va servolarni butunlay ajratib qo'ydim. Va o'rni ikkita kanalga ega bo'lgani uchun, men ham lazerni shu tarzda almashtirishim mumkin deb o'yladim (binafsha simlar MCU boshqaruv signalidir). Menga bu yechim ishlab chiqaradigan mexanik bosish shovqini yoqadi. Siz boshqacha qaror qabul qilishingiz mumkin. Ko'rsatilmagan, lekin o'rni to'g'ridan -to'g'ri 5VDC tarmog'idan quvvatlanadi - NodeMCU faqat ikki kanalli o'rni to'g'ridan -to'g'ri quvvatlantirishi mumkin edi, lekin uni xavf ostiga qo'yish uchun hech qanday sabab yo'q edi. Agar siz bu rölelarni ishlatgan bo'lsangiz, buni bilishingizdan oldin, bu JD-VCC va VCC o'rtasidagi o'tish moslamasini olib tashlashni talab qiladi.
  • RGB LED qizil va yashil rangda 220 Ohm, ko'kda 100 Ohm oqim cheklovchiga ega. Qizil "yoqilgan" LED 450 ohmli rezistorga ega, chunki u 3,3VDC emas, balki 5VDC quvvatlanadi. Bu shunchaki yorqinlik va o'rtacha umr ko'rish uchun ballpark qiymatlari.
  • Buzzer juda baland ovozda. Ovozni pasaytirish uchun signal chizig'iga qarshilik qo'shishni xohlashingiz mumkin. Ohanglar dasturiy ta'minot orqali to'liq o'chirilishi mumkin, lekin ular orasidagi biror narsa yaxshi bo'lishi mumkin.

6 -qadam: Kod

Kodeks
Kodeks
Kodeks
Kodeks
Kodeks
Kodeks
Kodeks
Kodeks

Uskuna tomonining uzoq tushuntirishiga qaramay, bu erdagi harakatlarning 90% kodga to'g'ri keldi. Bu ko'proq bo'lar edi, lekin men bu erdan avtomatik rejimda lazer harakati uchun ajoyib kodni "qarzga oldim". G'ildirakni qayta kashf qilishning ma'nosi yo'q. Aslida, siz bu loyihani emas, balki bu loyihani bajarishni yoki ikkalasining jihatlarini aralashtirib, moslashtirishga qaror qilishingiz mumkin. Shubhasiz, men ba'zi qismlarni 3 o'lchamli printer yordamida ishlab chiqarish g'oyasini yoqtiraman, lekin menda yo'q.

Mening kodim (bu erda GitHub -da joylashgan) uchta asosiy qismdan iborat. Arduino eskizining o'zi, JavaScript -ni o'z ichiga olgan HTML -fayllar va uslublar bilan bog'liq CSS -fayllar mavjud. Men ushbu loyihani dasturlash elementlari haqida juda oz ma'lumot olish uchun ishlatardim, juda past bazadan boshlab, ayniqsa narsalarning amaliy interfeysi tomonida. Men kodni biroz tartibga solishga harakat qildim, lekin mening asosiy e'tiborim - bu ishni bajarish edi. Kod NodeMCU serveri va ulangan mijozlar o'rtasida ikki tomonlama aloqa uchun Websockets -dan foydalanadi.

Arduino kodi juda ko'p sharhlangan, shuning uchun umid qilamanki, sizga osonlikcha amal qiladi. Siz uni GitHub -dan yuklab olganingizdan so'ng, hamma narsani papkaga joylashtiring, eskizni MCU -ga yuklang, so'ng "ma'lumotlar" pastki jildining tarkibini SPIFFS -ga yuklang.

Aslida, buni chizib oling. Agar siz Pushbullet xabarnoma funksiyasidan foydalanmoqchi bo'lsangiz, avval bu erdan API kirish tokeniga ega bo'lishingiz kerak. U Arduino kodining 88 -qatoriga kiradi. Pushbullet yaxshi ishlaydi, lekin agar siz telefoningizda birinchi marta hisob qaydnomasini o'rnatayotgan bo'lsangiz, tizim sozlamalarida ko'rsatilgandek xabarlar paydo bo'lishidan oldin tizimga kirishingiz, tizimdan chiqib ketishingiz va qayta kirishingiz kerak bo'ladi.

Uchta veb-sahifa mavjud-ochilish ekrani, haqiqiy dastur interfeysi va sozlash sahifasi. Kontentni shu tarzda ajratish, ayniqsa, konfiguratsiyaning keng imkoniyatlari tufayli (ekran tasviri bu variantlarning faqat bir qismini oladi) interfeysdan foydalanishni ancha oshiradi.

NodeMCU -ni bir nechta sahifalarga xizmat ko'rsatishning o'ziga xos xususiyati shundaki, men barcha rasm fayllarini to'g'ridan -to'g'ri ma'lumotlar papkasiga joylashtirishim kerak edi, agar ular pastki papkalarga joylashtirilsa, ishlay olmasdim. Men ishlatgan barcha rasmlarni GitHub omboriga joylashtirdim, shuning uchun u qutidan tashqarida ishlaydi, lekin siz ularni o'z rasmlaringiz bilan almashtirishni xohlaysiz.

7 -qadam: teginish va lazer xavfsizligini tugatish

Tugatish tegishi va lazer xavfsizligi
Tugatish tegishi va lazer xavfsizligi
Tugatish tegishi va lazer xavfsizligi
Tugatish tegishi va lazer xavfsizligi
Tugatish tegishi va lazer xavfsizligi
Tugatish tegishi va lazer xavfsizligi

Ko'zni yoshlantiruvchi 8 dollar narxiga qaramay, korpus, albatta, foydalidir. Etsi -ni biroz chayqab o'tirgandan so'ng, men tayyor mahsulotda (va dastur sahifasida aks ettirilgan) vinil grafikasini topdim. Buyuk Britaniyadan jo'natilgani biroz qimmat edi, lekin bunga arziydi - va siz loyihani takrorlamoqchi bo'lsangiz, ikkitasini olasiz. Mening oxirgi san'atim gullab -yashnagach, men mushukning ko'zlaridagi kichkina "chuqurchalarni" aylantirdim, shunda ular lazerli nuqta o'rnida turgan qizil qizil chiroqqa qarashadi. Sizning injiqlikka bo'lgan ishtahangizga qarab, siz bu qo'shimcha milni tanlashingiz mumkin yoki bo'lmasligi mumkin.

HTML -fayllar ekranida iPhone bosh ekraniga belgi qo'shish uchun kod mavjud.

Va nihoyat, men mushuklar bilan o'ynash uchun lazerdan foydalanish haqidagi xavotirlarni e'tiborsiz qoldirmasligim kerak. Ikkita asosiy e'tiroz bor:

  • Lazer mushukning ko'zlarini ko'r qilishi yoki shikastlashi mumkin
  • Lazerli nuqta bilan o'ynash, oxir -oqibat, mushuklarni qoniqtirmaydi, chunki ular uni hech qachon ushlay olmaydilar yoki "o'ldira olmaydilar"

O'zaro to'lqinlarda har ikkala mavzu bo'yicha ham ko'p gap bor, ba'zilari ma'lumotli bo'lib tuyuladi, boshqalari esa kamroq. Oxir -oqibat, siz ushbu loyiha yoki boshqa lazer o'yinchoqlari sizning mushukingizga mos keladimi, o'zingiz qaror qabul qilishingiz kerak. Men qilgan ishim, birinchi darajali yorug'lik darajasida ko'rishni qiyinlashtirmasdan, lazerni iloji boricha xira qilib, birinchi muammoni hal qilishga urinish edi. Bundan tashqari, qurilmadan foydalanadigan har qanday mushuk nuqta emas, balki lazerning o'ziga qarashga moyilligiga ishonch hosil qiling - ayniqsa, agar siz LaserKitty -dan foydalanmoqchi bo'lsangiz !! Avtomatik yoki Rejalashtirilgan rejimlarda. "Pushbullet" xabarnomasining bir maqsadi - uni kuzatuv kamerasi bilan birgalikda ishlatish, shuning uchun sizga mushukchaning o'yinini yo'qligingizda tomosha qilish eslatiladi.

Ikkinchi e'tirozga kelsak, men rejalashtirilgan o'yin seanslaridan keyin lazer qaytadigan "Uy holatini" saqlash qobiliyatini o'z ichiga oldim. Agar siz buni statsionar o'yinchoq yoki mushukchangizning idishiga ko'rsatadigan qilib qo'ysangiz, umid qilamanki, bu aniqlik beradi. Mushuklar bilan, kim biladi?

Tavsiya: