Բովանդակություն:

Տիեզերական զավթիչների ժամացույց (բյուջեով). 6 քայլ (նկարներով)
Տիեզերական զավթիչների ժամացույց (բյուջեով). 6 քայլ (նկարներով)

Video: Տիեզերական զավթիչների ժամացույց (բյուջեով). 6 քայլ (նկարներով)

Video: Տիեզերական զավթիչների ժամացույց (բյուջեով). 6 քայլ (նկարներով)
Video: Ամենաբարձր որակի Pacman Game PACMAN-RTX Gameplay 🎮 🇦🇲 2024, Հուլիսի
Anonim
Image
Image
Հավաքեք մասեր
Հավաքեք մասեր

Վերջերս ես տեսա GeckoDiode- ի թույն կառուցվածքը և անմիջապես ցանկացա ինքս այն կառուցել: The Instructable- ը Space Invaders Desktop Clock- ն է և խորհուրդ եմ տալիս, որ սա կարդալուց հետո նայեք դրան:

Theրագիրը գրեթե ամբողջությամբ կառուցված էր Adafruit- ից ստացված մասերից `3D տպված պատյանով և լազերային կտրվածքով: Ամեն ինչ գումարելով շինարարության արժեքը դառնում է շատ ծախսատար: (մոտ 100 ֆունտ կամ ավելի): Խնդիրն այն է, որ եթե դուք 3D տպիչ չունեք, դուք պետք է վճարեք ձեր մոդելը տպելու համար, կամ ebay- ից տգեղ պատյան գնելու համար, որը հաճախ պարզապես մի փոքր չափազանց փոքր է, շատ նեղ, կարճ կամ հակառակը:

Իմ շինությունների մեծ մասը պետք է կատարվի հոբբիստական բյուջեով, իսկ պարիսպները միշտ դառնում են ամենաթանկ մասը: Այսպիսով, ես որոշեցի կառուցել նույն ժամացույցը, բայց արժանապատիվ բյուջեով:

Եթե ձեզ հաճելի է նայել տարօրինակ ժամացույցներին, ապա իմ Steampunk Voltmeter ժամացույցը, որը պարիսպի համար օգտագործում է նույն շինանյութը:-)

Քայլ 1: Հավաքեք մասեր

Այս նախագիծը պատրաստելու համար ձեզ հարկավոր է հետևյալը. Նկատի ունեցեք պարիսպի համար անհրաժեշտ նյութերը, որոնցից դուք կունենաք ՁԵՌՆԱՐԿՈԹՅՈՆՆԵՐ, որոնք կարող եք օգտագործել այլ նախագծերում (ինչը ապագա շինությունների արժեքն ավելի էժան է դարձնում): Ես բեռնել եմ ձեզ անհրաժեշտ նյութերի PDF- ները, եթե ցանկանում եք ստուգել գինը և այլն ebay- ում:

Գործիքներ (ենթադրում եմ, որ դրանք արդեն կունենաք)

  • Oldոդման երկաթ
  • Sոդող
  • Pumpոդման պոմպ (եթե սխալ եք թույլ տալիս և պետք է հեռացնեք զոդումը)
  • Տաք սոսինձ ատրճանակ
  • Տաք սոսինձ ձողիկներ
  • Արհեստական դանակ (հայտնի է որպես Ստենլիի դանակ)
  • Քանոն / չափիչ ժապավեն / Vernier caliper
  • Անլար փորվածք + փորվածք (1 մմ -ից 13 մմ)
  • Պտտվող բազմափայլ գործիք ՝ կտրող սկավառակով (հայտնի է նաև Dremel)
  • Մաքրող հեղուկ, ինչպիսին է իզոպրոպիլ-ալկոհոլը (էժան սափրվելուց հետո նույնպես աշխատում է)
  • Անվտանգության դիմակ (օգտագործվում է լակի ներկման ժամանակ)

Էլեկտրոնիկա (էլեկտրոնիկայի արժեքը = 13.05 £)

Դրանցից մի քանիսը ես ունեի անվճար: Հին էլեկտրոնային խաղալիքներին ներսում կան այս գեղեցիկ Mylar բարձրախոսները, եթե դրանք առանձնացնեք: Քանի դեռ այնտեղ եք, հավանաբար կարող եք ձեռք բերել նաև DC տակառ և սեղմիչ կոճակ:

  • Dupont / Jumper մալուխներ - 0.99 £
  • DS1307 Իրական ժամանակի ժամացույցի մոդուլ - 0.99 £ (խորհուրդ եմ տալիս ձեռք բերել DS3231 փոխարեն, որտեղ առկա է)
  • Arduino nano + USB մալուխ - 2.23 £
  • 8 Ohm Mylar խոսնակ - 0.99 £
  • SPST ակնթարթային սեղմման կոճակ - 1.49 ֆունտ
  • 5.5 մմ DC տակառի վարդակ - 1.26 £
  • 5v, 0.5A DC սնուցման աղբյուր - 2.83
  • MAX7219 Կետային մատրիցային ցուցադրում - 3.76 £

Պարիսպ (պարիսպի նյութերի արժեքը = 17.19 ֆունտ)

  • 60 մմ քառակուսի ջրահեռացման խողովակ - 5.99 ֆունտ ստեռլինգ (դրանից շատ բան կմնա ավելի շատ նախագծերի համար)
  • Սև լակի ներկ `4,85 ֆունտ
  • Սև PVC (փրփուր) - 2.99 £
  • Սուպեր սոսինձ - 0.99 £
  • 60 մմ ծայրերի գլխարկներ - 2.37 £

Ընդհանուր արժեքը =.2 30.24:-) …….. այսօրվա դրությամբ սա 38 ԱՄՆ դոլարին համարժեք դրամ է `ցանկացած միջազգային ընթերցողի համար:

Ինձ հաճելի է աշխատել PVC քառակուսի խողովակի հետ: Դրանք հեշտ է փորել, կտրել, ներկել, և ես մեկն օգտագործեցի իմ Steampunk ժամացույցի համար:

Քայլ 2. Պատրաստեք ջրահեռացման խողովակ

Պատրաստեք ջրահեռացման խողովակ
Պատրաստեք ջրահեռացման խողովակ

Նշեք, թե որտեղ եք ցանկանում տեղադրել իրերը

Սա այնքան հեշտ էր: Ես ոչ մի շքեղ բան չեմ օգտագործել: Սկզբում ես 2.5 մ երկարությունը կտրեցի մինչև իմ նստարանի համար ողջամիտ չափսեր (մոտ 30 սմ) կոտրված սղոցով: Ես հետագայում կտրեցի սա դրեմելով, որպեսզի եզրերը գեղեցիկ և ուղիղ լինեն: Այնուհետև ես բաղադրիչները դրեցի խողովակի մակերևույթի վրա և մշտական շուկայի օգնությամբ նշեցի, թե որտեղ եմ ուզում փորել և կտրել: Հետագծեցի լուսադիոդային մատրիցի արտաքին կողմը և պտտվող բազմափորձ գործիքով կտրեցի քառակուսի անցք, որպեսզի այն տեղավորվի ողողման մեջ: Ես օգտագործել եմ թվային տրամաչափ ՝ կոճակի տրամագիծը չափելու համար, իսկ տակառի տրամագիծը ՝ հետևի և վերևի ճիշտ չափի անցքերը կտրելու համար:

Կտրեք մի եզր

Ես ունեմ PVC փրփուրի տախտակներ, որոնք տեղադրված են նախորդ նախագծերից: Նրանք հիանալի են սխեմաները պարիսպների մեջ տեղադրելու համար, այն օգտագործելով դրա վրա էպոքսիդները խառնելու և այլ բիտեր և բոբներ պատրաստելու համար: Վերցրեք A4 կամ A5 չափսի կտոր և կտրեք 5 մմ քառակուսի շրջանակ կամ շրջանակ ՝ LED մատրիցը շրջանակելու համար: Սա կթաքցնի ցանկացած մռայլ ծայրեր, որոնք արել եք մատրիցի համար քառակուսի անցքը կտրելիս: Դրա համար ես նկարեցի մի փոքր ձևանմուշ Inkscape- ում և տպեցի այն (SVG ֆայլը կցված է): Այնուհետև ես այն կպչուն ժապավենով կպցրեցի փրփուրին և զգուշորեն կտրեցի դրա շուրջը արհեստական դանակով: Yիշտ հասկանալը բարդ է, ես խորհուրդ եմ տալիս սկզբում կտրել ներսը, ապա դրսից:

Ներկիր ամեն ինչ

Երբ բոլոր անցքերը փորված և կտրված են, հեռացրեք բոլոր ծակոտված եզրերը: Մաքրեք մակերևույթները սպիրտային անձեռոցիկներով `փոշին կամ աղտոտվածությունը հեռացնելու համար (կամ սափրվելուց հետո էժանագին, եթե IPA չունեք): Փորձեք ցողել լավ օդափոխվող տարածքում և հնարավորության դեպքում դիմակ օգտագործել: Ես դա արեցի դրսում ՝ ստվարաթղթով հատակին, բայց դա իդեալական չէ, նույնիսկ փոքր քամին կարող է պատճառ դառնալ, որ ներկը հետ թռչի ձեր դեմքին: Carefulգույշ եղեք և հնարավորության դեպքում կրեք պաշտպանիչ սարքավորումներ:

Սփրեյ խողովակի, եզրերի և ծայրերի կափարիչները, որպեսզի դրանք բոլորը նույն տեսակի սև գույնի լինեն, այնուհետև թողեք չորանա մի քանի ժամ:

Քայլ 3. Programրագրավորեք Arduino- ն

Programրագրեք Arduino- ն
Programրագրեք Arduino- ն

Որոշ տեղեկություններ ծածկագրի մասին

Շնորհակալություն GeckoDiode- ին, քանի որ ես վերցրել եմ նրա կոդը և փոփոխել այն MAX7219 չիպի հետ աշխատելու համար: Adafruit- ի տարբերակն օգտագործում է I2C ավտոբուս, իսկ MAX- ը ՝ SPI ավտոբուս: Դրա համար ես օգտագործել եմ MaxMatrix գրադարանը, որը ես ներբեռնել և տեղադրել եմ Arduino IDE- ում: Եթե ցանկանում եք ավելին իմանալ MaxMatrix- ի և այն մասին, թե ինչպես է աշխատում LED մատրիցը, կա HowToMechatronics.com- ի շատ կարճ ձեռնարկ: LED մատրիցը բաղկացած է միայն LED- ների մեկ գույնից, այլ ոչ թե բազմագույն էկրանով:

Մի հիասթափություն ես ունեցա այն, որ Չկան հստակ սահմանումներ, թե որոնք են գրադարանի գործառույթները և ինչ փաստարկներ պետք է փոխանցվեն յուրաքանչյուրի մեջ: Բարեբախտաբար, ես կարողացա պարզել, թե ինչն ինչ արեց փորձության և սխալի միջոցով, և, ի վերջո, այնքան էլ դժվար չէր այն ճիշտ աշխատել: Առաջին բանը, որ պետք է հասկանալ, այն է, որ դուք պետք է սահմանեք, թե որքան 8x8 մոդուլ կա ձեր մատրիցում: Իմ ծածկագրում սա պահվում է մի ամբողջ թվով, որը կոչվում է «մոդուլներ», այսպես.

"int մոդուլներ = 4;"

Սա 8x8 մոդուլներից է, որը ձեր էկրանին միացրել եք: Ոչ LED- ների քանակը կամ ինչպիսի քորոց եք օգտագործում ուղարկելու տվյալները: Հաջորդ բանը, որ պետք է հիշել, այն է, որ եթե ձեր «sprite» - ը կամ այն, ինչ ընդգրկում է բոլոր չորս մատրիցաները, ապա բայտ զանգվածը պետք է սահմանվի այսպես.

"բայթ text_start_bmp = {32, 8,…*որոշ բայթ տվյալներ*…};"

Թվերը ցույց են տալիս մատրիցի տողերի և սյուների քանակը: Այս առիթով «text_start_bmp» անունով բայթը ցուցադրվում է 32 սյունակից և 8 տողից: Թվերը ցուցադրվում են միայն մեկ 8x8 մատրիցով, այնպես որ 10 -րդ րոպեն այսպիսի տեսք ունի.

"բայթ minute_ten_bmp = {8, 8,…*որոշ բայթ տվյալներ*…};"

Invավթիչներն ընդգրկում են երկու մատրիցա, այնպես որ բայթը բայթի տվյալների մեջ կտրվի 16, 8:

Մյուս բանը, որ ինձ գրավեց, sprite տվյալների տեղադրումն էր: Դուք կարող եք Arduino- ին խնդրել ցուցադրել sprite- ը մատրիցի վրա X/Y- ի այլ դիրքում `կանխադրված տնային դիրքից: Codeրոյական րոպեի համար ծածկագիրն այսպիսին է.

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

Մի թիվը X- ի ճշգրտումն է, մյուսը `Y- ը: Հիմա չեմ կարող հիշել, թե որն է, բայց եթե ցանկանում եք սպրայտը 1 տողով կամ սյունակով բարձրացնել կամ իջեցնել ներքևում, ապա պարզապես ավելացնում եք դրական կամ մինուս թիվը: Բավականին պարզ 8x8 մատրիցի համար, բայց երբ ձեր Sprite- ը ծածկում է մեկից ավելի մատրիցներ, պետք է համապատասխանաբար սահմանեք տան դիրքը: «POP» սպրայթը ցուցադրված է ստորև.

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

Հիմա ուշադրություն դարձրեք, թե ինչպես է տնային դիրքը 16 -ը, ոչ թե 8 -ը: Այստեղ ծածկագիրը ցույց է տալիս, որ sprite- ը ձախից աջ ցուցադրվում է դիրքի տողից/սյունակից 16. Այն երկու 8x8 էկրան համարում է մեկ 16x8 էկրան, չնայած որ կա 4: Հետևաբար, կարևոր է մտածել այն մասին, թե քանի ցուցադրում է ցուցադրվելու սպրայտը և համապատասխանաբար չափի յուրաքանչյուր սպրայտի բայթ զանգվածը: Հակառակ դեպքում կունենաք շատ հետաքրքիր սպիրտներ:

DS1307 RTC

Չնայած, որ DS1307- ը լավ է աշխատում Adafruit RTClib.h գրադարանի հետ, դուք չեք կարող ձեռքով սահմանել ժամանակը, որը պարզապես ցավ է: Ես պարզապես գնացի դրանով, քանի որ դա նշանակում էր ավելի քիչ կոդ փոխել: DS1307- ը սահմանում է ժամանակը ՝ օգտագործելով այն ժամանակը և ամսաթիվը, երբ կոդը կազմվել է ձեր համակարգիչների ժամանակից: Փոխարենը սովորեք, թե ինչպես օգտագործել DS3231 գրադարանը և ապագայում այն տեղադրեք մեկ կամ երկու րոպե առաջ մեկ անգամ: Այն նաև ունի ավելի քիչ «շեղում», ուստի ժամանակի հետ ավելի լավ է պահում ժամանակը: Երկու մոդուլներն էլ օգտագործում են I2C ավտոբուսը, և ես կարծում եմ, որ DS3231- ը կարող է օգտագործվել RTClib.h- ի հետ, եթե ցանկանում եք շարունակել այն օգտագործել:

Վերբեռնեք ծածկագիրը

Երբ գոհ եք ծածկագրից, այն վերբեռնեք Arduino- ում: Ես կցել եմ իմ Arduino էսքիզը ՝ ձեր ուշադրության համար:

Քայլ 4: Էլեկտրոնիկայի հավաքում

Էլեկտրոնիկայի հավաքում
Էլեկտրոնիկայի հավաքում

Կոդը վերբեռնելիս խորհուրդ կտամ էլեկտրոնիկան նախ հավաքել dupont/jumper լարերով հացահատիկի վրա, որպեսզի ծածկագիրը վերբեռնելիս իմանաք, որ ամեն ինչ նախատեսվածի պես է աշխատում: Սա թույլ է տալիս արդուկել սփրեյների և այլնի ցուցադրման հետ կապված բոլոր խնդիրները, նախքան սոսնձելը և կպչելը: Իմ ծածկագրում դուք կարող եք տեսնել, որ ես օգտագործում եմ թվային կապեր 4, 5, 6, 7, 9, բայց անհրաժեշտության դեպքում դրանք կարող եք փոխել: Հնարավոր է, որ ձեզ անհրաժեշտ լինի մալուխներ կպցնել կոճակին, DC միակցիչին և բարձրախոսին, բայց մեծամասնությունը պետք է հեշտությամբ սեղմել համապատասխան ոճի միակցիչներ:

Երբ գոհ եք, որ էլեկտրոնիկան աշխատում է ըստ նախատեսվածի, դուք պետք է հաշվի առնեք միացումների միացումը: Դուք կարող եք դա անել պղնձե սալիկապատ/veroboard- ով, սակայն փոքր քանակությամբ բաղադրիչների համար կարող եք ուղղակիորեն զոդել Arduino- ի կապում: Այն առնետների բույնի տեսք կունենա, բայց պարիսպի ներսում, այնուամենայնիվ, ոչ ոք չի տեսնի, պարզապես համոզվեք, որ բոլոր մետաղական մասերը տարանջատված են, դուք չեք ցանկանում, որ որևէ բան կարճ լինի պատյանում:

Ես ստիպել եմ կոճակին աշխատել, երբ «mainButton» քորոցը ցածր է քաշվում: Ես գտա, որ Arduino- ն ճանաչում էր կեղծ կոճակը սեղմված, երբ դրա վրա նստում էին լողացող էլեկտրոնիկան: Կտտացման կոճակի վրա 10K քաշվող դիմադրության օգտագործումը և քորոցը «INPUT_PULLUP» - ի վրա դնելը լուծեց այդ խնդիրը ինձ համար:

Կից ներկայացված է PDF և-p.webp

Քայլ 5: Տեղադրեք էլեկտրոնիկան և փակեք այն

Տեղադրեք էլեկտրոնիկան և մոտիկից
Տեղադրեք էլեկտրոնիկան և մոտիկից
Տեղադրեք էլեկտրոնիկան և մոտիկից
Տեղադրեք էլեկտրոնիկան և մոտիկից

Clockամացույցի համար ես էլեկտրոնիկան տեղադրեցի տաք սոսինձ օգտագործելով, բայց զգույշ եղեք, որ շատ չկիրառեք (էլեկտրոնիկան չի սիրում շատ երկար տաքանալ): Ես օգտագործեցի մի փոքր կաթիլ սուպեր սոսինձ ՝ կետագծի շուրջը կետավորված և սեղմեցի այն առջևի մասում: Ես ավարտեցի պարիսպը ՝ յուրաքանչյուր ծայրում հրելով ծայրերի գլխարկները: Իհարկե, դուք կարող եք սոսնձել ծայրերի կափարիչները `հավաքածուն ամբողջությամբ պարփակելու համար, բայց ես իմ մի կողմը բաց եմ թողել, որպեսզի ես դեռ կարողանամ մուտք գործել arduino- ի USB պորտ` հետագայում ամսաթիվը և ժամը վերականգնելու համար:

Քայլ 6: Վայելեք

Վայելեք
Վայելեք
Վայելեք
Վայելեք

Ընդհանուր առմամբ, ես գոհ եմ այն բանից, թե ինչպես է դա դուրս եկել ՝ համարելով այն ընդամենը ինչ -որ ջրատար խողովակ և լակի ներկ: Հուսով եմ, որ այն ձեզ դուր կգա և կասեք ինձ, եթե կարող եք մտածել որևէ հիանալի արդիականացման մասին, որը կարող է ավելացվել: Ինձ կհետաքրքրի իմանալ, արդյոք որևէ մեկը կարո՞ղ է դա ավելի էժանացնել, թե կա պարիսպ պատրաստելու մեկ այլ տնտեսող եղանակ, որը ես կարող եմ փորձել իմ հաջորդ նախագծում:

Խորհուրդ ենք տալիս: