Mundarija:

Lego Mini Cooper ilovasi tomonidan boshqariladigan chiroqlar: 7 qadam (rasmlar bilan)
Lego Mini Cooper ilovasi tomonidan boshqariladigan chiroqlar: 7 qadam (rasmlar bilan)

Video: Lego Mini Cooper ilovasi tomonidan boshqariladigan chiroqlar: 7 qadam (rasmlar bilan)

Video: Lego Mini Cooper ilovasi tomonidan boshqariladigan chiroqlar: 7 qadam (rasmlar bilan)
Video: Sketches into Epic Art with 1 Click: A Guide to Stable Diffusion ControlNet in Automatic1111 Web UI 2024, Noyabr
Anonim
Image
Image
Sizga nima kerak bo'ladi
Sizga nima kerak bo'ladi

Xavf, UXB

Siz bomba yo'q qilish bo'yicha mutaxassis bo'lishni orzu qilyapsizmi, lekin siz o'layotgan qism tufayli ikkilanasizmi? Keyin bu loyiha siz uchun! Siz uzoq vaqt davomida juda beqaror qurilmaga kichik o'zgarishlar kiritasiz, peshonangizdan ter to'kiladi va qo'llaringiz beixtiyor titraydi. Yurak urishi g'alaba va falokatni ajratishi mumkin. Qanday bo'lmasin, o'lmaysiz, faqat o'limdan. Shunday qilib, siz bu ikki firibgarga bir xil munosabatda bo'lishga tayyor bo'lishingiz kerak. Aks holda, siz haqiqiy bomba tashlash bilan shug'ullanishingiz mumkin.

Men nima haqida gapiryapman? Sizning telefoningizdan Lego Mini Cooper uchun veb-boshqaruvning to'liq xususiyatli to'plamini amalga oshirish! Asosiy voqealarga quyidagilar kiradi:

  • Tashqi va ichki yoritishni individual boshqarish
  • Yorug'likni tanlash telefon ekranida aks ettirilgan
  • Avtomatik chiroqlar yorug'lik darajasiga bog'liq
  • Vaqtni xisoblash Internetga asoslangan, shuning uchun sizning mini soatingiz o'z chiroqlari bilan yonib turadi
  • Foydalanuvchi sozlaydigan vaqt mintaqasini tanlash
  • Qo'lda tanlanadigan ichki yorug'lik ranglarining cheksiz xilma-xilligi va yorqinlik darajasi
  • Oltmishinchi yillardagi haqiqiy vibe uchun ichki yoritishni almashtirish uchun avtomatik "Groovy" rejimi. Ha, bolam!
  • Teslaga o'xshash avtopilot. Yo'q, aslida emas.

Qo'shimcha qulaylik nerd xususiyatlari, masalan:

  • Ko'p tarmoqli DNS (zerikarli IP -manzillarni eslab qolishning hojati yo'q)
  • OTA (efirda) dasturiy ta'minoti yangilanib, qo'shimcha funktsiyalarni osongina qo'shadi
  • WiFi menejeri, shuning uchun Mini SSID va parollarni qayta kodlamasdan yangi tarmoqlarga ko'chirilishi mumkin

Qani boshladik!

1 -qadam: Sizga nima kerak

Agar sizda allaqachon Lego Mini Cooper bo'lsa, sizga omad kulib boqadi. Bu loyiha sizga taxminan 10 dollar turadi. Agar sizda sarf materiallarining bir qismi yoki hammasi yotgan bo'lsa, kamroq. Agar sizda Lego Mini bo'lmasa, ular taxminan 100 dollar. Men qilgan ishim-(katta bo'lgan) qizimni Rojdestvoga sotib olish. Aqlli, a?

Natijaning yagona boshqa komponenti-bu ESP8266-ga asoslangan NodeMCU. Taxminan 6 dollar. Sizga faqat 3 mm diametrli LEDlar, bir nechta rezistorlar (shu jumladan LDR/fotorezistor), bir nechta NPN tranzistorlari, ingichka ulash simlari va issiqlik o'tkazmaydigan quvurlar kerak bo'ladi.

Asboblar

Bu erda asosiy narsa lehimlantiruvchi temirdir. Bundan tashqari, 1/8 dyuymdan pastgacha bo'lgan burg'ulash. Sizga kichik qo'l asboblari ham kerak bo'ladi - men, ayniqsa, ishora qilguvchi cımbız topdim.

2 -qadam: Dizayn masalalari

Dizayn masalalari
Dizayn masalalari

Variantlar

Haqiqiy Mini Cooperda bo'lgani kabi, siz variantlar to'g'risida qaror qabul qilishingiz kerak. Bunday holda, qancha individual chiroqni xohlaysiz va boshqa narsalarni qo'shishni xohlaysizmi (masalan, shox). Mening maslahatim - shuhratparast bo'lmang. Birinchidan, NodeMCU -da faqat 9 ta GPIO va bitta analog kirish pinlari mavjud. Agar siz ignalarni smenali registr bilan kengaytirishni xohlasangiz ham, simlar va boshqariladigan aksessuarlar uchun bo'sh joyni hisobga olish kerak. Mana nima bilan yakunladim:

  • Chiroqlar
  • Tuman/haydash chiroqlari
  • O'ng va chap miltillash/xavf (old va orqa)
  • RGB uchun uchta ichki chiroq (kombinatsiyalangan chiroqni ishlatishi mumkin edi, lekin u yo'q edi - pinni ishlatish ham xuddi shunday)
  • Avtomatik yoqish/o'chirish uchun analog pinli fotorezistor

Men bir nechta pinni tejash uchun miltillovchi tranzistorlardan foydalandim, bu usulni siz faralar va tuman chiroqlarida ham ishlatishingiz mumkin (har doim birga almashtiriladigan). Siz ehtiyot bo'lishingiz kerak - men ba'zi pinlarda tranzistorlarni ishlatishda muammoga duch keldim, bu keyinroq muhokama qilinadi.

Qoidalar

  1. Mashinaning tashqi qiyofasida hech qanday o'zgarish yo'q
  2. Iloji boricha kamroq ichki o'zgartirishlar
  3. Barqarorlikni qo'shish qanchalik jozibali bo'lmasin, elim yo'q
  4. Kalit konfiguratsiyasining qattiq kodlanishi yo'q (masalan, wifi tarmog'i)
  5. "Ilova" uchun oqilona ko'rinadigan GUI

Oxir -oqibat, men bu qoidalarni ko'proq ko'rsatma sifatida talqin qildim, lekin men aniq burilishlar qilmagan deb o'ylayman.

3 -qadam: Mini qurilmangizni yarating

Mini qurilmangizni yarating
Mini qurilmangizni yarating

Hiyla -nayrang bo'lsa ham, men insoniylikdan xoli emasman. Shunday qilib, Rojdestvo ruhida men qizimga Mini qurishga ruxsat berdim. Chunki, bu uniki edi. U buni juda ehtiyotkorlik bilan qildi. Bu ajoyib edi.

Men Lego bilan bolaligimda o'ynaganman, lekin "uy" deb atash mumkin bo'lgan narsani qila oldim. O'ylaymanki, menda deraza yoki eshik bo'laklari yo'q edi, shuning uchun biroz tasavvur kerak edi. Bu Lego Mini boshqa ligada edi - Lego -ning yaxlitligini saqlab, haqiqiy narsaning mohiyatini (qizim ham egalik qiladigan misol) egallagan.

Sovuqqa qaramay, biz darhol kengaytirilgan fotosessiyaga tushdik. Bu yanada dahshatli edi. Bu mukammal edi!

Bundan tashqari, hech narsa mukammal emas, shunday emasmi? Yoki hech bo'lmaganda, bir paytlar mukammal deb hisoblangan narsani qoniqarsiz deb bilish insoniy shartdir. Shuning uchun bizga poligon va ajralish bo'yicha advokatlar kerak.

Shubhasiz, bu mashinaga LEDlar kerak edi. Qizim faqat ta'tilga tashrif buyurardi, shuning uchun tez ishlashim kerak edi. Loyihaning 1 -versiyasi faqat faralar va tuman chiroqlariga bir nechta LEDlarni yopishtirib, hamma narsani bir nechta tanga batareyali kalitlarga ulash edi. Men "shunchaki" deyman, lekin bu Mini -ning zaifligi bilan birinchi uchrashuvim edi (va menimcha, Lego -ning boshqa maxsus to'plamlari). Biror narsani yig'ib olish xavf tug'diradigan bo'laklarning erga tushishi bilan tushdi. Menga juda katta DeWalt yordamida mayda teshiklarni burish, simni o'tkazishga mo'ljallanmagan joylardan simni tortib olish va strukturaning pastki qismidagi akkumulyator bo'linmasini qo'llab -quvvatlash kerak edi.

Ba'zi ozod qilingan bitlar juda katta edi va ular menga qayerga qaytganlari aniq edi. Boshqa qismlar to'liq sir edi. Men ularni "juda qiyin" qoziqqa qo'ydim, uni loyihaga atigi bir necha daqiqa ichida dahshatli o'sdi. Bir paytlar, etarlicha qismlar tushib ketganki, hamma narsaning asl holatiga qaytish xavfi nazariy emas. Agar siz entropiya koinotni belgilashiga shubha qilgan bo'lsangiz, Legodan uzoqqa qaramang.

Bomba zararsizlantirish bo'yicha mutaxassislarga tanish bo'lgan buzuq biologik reaktsiyada, falokat xavfi qanchalik katta bo'lsa, qo'llarim shunchalik titrardi. Agar siz juda asabiy bo'lsangiz, boshqa biologik reaktsiyalar paydo bo'lishi mumkin. Spotify -da T. Rex qo'shig'i yangradi. Mini Nemesis sifatida. Yeatsning "Ikkinchi kelishi" dan bir satr yodga tushdi.

Biz bu erda pauza qilamiz, chunki menda dramatik hikoyaning rivojlanmagan tuyg'usi bor.

4 -qadam: 1 -versiya

1 -versiya
1 -versiya

Xo'sh, o'quvchi, men batareyali chiroqlarni o'rnatganimni va Mini to'liq yig'ilgan holatiga qaytganini eshitganingizda, siz taskin topasiz. Faqat bu rasmga qarasak, tomni tekislab turgan plitkalarni ko'rishingiz mumkin. O'ylaymanki, ular juda ko'p marta yiqilib tushishgan edi, men ularni rasm uchun bosishim mumkin emas edi. Ehtimol, bu mustahkam qo'llar va yurakka singdirilgan ba'zi mustahkamlovchi ichimliklarning natijasi bo'lishi mumkin. Axir, bu Rojdestvo edi.

Bu erda ishlar qoldi. Qizim Kanadaga ketishi kerak edi va Mini -ni o'zi bilan olib ketdi. Ko'rinishidan, sovg'alar shunday ishlaydi.

Ayni paytda, men Legoga qattiq yiqildim. Men Lego Batmanni takroran tomosha qila boshladim va Lego to'plamlarining sharhlarini o'qidim. Bir kuni men buni "mening" g'oyamning tijorat versiyasi bo'lgan Brick Loot deb nomlangan kiyimdan uchratdim. Bundan ham yomoni, bu mening harakatimdan yaxshiroq edi, chunki u ko'proq chiroqlar edi. Ko'proq. Yaxshisi. Men o'zimni tasalli berishga harakat qildim, ko'k chiroqlar tawdry edi va u 1 -versiya uchun sarflagan 1,30 dollardan yigirma baravar qimmatroq edi, lekin mening yuragimda bunday jozibali mantiq yo'q edi. Bu turolmadi, ayniqsa, men mashinaga LED yoritishni qo'shishning boshqa variantlari borligini bilganimda. Shubhasiz, men o'z o'yinimni kuchaytirishim kerak edi. Mini Muzlatilgan Shimoldan chaqirildi va ish boshlandi.

Shunday qilib, men yaqinda LEDlar va NodeMCUni o'z ichiga olgan yana bir ahamiyatsiz loyihani boshladim. Lego Mini bilan ushbu loyihaga uylanish tasavvurning ulkan pog'onasi emas edi. Men hatto juda yaxshi kod qismlarini qayta ishlatishim mumkin edi! NodeMCU-dan foydalanish bizda chiroqlarni telefon orqali boshqarish va tasavvur imkon qadar avtomatlashtirish imkoniyatiga ega bo'lishimiz mumkin edi. Buni oling, g'ishtli o'lja, kim bo'lmasin.

Men darhol Lego tadqiqotlarini to'xtatdim. Agar kimdir bu loyihaga o'xshash narsani qilgan bo'lsa, yaxshi bo'ladi (chunki ular albatta). Men bu haqda bilmas ekanman (sharhlovchilar, iltimos, bu qasddan qilingan johillikni hurmat qiling).

Endi tushunaman, men to'rt qadam oldin "boshlaylik" deganman. Shunday qilib, boshlaylik. Haqiqatan ham.

5 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

Ishning birinchi tartibi - barcha chiroqlarga qanday kuch berish kerakligini hal qilish edi. Chiroqlar to'plamining har biriga (faralar, tuman chiroqlari, miltillovchi, ichki chiroqlar) biroz boshqacha yondashuv kerak edi.

Rasmlar men bu haqda qanday gapirganimni gapirishga ruxsat beraman. Qisqacha aytganda, tuman chiroqlaridan tashqari barcha chiroqlarga simlar o'rnatilishi mumkin, ular yorug'lik markazidan kichik bo'shliqni to'g'ridan -to'g'ri keyingi bo'shliqqa burab, so'ngra simni ko'rinmas holda Mini ostiga o'tkazadi. Tuman chiroqlari uchun sim reflektorning orqa qismiga biroz markazdan tashqariga kirishi kerak. RGB ichki LED -lari (rasmda ko'rsatilmagan) pastdan to'g'ridan -to'g'ri teshik ochish orqali o'rnatilishi oson, shuning uchun u oldingi o'rindiqlarning orasidan va bir oz orqasidan chiqadi. Men uchta alohida chiroqni ishlatardim, chunki menda kombinatsiyalangan chiroqlar yo'q edi.

Shuni alohida ta'kidlash kerakki, orqa miltillash moslamalarini tanlashda men magistral tagida joylashgan zaxira g'ildirakni topdim. Bu umuman kutilmagan hol edi - men hayron bo'ldim desam mubolag'a bo'lmaydi. Bu erda, agar mavjud bo'lsa, yig'ilgandan keyin ko'radigan bir nechta komponent bor edi. Ammo buning uchun hamma narsa qimmatroq. Lego yaxshi o'ynadi!

Ishingiz tugagach, barcha simlar Mini ostidagi ramka elementlari orasidagi katta bo'shliqda uchrashishi kerak. Bu erda biz NodeMCU -ni o'rnatamiz va tegishli pimdagi simlarni uzamiz.

Men ilgari LEDlar, tranzistorlar va LDR uchun oqim cheklovli rezistorlarni sim o'tkazgichlariga qo'shishni tanlab, noto'g'ri qaror qabul qilgan edim. Men buni NodeMCU -ni Perfboard -ga o'rnatishni rejalashtirmaganim uchun qildim. Oxir -oqibat, men shunday qildim, shuning uchun men barcha elektronikalarni bir joyga to'plashim mumkin edi. Aks holda, komponentlarni, ayniqsa, LEDlarni almashtirish biroz qiyinlashadi. Xo'sh.

NodeMCU/Perfboard -ni ramkaga o'rnatishdan oldin, micro USB -ni qaysi tomonga qaratish kerakligini o'ylab ko'ring.

6 -qadam: O'chirish davri

O'chirish davri
O'chirish davri

Bu erda alohida narsa yo'q. Fritzing eskizi o'zini tushunarli, havaskor bo'lishi kerak. Barcha LEDlardagi oqim cheklovli rezistorlar 220Ω va tranzistorlarda 1kΩ. Transistorlar - 2N2222 NPN. LDR -dagi qattiq qarshilik 10 kΩ.

Aytgancha, hozir men NodeMCU haqida kashf qilgan bir nechta g'alati narsalarni aytib o'tishim mumkin.

Birinchidan, D9 (RX) va D10 (TX) pimlarini GPIO sifatida ishlatish mumkinligi haqidagi interwavelarda ba'zi takliflar bo'lsa -da, agar ular ketma -ket trafik bo'lmasa, men ishonchim komil emas - bu men uchun ishlamagan.

Ikkinchidan, men D3 ga biriktirilgan tranzistorlardan biri bilan muammoga duch keldim. Nima uchun aniq emas - D3 (shuningdek D4 va D8) yuklash rejimini aniqlaydi, lekin nima uchun bu muhimligini bilmayman. Agar siz biron bir muammoga duch kelsangiz, narsalarni pinlar bo'ylab harakatlantiring.

Men bu ikkala masalani ham batafsilroq ko'rib chiqish uchun aqliy eslatma yozdim, lekin hozircha shuni aytishim mumkinki, mening eskizimda ko'rsatilgan pin ajratish men uchun ishlagan.

7 -qadam: Kod

Kodeks
Kodeks

Kod (Arduino, HTML/CSS va JavaScript) imkon qadar sharhlangan va GitHub -da bu erda mavjud. Men ishlatgan barcha rasmlarni, shu jumladan iPhone bosh ekraniga qo'shish belgisini qoldirdim, shuning uchun u qutidan tashqarida ishlaydi. Agar siz SPIFFS -ni ishlatishni yaxshi bilmasangiz, README faylini ko'rib chiqing.

Har doimgidek, men o'zim kabi baxtsiz odamlar tomonidan kutubxonalar, o'quv qo'llanmalari va boshqa manbalarni ishlatadigan va suiiste'mol qiladigan haqiqiy tajribaga ega bo'lgan fidoyi odamlardan chuqur qarzdorman. Ayniqsa, bu loyihada men ESP8266 bu erda mavjud bo'lgan barcha narsalar bilan to'liq tanishishga tayanardim. Wi-Fi menejeri kutubxonasi, shuningdek, Lego Mini Kanadadan haqiqiy mashina kabi oldinga va orqaga sayohat qilishini hisobga olsak, tarmoqning ko'chirilishini engillashtirish uchun alohida baqirishga loyiqdir.

Nihoyat, qizim Emmaga katta rahmat, menga uning mashinasi bilan asossiz darajada o'ynashimga ruxsat bergani uchun.

Motor qilaylik.

Oyoq xudosi.

Tavsiya: