Mündəricat:

LaserKitty !!: 7 addım (şəkillərlə birlikdə)
LaserKitty !!: 7 addım (şəkillərlə birlikdə)

Video: LaserKitty !!: 7 addım (şəkillərlə birlikdə)

Video: LaserKitty !!: 7 addım (şəkillərlə birlikdə)
Video: Laserkitty 2024, Oktyabr
Anonim
Image
Image
Əşyalarınızı alın
Əşyalarınızı alın

Uğur sahibi olan tək bir pişiyin lazer oyuncağına ehtiyacı olması hamının qəbul etdiyi bir həqiqətdir. Gələcək arvad almaq istəyən subay bəylərdə olduğu kimi bəzi ehtiyat tədbirlərinə riayət edilməlidir. Ancaq bu, həqiqətən dəyər verməyə dəyər bir şeyə aid deyilmi?

Ev heyvanları və lazer təhlükəsizliyi ilə bağlı narahatlıqlarınız varsa, şərh verməzdən əvvəl bu Təlimatın sonuna keçin. Gələcək həyat yoldaşı və ya hətta indiki bir həyat yoldaşı ilə bağlı narahatlığınız varsa, yəqin ki, başqa yerə baxmalısınız.

İndi yerli ev heyvanları mağazanıza girib lazer göstəricisi və bəlkə də ilkin avtomatlaşdırma əlavə edən bəzi uyğunsuzluqlar ala bilərsiniz. Bir az qənaət edər və işləməsə geri qaytara bilərsən. Yoxsa özünüz bir şey tikə bilərsiniz. Artıq orada çoxlu nümunələr var, amma burada kanona töhfəm. Xüsusiyyətləri:

  • Tam smartfon idarəçiliyi
  • Manuel, Avtomatik və Planlı Rejimlər
  • Xüsusi tətbiq interfeysi
  • Sistem vəziyyəti birdən çox veb müştərisi arasında sinxronlaşdırılır
  • Sistem vəziyyəti LaserKitty -də əks olunur !! özü
  • Yapılandırılabilir tava və əyilmə aralığında məhdudiyyətlər
  • Konfiqurasiya edilə bilən oyun müddəti sessiyaları və tezlikləri
  • Konfiqurasiya edilə bilən oyun pəncərələri
  • Bir baxışda mövcud parametrləri olan bir səhifə qurun
  • NTP vaxt sinxronizasiyası
  • Yeni şəbəkələrdə asan qurulma üçün WiFi meneceri
  • Hər bir oyun sessiyasından əvvəl Mission Impossible mövzusunu oynamaq üçün ton generatoru: pişiyiniz istehzanı qiymətləndirə bilər və ya qiymətləndirə bilməz.
  • Yeni bir oynatma seansı başlayanda bütün cihazlarınıza Pushbullet bildirişləri
  • Yapılandırılabilir Ev Vəziyyəti, beləliklə oyun vaxtı yemək qabında və ya stasionar oyuncaqda bitir
  • EEPROM -da saxlanılan bütün parametrlər elektrik kəsilməsində itirmir
  • Və daha çox! Yaxşı, əslində deyil, bu barədə.

Addım 1: Əşyalarınızı alın

İstifadə etdiyim budur:

  • Mini tava və əyilmə qurğusu. Bu, əlbəttə ki, tapa biləcəyiniz ən ucuz şey deyil və məqsədlərimiz üçün bəzi dəyişikliklərə ehtiyacı var. Baza zirzəmisinin plastik yığımlarından bir az sərin göründüyü üçün seçdim. Gözlənilməz bir bonus olaraq, dizaynı lazerin montajının çox asan bir yolunu təmin edir. Bir neçə mikro servo ilə gəlir, amma əvəzedici məqsədlər üçün bir dəstə əlavə satın almağı məsləhət görürəm. Ən azı bir əlavə servoya ehtiyacınız olacaq (qırıq bir şey yaxşıdır).
  • Bir qəfəs. Plastik bir qutu üçün 8 dollar ödəmək məni ağrıyır və mütləq daha ucuza uyğun bir şey tapa bilərsiniz. Əlaqəli qəfəsin ölçüsü ilə bağlı bir şey doğru olsa da.
  • ESP8266 əsaslı inkişaf lövhəsi. NodeMCU istifadə etdim. Bunları sevirəm demək çox şişirtmə deyil. Arduino IDE -də istifadəsi asan və veb səhifələriniz üçün çoxlu flash yaddaş. Həm də ucuzdur və təcrübəmə görə qızartmaq çox çətindir.
  • Mini lazer. Amazon Prime daxil olmaqla 6 dollara 10. Məzələnirsən?? İndi digər doqquzla nə edəcəyimi anlamalıyam.
  • Səslər üçün passiv səs siqnalı.
  • İki kanallı bir relay. Bunları servoları və lazeri açmaq və söndürmək üçün istifadə edirəm. Daha sonra izah edəcəyim kimi bu komponenti aradan qaldıra bilərsiniz.
  • 5VDC enerji təchizatı. İnşallah bunlardan birində çoxdan unudulmuş gizmodan yalan danışacaqsınız, ancaq 5VDC-nin 1A ətrafında istehsal edə biləcək ucuz və şən bir şey olmasa sizə lazım olan şeydir.
  • Rezistorlar, LEDlər, bağlama teli, istilik büzülməsi, lehim, isti yapışqan kimi müxtəlif istehlak materialları. Adi. Arduinonun dağıdılmış taxtalar kolleksiyamdan gələn 5VDC enerji təchizatı üçün bir barel jakı istifadə etdim.
  • Sonuncu, amma heç bir şəkildə, bu qəribə son toxunuş üçün vinil etiket.

Bəli. Təxminən 50 dollara baxırsınız. Bunu daha azına edə bilərsən, amma pişiyin ən yaxşısına layiq deyil?

Addım 2: Alətlər və Resurslar

Alətlər və Resurslar
Alətlər və Resurslar

Alətlər tərəfində burada xüsusi bir şey yoxdur. Yalnız layiqli bir lehimləmə dəmiri, multimetr, qazma və əsas əl alətləri. Bir dəzgah enerji təchizatı lazerlə təcrübə aparmaq üçün gözəldir, lakin vacib deyil.

Bu layihə həqiqətən ESP8266 və xüsusən NodeMCU imkanlarından istifadə edir. ESP8266 ilə yeni başlamısınızsa, bu işdən daha yaxşı bir qaynaq tapmadım. Bunun xaricində, yolda ortaya çıxan problemlərə cavab tapmaq üçün hər şey Google -a aiddir.

Addım 3: Kassanı hazırlayın

Qutunu hazırlayın
Qutunu hazırlayın
Qutunu hazırlayın
Qutunu hazırlayın

Daha əvvəl də qeyd etdiyim kimi, plastik bir qapaq üçün 8 dollar ödəmək çirkin görünür. Yanlış yerə bir çuxur qoymaqla işi pisləşdirmək daha da pisdir. Əlinizdə bir qazma və/və ya başqa bir qarışıqlıq istehsalçısı olan qutunuza girməzdən əvvəl etdiyim səhvləri düşünün.

  • Əvvəlcə bütün əşyaların haraya uyğun olacağını düşünməlisiniz. Yaxşı xəbər, burada gördüyünüz çox səliqəsiz naqillərlə belə, təklif etdiyim korpusun çox yer tutmasıdır. Kiçik bir qutu ilə qaça bilərsiniz, xüsusən də röleləri aradan qaldırsanız.
  • Ən başlıcası, tavanı və əyilmə qurğusunu qapağa quraşdıracağınız yerdir. İlk cəhdim burada göstərilir. Fikirləşdim ki, bədii cəhətdən mərkəzdən kənarda və sabitlik üçün bir az geri çəkim. Pis fikir! Montajın qapağın kənarına mümkün qədər yaxın olması lazımdır, buna görə də korpus özü yüksək əyilmə açılarında şüaya müdaxilə etmir. Həm də düşünürəm ki, ən yaxşı tənzimləmə, pan lazerini mənim etdiyim kimi uzun tərəfə deyil, qısa tərəfə dik montaj etməkdir. Müdaxilə üçün bir az daha potensial olsa da, tamamilə estetik səbəblərdən bunu başqa cür etdim.
  • Gördüyünüz kimi, NodeMCU Perfboard -a quraşdırılmışdır və asanlıqla mikro USB konnektoruna yan və ya arxa yuvadan daxil olmaq üçün yerləşdirilə bilər. Bu, proqram yeniləmələrini asanlaşdıracaq (qapağı çıxarmağa ehtiyac yoxdur). Orijinal fikrim, Yeniləmələr üçün Over-The-Air (OTA) kitabxanasından istifadə etmək idi və şərh edilsə də kodumun bu funksiyanı ehtiva etdiyini görəcəksiniz. Problem, ton generatoru ilə OTA -nın birlikdə yaxşı oynamaması idi (NodeMCU dəfələrlə mahnının yarısında sıfırlanırdı). Bu problem yəqin ki, düzəldilə bilər, amma heç vaxt USB vasitəsilə başqa SPIFFS yeniləmədə uğur qazana bilməmişəm, buna görə də USB konnektoruna çıxış əldə etmək yaxşı olardı. Bütün bunları başa düşdüyüm zaman, NodeMCU -nu Perfboard -a bağladım ki, bağlayıcının qutudan çıxması çoxlu faffing olmadan mümkün deyildi. O, əla.
  • Layihəni yenidən həyata keçirsəydim, RGB LEDini qırmızı "açıq" LED ilə hizalayardım. (RGB LED -in məqsədi tətbiqə baxmadan LaserKitty !! -nin hansı rejimdə olduğunu göstərməkdir.)

Delik açmağın bir az çətin hissəsi, pan servo üçün düzbucaqlıdır. Bir qazma və bir fayl istifadə etdim. İlk cəhdimdən göründüyü kimi, onu tam kvadrat halına gətirmək çətindir (və ya düzbucaqlıdır). Ancaq servo quraşdırıldıqda bunu görə bilməzsiniz.

Üç digər deşik etməlisiniz, bunlar qutunun arxasına yerləşdirilməlidir və elektrik təchizatı jakı, səs siqnalı və əyilmə servo və lazer naqilləri üçün giriş nöqtəsi üçün istifadə edilməlidir. Bütün bu deliklər yuvarlaq ola bilər və yalnız bir qazma ilə etmək çətin deyil.

İsti yapışqanın sərbəst istifadəsi hər şeyi öz yerində saxlayır (servonun montaj çubuqlarından istifadə edərək qapağa bərkidilmiş tava servosu istisna olmaqla).

Addım 4: Pan və Tilt Montajı

Pan və Tilt Məclisi
Pan və Tilt Məclisi
Pan və Tilt Məclisi
Pan və Tilt Məclisi
Pan və Tilt Məclisi
Pan və Tilt Məclisi
Pan və Tilt Məclisi
Pan və Tilt Məclisi

Tava və əyilmə qurğusunu alanda başqa bir böyük səhv etdiyimi düşündüm. Təlimat verildiyi kimi bir araya gətirin, bu əslində heç bir əyilmə və əyilmə mexanizmi deyil, əyilmə və bükülmə dizaynıdır - robot qolu kimi nəzərdə tutulan istifadəsinə uyğundur. Ancaq sakit bir düşüncə anı, istədiyimiz nəticəni əldə etmək üçün əslində fərqli bir şəkildə yığılacağını görməyə imkan verdi. Daha da yaxşısı, "bükülmə" servonun orijinal yeri lazer üçün bir montaj olaraq istifadə edilə bilər.

Bu şəkillərdə tamamlanmış montajı araşdırsanız, fikir əldə edəcəksiniz. Bu dizaynda lazım olmayan kiçik bir metal blok qalacaq.

Məndə olan ilham flaşı, lazeri quraşdırmaq üçün ikinci servonun orijinal yerini istifadə etmək idi. Daha da yaxşısı, bir duff servonun başını kəssəniz və əyilmiş qolu qazarsanız, lazer üçün mükəmməl bir yerdir! Sadəcə, servonun ayrılması üçün lazım olan səyləri əskik etməyin. O kiçik blighters üçün bir ət var!

Qutuda montajdan və quraşdırmadan sonra və GÜCÜ TƏTBİQ ETMƏDƏN əvvəl, korpusun üzündə təxminən 180 dərəcə əyiləcəyinə əmin olun. Birtəhər uğurla qurduqdan sonra birtəhər tavanı bir araya gətirdim ki, bazanın bolt başları qolun quraşdırılması nəzərdə tutulan servonun yuxarı ucuna bağlansın. Nəticədə servo dərhal dişlilərini soydu. Parlaq tərəfdə, indi lazer qurğusu kimi istifadə etmək üçün başqa bir duff servo var.

Addım 5: Bağlayın

Bağlayın
Bağlayın

İnşallah Fritzing eskizi hər şeyi aydınlaşdırar. Daha aydınlaşdırmaq üçün bəzi məqamlar:

  • Daha sonra müzakirə edildiyi kimi, lazerin ən parlaq qapalı işıqdan başqa hamısında istifadə oluna biləcək qədər parlaqlığını saxlayaraq mümkün qədər qaranlıq etmək istədim. Bir az təcrübə edərək, Node MCU -dakı 3.3VDC pinindən istifadə edərək, yaxşı bir ölçü üçün ardıcıl olaraq 22 Ohm rezistor əlavə etdim. Bu qurğu ilə təxminən 10mA çəkir, buna görə nəzəri olaraq birbaşa GPIO pinindən işləyə bilərdi, amma rezistor olmasa da çox sönük olduğunu gördüm.
  • Lazer, nöqtəni böyütmək və lazer enerjisini dağıtmaq üçün istifadə etdiyim fokusu (kolimasiyanı) dəyişdirmək üçün çox məhdud bir qabiliyyətə malikdir.
  • İlk düşüncəm servoları bir tranzistorla açmaq və söndürmək idi, amma bu servoların dəli olmasına səbəb oldu. Əminəm ki, bunun yaxşı bir səbəbi var, amma əlimdə artıq bəzi rölelər olduğu üçün asan çıxış yolu seçdim və servoları tamamilə təcrid etdim. Rölelerin iki kanalı olduğu üçün lazeri də bu şəkildə dəyişə biləcəyimi düşündüm (bənövşəyi tellər MCU -dan idarə siqnalıdır). Bu həllin də istehsal etdiyi mexaniki tıklama səsindən xoşum gəlir. Başqa cür qərar verə bilərsiniz. Göstərilmir, lakin rölelər birbaşa 5VDC təchizatı ilə təchiz olunur - NodeMCU sadəcə iki kanallı röleyi birbaşa gücləndirə bilərdi, amma risk etmək üçün heç bir səbəb yox idi. Bu röleleri istifadə etmisinizsə, bunun üçün JD-VCC və VCC arasındakı tullanan sökülməsini tələb edir.
  • RGB LED-də qırmızı və yaşılda 220 Ohm cərəyan məhdudlaşdıran rezistorlar və mavidə 100 Ohm var. Qırmızı "güc" LEDində 450 Ohm müqavimət var, çünki 3.3VDC deyil, 5VDC ilə işləyir. Bunlar çoxlu parlaqlıq və ağlabatan uzunömürlülük əldə etmək üçün yalnız ballpark dəyərləridir.
  • Zəng olduqca yüksəkdir. Səs səviyyəsini azaltmaq üçün siqnal xəttinə bir rezistor əlavə etmək istəyə bilərsiniz. Tonlar proqram vasitəsi ilə tamamilə söndürülə bilər, amma aralarındakı bir şey gözəl ola bilər.

Addım 6: Kod

Kod
Kod
Kod
Kod
Kod
Kod
Kod
Kod

Təchizat tərəfinin olduqca uzun müddətli izahına baxmayaraq, burada edilən səylərin 90% -i koda keçdi. Daha çox olardı, amma lazerin avtomatik rejimdə hərəkəti üçün buradan böyük bir kod "götürdüm". Sükanı yenidən kəşf etməyin mənası yoxdur. Əslində, bundan daha çox bu layihəni izləməyə və ya hər ikisinin aspektlərini qarışdırmağa və uyğunlaşdırmağa qərar verə bilərsiniz. Əlbəttə ki, bəzi komponentləri 3 ölçülü printerlə hazırlamaq fikrindən xoşum gəlir, amma məndə yoxdur.

Kodum (burada GitHub -da tapılıb) üç əsas hissədən ibarətdir. Arduino eskizinin özü, tətbiq məzmunu üçün Javascript dəstəsi olan HTML sənədləri və üslub üçün əlaqəli CSS sənədləri var. Bu proyektdən, xüsusən şeylərin tətbiq interfeysi tərəfində çox aşağı bir bazadan başlayaraq bütün bu proqramlaşdırma elementləri haqqında bir az daha çox məlumat əldə etmək üçün istifadə etdim. Kodu bir az səliqəyə salmağa çalışdım, amma əsas diqqətim işin işə salınması idi. Kod, NodeMCU serveri ilə əlaqəli müştərilər arasında ikitərəfli ünsiyyət üçün Websocketlərdən istifadə edir.

Arduino kodu geniş şəkildə şərh edilmişdir, buna görə də izləməyi asanlaşdıracaqsınız. GitHub -dan yüklədikdən sonra hamısını bir qovluğa yapışdırın, eskizi MCU -ya yükləyin, sonra "məlumat" alt qovluğunun məzmununu SPIFFS -ə yükləyin.

Əslində bunu cızmaq. Pushbullet bildiriş xüsusiyyətindən istifadə etmək istəyirsinizsə, əvvəlcə buradan əldə edilə bilən bir API Giriş Tokeninə ehtiyacınız olacaq. Arduino kodunun 88 -ci sətirinə gedir. Pushbullet yaxşı işləyir, ancaq telefonunuzda ilk dəfə hesab açırsınızsa, daxil olmağı, hesabdan çıxmağı və telefonunuzun parametrlərində göstərildiyi kimi bildirişlər görünməmiş yenidən daxil olun.

Üç veb səhifəsi var-bir açılış ekranı, faktiki tətbiq interfeysi və bir quraşdırma səhifəsi. Məzmunun bu şəkildə ayrılması, xüsusən də geniş konfiqurasiya variantları sayəsində (ekran görüntüsü bu seçimlərin yalnız bir hissəsini tutur) interfeysdən daha çox tətbiq kimi istifadə etməyi təmin edir.

NodeMCU -nun birdən çox səhifəyə xidmət etməsinin bir qəribəliyi, bütün şəkil fayllarını birbaşa məlumat qovluğuna yerləşdirməyim idi - alt qovluqlara yerləşdirilsə işləməyəcək. İstifadə etdiyim bütün şəkilləri GitHub anbarına daxil etdim, buna görə qutudan kənarda işləyir, amma şübhəsiz ki, onları öz şəkillərinizlə əvəz etmək istəyəcəksiniz.

Addım 7: Toxunma və Lazer Təhlükəsizliyinin Bitməsi

Son toxunuşlar və Lazer Təhlükəsizliyi
Son toxunuşlar və Lazer Təhlükəsizliyi
Son toxunuşlar və Lazer Təhlükəsizliyi
Son toxunuşlar və Lazer Təhlükəsizliyi
Son toxunuşlar və Lazer Təhlükəsizliyi
Son toxunuşlar və Lazer Təhlükəsizliyi

8 dollara başa gəlməsinə baxmayaraq, korpus çox faydalıdır. Etsy ətrafında bir az gəzdikdən sonra bitmiş məhsulda gördüyünüz vinil qrafikini tapdım (və bu tətbiq səhifəsində əks olunur). İngiltərədən göndərilən bir az bahalı idi, amma buna dəyər - və layihəni təkrarlamaq istəsəniz iki alırsınız. Son sənətim inkişaf etdikcə, pişiyin gözlərindəki kiçik "çuxurları" döndərdim, buna görə də lazer nöqtəsinin yanında dayanan parlaq qırmızı işıq LEDinə baxırlar. Şıltaqlıq iştahınızdan asılı olaraq, bu əlavə mili getməyi də, seçməməyi də seçə bilərsiniz.

Sıçrayış ekranı HTML faylı, iPhone ana ekranınıza bir simge əlavə etmək üçün kodu ehtiva edir.

Nəhayət, pişiklərlə oynamaq üçün lazerdən istifadə ilə bağlı narahatlıqları da göz ardı etməməliyəm. İki əsas etiraz var:

  • Lazer pişiyin gözlərini kor edə və ya zədələyə bilər
  • Lazer nöqtəsi ilə oynamaq son nəticədə pişikləri qane etmir, çünki onu heç vaxt tuta və ya "öldürə" bilməzlər

Hər iki mövzuda bir çox məlumat var, bəziləri məlumatlı görünür, bəziləri daha azdır. Nəticədə, bu layihənin və ya başqa bir lazer oyuncağının pişiyinizə uyğun olub -olmadığı ilə bağlı özünüz qərar verməlisiniz. Etdiyim şey, ağlabatan işıq səviyyələrində görməyi çox çətinləşdirmədən lazeri mümkün qədər qaraldıraraq birinci problemi həll etmək idi. Ayrıca, cihazı istifadə edən hər hansı bir pişikin nöqtəyə deyil, lazerin özünə baxmağa meylli olmadığından əmin olun - xüsusən də LaserKitty istifadə etmək niyyətindəsinizsə !! Avtomatik və ya Planlı rejimlərdə. Pushbullet bildiriş xüsusiyyətinin bir məqsədi, izləmə kamerası ilə birlikdə istifadə edilməsidir ki, uzaqda olarkən pişik oyununuzu izləməyinizi xatırladasınız.

İkinci etiraza gəldikdə, planlaşdırılan oyun seanslarından sonra lazerin geri qayıdacağı "Ev Vəziyyəti" ni saxlamaq qabiliyyətini daxil etdim. Bunu stasionar bir oyuncağa və ya pişiyinizin yemək qabına işarə etsəniz, inşallah bir az həll verər. Baxmayaraq ki, pişiklərlə, həqiqətən kim bilir?

Tövsiyə: