Mundarija:

Kosmik bosqinchilar soati (byudjetda!): 6 qadam (rasmlar bilan)
Kosmik bosqinchilar soati (byudjetda!): 6 qadam (rasmlar bilan)

Video: Kosmik bosqinchilar soati (byudjetda!): 6 qadam (rasmlar bilan)

Video: Kosmik bosqinchilar soati (byudjetda!): 6 qadam (rasmlar bilan)
Video: Весёлый суккуб ► 2 Прохождение The Medium 2024, Iyul
Anonim
Image
Image
Qismlarni yig'ish
Qismlarni yig'ish

Yaqinda men GeckoDiode -ning ajoyib qurilishini ko'rdim va darhol uni o'zim qurmoqchi edim. Instructable - bu Space Invaders ish stoli soati va men buni o'qib bo'lgach, uni ko'rib chiqishingizni maslahat beraman.

Loyiha deyarli faqat Adafruit -dan 3D bosilgan muhofazali va lazerli kesimli fasiyali qismlardan qurilgan. Hamma narsani qurilish narxiga qo'shish juda qimmatga tushadi! (taxminan 100 funt yoki undan ko'p). Muammo shundaki, agar siz 3D -printerga ega bo'lmasangiz, siz o'zingizning modelingizni chop etish uchun pul to'lashingiz yoki ebaydan juda kichik, juda tor, qisqa yoki aksincha, yomon korpus sotib olishingiz kerak bo'ladi.

Mening qurilishlarimning ko'pchiligi sevimli mashg'ulot byudjeti asosida bajarilishi kerak va har doim eng qimmat qismi korpuslar bo'ladi. Shunday qilib, men xuddi shu soatni, lekin yaxshi byudjetda qurishga qaror qildim.

Agar siz g'alati soatlarga qarashni yoqtirmoqchi bo'lsangiz, Steampunk voltmetrli soatimga qarang, u korpus uchun bir xil qurilish materiallaridan foydalanadi:-)

1 -qadam: qismlarni yig'ish

Ushbu loyihani amalga oshirish uchun sizga quyidagilar kerak bo'ladi. Qoplama uchun mo'ljallangan materiallarni yodda tuting, sizda boshqa loyihalarda ishlatishingiz mumkin bo'lgan juda ko'p qoldiqlar bo'ladi (bu kelajakdagi qurilishlar narxini yanada arzonlashtiradi). Agar siz ebay -dagi narx va boshqalarni tekshirmoqchi bo'lsangiz, sizga kerakli narsalarni PDF formatida yukladim.

Asboblar (menimcha, sizda allaqachon mavjud)

  • Lehimlash temir
  • Lehim
  • Lehim pompasi (agar siz xato qilsangiz va lehimni olib tashlashingiz kerak bo'lsa)
  • Issiq yopishtiruvchi qurol
  • Issiq yopishtiruvchi tayoqlar
  • Hunarmand pichoq (aka stenli pichoq)
  • Hukmdor / o'lchash tasmasi / Vernier kaliper
  • Simsiz matkap + matkap uchlari (1 mm dan 13 mm gacha)
  • Diskli aylanadigan ko'p qirrali asbob (aka Dremel)
  • Izopropil-alkogol kabi tozalovchi suyuqlik (arzon qirqishdan keyin ham ishlaydi)
  • Xavfsizlik niqobi (purkagich bilan bo'yashda ishlatiladi)

Elektronika (elektronika narxi = 13,05 funt)

Ulardan ba'zilari menga tekin edi. Eski elektron o'yinchoqlar ichida Mylar karnaylari bor, agar ularni ajratib qo'ysangiz. Siz u erda bo'lganingizda, ehtimol siz shahar barreli va tugmachasini olishingiz mumkin.

  • Dupont / Jumper kabellari - 0,99 funt
  • DS1307 real vaqtda soat moduli - 0,99 funt (agar mavjud bo'lsa, DS3231 ni olishni tavsiya qilaman)
  • Arduino nano + usb kabeli - 2,23 funt
  • 8 Ohm Mylar dinamik - 0,99 funt
  • SPST lahzali tugmasi - 1,49 funt
  • 5,5 mm shahar barreli rozetkasi - 1,26 funt
  • 5v, 0,5A doimiy quvvat manbai - 2,83 funt
  • MAX7219 nuqta matritsali displey - 3,76 funt

Qoplama (Qoplama materiallari narxi = 17,19 funt)

  • 60 mm kvadrat drenaj trubkasi - 5,99 funt (boshqa loyihalar uchun sizda ko'p narsa qoladi)
  • Qora purkagichli bo'yoq - 4,85 funt
  • Qora PVX (ko'pikli taxta) - 2,99 funt
  • Super elim - 0,99 funt
  • 60 mm qopqoqlar - 2,37 funt

Umumiy qiymati = 30,24 funt sterling:-) …….. bugungi kunda bu har qanday xalqaro o'quvchi uchun 38 AQSh dollariga teng.

Menga PVX kvadrat quvur bilan ishlash yoqadi. Ularni burg'ulash, kesish, bo'yash oson, men esa Steampunk soati uchun ishlatardim.

2 -qadam: Drenaj quvurini tayyorlang

Drenaj quvurini tayyorlang
Drenaj quvurini tayyorlang

Qaerga narsalarni qo'yishni xohlayotganingizni belgilang

Bu juda oson edi. Men hech qanday ajoyib narsani ishlatmadim. Birinchidan, men uydagi skameykaning (taxminan 30 sm) balandligi 2,5 m uzunligini kesib oldim. Keyinchalik qirralarning chiroyli va tekis bo'lishi uchun men uni dremel bilan kesib tashladim. Keyin men komponentlarni quvur yuzasiga qo'ydim va burg'ulash va kesishni xohlagan joyimni belgilash uchun doimiy bozorni ishlatdim. Men LED matritsaning tashqi tomonini kuzatdim va aylanadigan ko'p qirrali asbobdan foydalanib, kvadrat teshikni bir tekis qilib kesib oldim. Men tugmachaning diametrini o'lchash uchun raqamli kaliperdan va orqa va tepadagi to'g'ri o'lchamdagi teshiklarni kesish uchun DC barrelidan foydalanardim.

Chegarani kesib oling

Menda oldingi loyihalarga qaraganda, ko'p miqdorda PVX ko'pikli taxta bor. Ular zanjirlarni korpuslarga o'rnatish, epoksi aralashtirish va boshqa bit va boblarni tayyorlash uchun juda yaxshi. A4 yoki A5 o'lchamdagi bo'lakni oling va LED matritsasini ramkalash uchun 5 mm kvadrat yoki to'rtburchaklar kvadratni kesib oling. Bu matritsa uchun to'rtburchaklar teshikni kesishda qilgan har qanday jirkanch chekkalarni yashiradi. Buning uchun men Inkscape -da kichik shablonni chizdim va chop etdim (SVG fayli biriktirilgan). Keyin men uni ko'pikli lentaga niqobli lenta bilan yopishtirdim va ehtiyotkorlik bilan qo'ltiq pichog'i bilan kesib tashladim. To'g'ri yo'l tutish qiyin, men birinchi navbatda ichini, keyin tashqarisini kesishni maslahat beraman.

Hamma narsani bo'yash

Hamma teshiklar burg'ulash va kesilgandan so'ng, burmalangan qirralarni olib tashlang. Har qanday chang yoki ifloslanishni olib tashlash uchun yuzalarni spirtli ro'molcha bilan tozalang (yoki agar sizda IPA bo'lmasa, sochingizni oldirgandan keyin). Yaxshi shamollatiladigan joyda püskürtün va iloji boricha niqobdan foydalaning. Men buni tashqarida erga bir nechta karton bilan qildim, lekin bu ideal emas, hatto kichik shabada ham yuzga bo'yoq uchib ketishiga olib kelishi mumkin. Ehtiyot bo'ling va iloji boricha himoya vositalarini taqing.

Quvurni, ramkani va qopqoqlarni püskürtün, shunda ular bir xil qora rangda bo'ladi, keyin bir necha soat quriting.

3 -qadam: Arduino -ni dasturlash

Arduino -ni dasturlash
Arduino -ni dasturlash

Kod haqida ba'zi ma'lumotlar

GeckoDiodega kredit, chunki men uning kodini oldim va MAX7219 chipi bilan ishlash uchun o'zgartirdim. Adafruit versiyasi I2C avtobusidan, MAX esa SPI avtobusidan foydalanadi. Buning uchun men Arduino IDE -ga yuklagan va o'rnatgan MaxMatrix kutubxonasidan foydalandim. Agar siz MaxMatrix va LED matritsasi qanday ishlashini bilishni istasangiz, HowToMechatronics.com saytida juda qisqa qo'llanma mavjud. LED matritsasi ko'p rangli displeyga ega emas, faqat bitta rangli LEDdan iborat.

Men tushkunlikka tushganim shundaki, kutubxona uchun qanday funktsiyalar borligi va ularning har biriga qanday dalillar kiritish kerakligi haqida aniq ta'riflar yo'q. Yaxshiyamki, men nima qilganini sinab ko'rdim va xato qildim va oxir -oqibat uni to'g'ri ishlashiga erishish qiyin emas edi. Tushunadigan birinchi narsa shundaki, siz matritsangizda qancha 8x8 modul borligini aniqlashingiz kerak. Mening kodimda bu "modullar" deb nomlangan butun sonda saqlanadi:

"int modullari = 4;"

Bu displeyda siz bog'lagan 8x8 modullarning NUMBER. Yo'naltiruvchi ma'lumotlarning sonini yoki qaysi pinni ishlatayotganini emas, esda tutish kerak bo'lgan keyingi narsa shundaki, agar sizning "sprite" yoki boshqa to'rt matritsani qamrab oladigan bo'lsa, bayt qatorini shunday aniqlash kerak:

"bayt text_start_bmp = {32, 8,…*ba'zi bayt ma'lumotlari*…};"

Raqamlar matritsadagi satr va ustunlar miqdorini ko'rsatadi. Shu munosabat bilan "text_start_bmp" nomli bayt 32 ta ustun va 8 qatorda ko'rsatiladi. Raqamlar faqat bitta 8x8 matritsada ko'rsatiladi, shuning uchun 10 -sonli raqam quyidagicha ko'rinadi:

"byte minutes_ten_bmp = {8, 8,…*ba'zi bayt ma'lumotlari*…};"

Bosqinchilar ikkita matritsani qamrab oladi, shuning uchun bayt ma'lumotlarida 16, 8 beriladi.

Meni qiziqtirgan boshqa narsa - bu sprite ma'lumotlarining joylashuvi. Siz Arduino -dan spritni matritsadagi boshqa X/Y pozitsiyasida ko'rsatuv ko'rsatgichidan ko'rsatishni so'rashingiz mumkin. Kod nol daqiqasi uchun shunday ko'rinadi:

"matrix.writeSprite (8, 0, daqiqa_zero_bmp);"

Bitta raqam - X, ikkinchisi - Y. Hozir qaysi biri ekanligini eslay olmayman, lekin agar siz spritni 1 qator yoki ustun bilan yuqoriga yoki pastga siljitmoqchi bo'lsangiz, sonni musbat yoki minusga ko'paytirasiz. 8x8 matritsa uchun etarlicha sodda, lekin sizning sprite bir nechta matritsani qamrab olganda, siz shunga mos ravishda uy holatini belgilashingiz kerak bo'ladi. "POP" spriti quyida ko'rsatilgan:

"matrix.writeSprite (16, 0, invader_pop_bmp);"

E'tibor bering, uyning pozitsiyasi 16 emas 8 emas? Bu erda kod sprite 16 -pozitsiyadan chapdan o'ngga ko'rsatilishini bildiradi. U ikkita 8x8 displeyni bitta 16x8 displey deb hisoblaydi, hatto 4 bo'lsa ham! Shuning uchun, sprite nechta displeyda ko'rsatilishi va shunga mos ravishda har bir sprite bayt massivini o'lchash haqida o'ylash kerak. Aks holda sizda juda qiziqarli spritlar bo'ladi!

DS1307 RTC

Alpha DS1307 Adafruit RTClib.h kutubxonasi bilan yaxshi ishlaydi, siz vaqtni qo'lda belgilay olmaysiz, bu faqat og'riq. Men bu bilan bordim, chunki bu kodni o'zgartirish uchun kamroq edi. DS1307 kodi sizning kompyuteringiz vaqtidan boshlab tuzilgan vaqt va sanadan foydalanib vaqtni belgilaydi. Buning o'rniga DS3231 kutubxonasidan qanday foydalanishni bilib oling va kelajakda uni bir yoki ikki daqiqa oldinga qo'ying. Bundan tashqari, u kamroq "drift" ga ega, shuning uchun vaqt o'tishi bilan vaqtni yaxshiroq saqlaydi. Ikkala modul ham I2C avtobusidan foydalanadi va menimcha, agar siz undan foydalanishni davom ettirmoqchi bo'lsangiz, DS3231 RTClib.h bilan ishlatilishi mumkin.

Kodni yuklang

Agar siz koddan mamnun bo'lsangiz, uni Arduino -ga yuklang. Men sizning e'tiboringizga Arduino eskizini biriktirdim.

4 -qadam: elektronikani yig'ish

Elektronikani yig'ish
Elektronikani yig'ish

Kodni yuklayotganda, elektronni dupont/jumper simlari bilan yig'ilgan taxtaga o'rnatishni tavsiya qilaman, shuning uchun siz kodni yuklaganingizda hamma narsa mo'ljallangan tarzda ishlayotganini bilasiz. Bu sizga yopishtirish va yopishtirishni boshlashdan oldin spritlarni ko'rsatish va h.k. bilan bog'liq muammolarni hal qilishga imkon beradi. Mening kodimda 4, 5, 6, 7, 9 raqamli pinlardan foydalanayotganimni ko'rishingiz mumkin, lekin agar kerak bo'lsa, ularni o'zgartirishingiz mumkin. Kabellarni tugmachaga, shahar raz'emiga va karnayga lehimlashingiz kerak bo'lishi mumkin, lekin ko'pchiligi bosish moslamali konnektorlar bo'lishi kerak.

Agar elektronika maqsadga muvofiq ishlayotganidan xursand bo'lsangiz, ulanishlarni lehimlash haqida o'ylashingiz kerak. Siz buni mis lenta/veroboard bilan qilishingiz mumkin, lekin oz miqdordagi komponentlar uchun siz to'g'ridan -to'g'ri Arduino pinlariga lehimlashingiz mumkin. Bu kalamushlar uyasiga o'xshaydi, lekin hech kim yig'ilgan joyni ko'rmaydi, faqat barcha metall qismlar ajratilganligiga ishonch hosil qiling, bu holatda hech narsa etishmayapti.

Men tugmachani "mainButton" tugmasi pastga tortilganda ishga tushirdim. Men topdimki, Arduino suzuvchi elektronika joylashganda, bosilgan noto'g'ri tugmani taniydi. Tugmachadagi 10K ochiladigan rezistorni ishlatish va pinni "INPUT_PULLUP" ga o'rnatish men uchun bu muammoni hal qildi.

PDF va-p.webp

5 -qadam: Elektronni o'rnating va yoping

Elektron qurilmani o'rnating va yoping
Elektron qurilmani o'rnating va yoping
Elektron qurilmani joylashtiring va yoping
Elektron qurilmani joylashtiring va yoping

Soatim uchun men elektronni issiq elim yordamida o'rnatdim, lekin juda ko'p ishlatmaslik uchun ehtiyot bo'ling (elektronika uzoq vaqt qizib ketishni yoqtirmaydi). Men bir oz tomchi super yopishtiruvchi plyonka bo'ylab joylashtirdim va uni old tomoniga bosdim. Men korpusni har bir uchining qopqog'ini bosib tugatdim. Albatta, siz montaj qopqog'ini to'liq yopish uchun qopqoqlarni yopishtirishingiz mumkin, lekin men bir tomonimni ochiq qoldirdim, shuning uchun men kelajakda sana va vaqtni qayta o'rnatish uchun arduino USB portiga kira olaman.

6 -qadam: rohatlaning

Xursand bo'ling
Xursand bo'ling
Xursand bo'ling
Xursand bo'ling

Umuman olganda, men buni qandaydir trubka va purkagichli bo'yoq deb hisoblaganimdan, chiqish yo'lidan mamnunman. Umid qilamanki, bu sizga yoqadi va siz qo'shishingiz mumkin bo'lgan ajoyib yangilanishlar haqida o'ylaysizmi, menga xabar bering. Men buni kimdir arzonroq qila oladimi yoki keyingi loyihamda sinab ko'rishim mumkin bo'lgan korpusni tejashning boshqa tejamkor usuli bormi, bilishni istardim.

Tavsiya: