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

Bluetooth- միացված մոլորակ/Orrery: 13 քայլ (նկարներով)
Bluetooth- միացված մոլորակ/Orrery: 13 քայլ (նկարներով)

Video: Bluetooth- միացված մոլորակ/Orrery: 13 քայլ (նկարներով)

Video: Bluetooth- միացված մոլորակ/Orrery: 13 քայլ (նկարներով)
Video: Արդուինո (7 սեգմենտ, buzzer+Bluetooth) 2024, Հուլիսի
Anonim
Bluetooth- ով միացված Planetarium/Orrery
Bluetooth- ով միացված Planetarium/Orrery

Այս ձեռնարկը ստեղծվել է Հարավային Ֆլորիդայի համալսարանի Makecourse- ի նախագծի պահանջի կատարման համար (www.makecourse.com):

Սա իմ 3 մոլորակ մոլորակն է: Այն սկսվեց որպես կիսամյակային ծրագիր Makecourse- ի համար, բայց մինչև կիսամյակի ավարտը պտտվեց, այն վերածվեց ուսման չափազանց արժեքավոր փորձի: Ես ոչ միայն սովորեցի միկրոկառավարիչների հիմունքները, այլև այն ինձ սովորեցրեց շատ հետաքրքիր բաներ C և C ++, Android հարթակի, զոդման և ընդհանրապես էլեկտրոնիկայի աշխատանքի մասին:

Պլանետարիումի հիմնական գործառույթը հետևյալն է. Բացեք ծրագիր ձեր հեռախոսում, միացեք Planetarium- ին, ընտրեք ամսաթիվ, հարվածեք send և դիտեք, թե ինչպես է Planetarium- ը Մերկուրին, Վեներան և Երկիրը շարժում դեպի այդ ամսաթվի իրենց հարաբերական հելիոցենտրիկ երկայնությունները: Դուք կարող եք հետ գնալ մինչև մ.թ. 1 թ. Եվ 5000 մ.թ. մ.թ.

Այս Ուղեցույցում ես կբացատրեմ, թե ինչպես կարելի է հավաքել մոլորակները, դրանք շարժող հանդերձանքի համակարգը, ամեն ինչ իրար միացնող տպատախտակը և մոլորակները կառավարող Android և C ++ (Arduino) ծածկագիրը:

Եթե ցանկանում եք առաջ անցնել ծածկագրին, ապա ամեն ինչ GitHub- ում է: Arduino- ի կոդը այստեղ է, իսկ Android- ի կոդը ՝ այստեղ:

Քայլ 1: Մասեր և գործիքներ

Ֆիզիկական մասեր

  • 1 DC -47P DC Series Heavy Duty Electronics պարիսպ - $ 9.58
  • 0.08 "(2 մմ) ակրիլ/PMMA թերթ, առնվազն 6" x 6 "(15 սմ x 15 սմ) - 2.97 դոլար
  • 3 28BYJ -48 Unipolar Stepper Motors - 6,24 դոլար
  • Glow in the Dark Planets - 8,27 դոլար (տես ծանոթագրություն 1)
  • Glow in the Dark Stars - $ 5.95 (ըստ ցանկության)

Էլեկտրոնիկա

  • 3 ULN2003 Stepper Motor Drivers - $ 2.97
  • 1 Atmel ATMega328 (P) - 1.64 դոլար (տես ծանոթագրություն 2)
  • 1 HC -05 Bluetooth դեպի սերիական մոդուլ - $ 3.40
  • 1 16 ՄՀց բյուրեղային տատանում - 0,78 դոլար 10 -ի դիմաց
  • 1 DIP-28 IC վարդակից 0.99 դոլար 10-ի դիմաց
  • 1 կտոր Stripboard (սկիպիդար = 0.1 ", չափը = 20 տող 3.5") - 2.48 դոլար 2 -ի համար
  • 1 վահանակ Mount DC Supply Jack, իգական (5.5 մմ OD, 2.1 մմ ID) - $ 1.44 10 -ի համար
  • 2 22pF 5V կոնդենսատոր - $ 3.00 100 -ի համար (տես ծանոթագրություն 3)
  • 2 1.0 μF կոնդենսատոր - $ 0.99 50 -ի համար
  • 1 10kΩ ռեզիստոր `0,99 դոլար 50 -ի դիմաց

Գործիքներ

  • Պահեստային Arduino կամ AVR ISP - Սա ձեզ հարկավոր կլինի ATMega չիպը ծրագրավորելու համար
  • Պտուտակահան - Arduino- ից բաժնետոմսերի ATMega- ն հանելու համար
  • Բազմաչափ - կամ առնվազն շարունակականության հաշվիչ
  • Hammer - այն, ինչ ճիշտ է, որ չի արվում, շտկելու համար
  • Հորատեք 5/16 ", 7/16" և 1 3/8 "փորվածքներով
  • Փոքր փշրանքներ `բաղադրիչների կապերը կտրելու համար
  • 22 AWG շղթայված պղնձե մետաղալար (հիանալի գին և շատ տարբերակներ այստեղ)
  • Oldոդման - ես օգտագործում եմ 60/40 վարդագույն միջուկով: Ես պարզել եմ, որ բարակ (<0.6 մմ) զոդումը ամեն ինչ շատ ավելի հեշտ է դարձնում: Դուք իսկապես կարող եք ամենուր գտնել զոդման սարք, բայց սա այն է, որի հետ ես հաջողության եմ հասել:
  • Հոսք - Ինձ իսկապես դուր են գալիս այս հոսքի գրիչները, բայց դուք իսկապես կարող եք օգտագործել ցանկացած ձևի հոսք, քանի դեռ այն առանց թթուների է:
  • Oldոդման երկաթ/կայան - դրանք կարող եք բավականին էժան գնել eBay- ում և Amazon- ում, չնայած զգուշացեք. Հիասթափությունը գնի հետ հակառակն է փոխվում: Իմ էժան ($ 25) Stahl SSVT- ը տևում է բացարձակապես ընդմիշտ տաքանալու համար, գրեթե չունի ջերմային հզորություն, և լսելի է 60 Հց ձայնային ձայն, որը բխում է ջեռուցման տարրից: Վստահ չեմ, թե ինչպես եմ ես վերաբերվում դրան:
  • Օգնող ձեռք - Սրանք անգնահատելի գործիքներ են, որոնք գրեթե անհրաժեշտ են զոդման համար, և դրանք օգնում են, երբ բանը հասնում է ակրիլային ձողերին սոսնձելուն:
  • Էպոքսիդ - Ես օգտագործել եմ Loctite Epoxy- ը պլաստմասսայի համար, որը բավականին լավ է աշխատել: Երբ սխալմամբ մոլորակի բազուկներից մեկը (կցված է մոլորակի վրա) բետոնի վրա գցեցի, էպոքսիդը երկու մասերը միասին չէր պահում: Բայց նորից, ես նրան տվել էի առաջարկված 24 ժամից մոտ 15 -ը միայն լիարժեք բուժվելու համար: Այսպիսով, գուցե դա այլ կերպ չէր բաժանվի, բայց ես չեմ կարող ասել: Անկախ ամեն ինչից, կարող եք օգտագործել ցանկացած սոսինձ կամ սոսինձ, որի բուժումը տևում է ավելի քան մի քանի րոպե, քանի որ սոսինձը քսելուց հետո գուցե ձեզ անհրաժեշտ լինի մի փոքր ճշգրտումներ կատարել:
  • Ատամնափայտեր - Ձեզ անհրաժեշտ կլինեն դրանք (կամ ցանկացած մեկանգամյա խառնիչ) էպոքսիդ կամ ցանկացած 2 մասից բաղկացած սոսինձի համար, եթե այն չի պարունակում կիրառիչ, որը խառնում է երկու մասերը ձեզ համար:
  • 3D տպիչ - դրանք օգտագործել եմ հանդերձանքի համակարգի որոշ մասեր (ներառված ֆայլերը) տպելու համար, բայց եթե կարող եք այդ մասերը սարքել այլ (գուցե ավելի քիչ ծույլ) մեթոդներով, ապա դա անհրաժեշտ չէ:
  • Լազերային դանակ. Ինչպես նախորդ կետը, եթե կարող եք մասերը պատրաստել այլ մեթոդով (դրանք հեշտությամբ կարելի է կտրել այլ մեթոդների միջոցով), ապա դա անհրաժեշտ չէ:

Ծրագրային ապահովում

  • Ձեզ հարկավոր կլինի կամ Arduino IDE, կամ AVR-GCC և AVRDude ինքնուրույն տարբերակներ
  • Android Studio կամ Android Tools Eclipse- ի համար (որը հնացած է): Սա շուտով կամընտիր կլինի, քանի որ ես կարող եմ հավաքված APK- ն վերբեռնել Play Store

Ընդհանուր արժեքը

Բոլոր մասերի (առանց գործիքների) ընդհանուր արժեքը կազմում է մոտ $ 50: Այնուամենայնիվ, թվարկված գներից շատերը յուրաքանչյուրից ավելի քան 1 հատի համար են: Եթե հաշվեք միայն, թե յուրաքանչյուր նյութից որքան է օգտագործվում այս նախագծի համար, ապա արդյունավետ ընդհանուր արժեքը կազմում է մոտ $ 35: Ամենաթանկարժեք իրը պարիսպն է ՝ ընդհանուր արժեքի գրեթե մեկ երրորդով: MAKE դասընթացի համար մեզանից պահանջվում էր տուփը ներառել մեր նախագծի նախագծերի մեջ, ուստի դա անհրաժեշտություն էր: Բայց եթե դուք փնտրում եք այս նախագծի ծախսերը նվազեցնելու հեշտ միջոց, ապա ստուգեք ձեր տեղական խոշոր արկղերի մանրածախ վաճառողը. նրանք, ամենայն հավանականությամբ, կունենան տուփերի լավ ընտրություն, որոնք ավելի էժան են, քան ձեր սովորական «էլեկտրոնիկայի պարիսպը»: Կարող եք նաև պատրաստել ձեր սեփական մոլորակները (փայտե գնդերը մեկ տասնյակ են) և նկարել աստղերի վրա ՝ նախապես պատրաստված պլաստիկից օգտվելու փոխարեն: Դուք կարող եք ավարտել այս նախագիծը 25 դոլարից պակաս գումարով:

Նշումներ

  1. Կարող եք նաև օգտագործել այն, ինչ ցանկանում եք որպես «մոլորակներ»: Դուք նույնիսկ կարող եք նկարել ձեր սեփականը:
  2. Ես բավականին վստահ եմ, որ կա՛մ այս չիպերը նախապես բեռնված չեն Arduino R3 բեռնիչով, ինչպես ասում էին, կա՛մ ծրագրավորման սխալ կա: Անկախ ամեն ինչից, մենք ավելի ուշ կքանդենք նոր բեռնախցիկ:
  3. Ես խստորեն խորհուրդ կտամ համալրել ռեզիստորների և կոնդենսատորների (կերամիկական և էլեկտրոլիտիկ) տարատեսակ փաթեթներ/տեսականի: Այս կերպ դա շատ ավելի էժան է, և դուք կարող եք նաև արագ սկսել նախագիծը ՝ առանց սպասելու որոշակի արժեքի ժամանմանը:

Քայլ 2: Փոխանցման համակարգի պատրաստում

Gear համակարգի պատրաստում
Gear համակարգի պատրաստում
Gear համակարգի պատրաստում
Gear համակարգի պատրաստում
Gear համակարգի պատրաստում
Gear համակարգի պատրաստում

Ըստ էության, բոլոր խոռոչ սյուները բույն են դնում միմյանց ներսում և ցուցադրում իրենց հանդերձանքը տարբեր բարձունքների վրա: Այնուհետև տափաստանային շարժիչներից յուրաքանչյուրը տեղադրվում է տարբեր բարձրության վրա, որոնցից յուրաքանչյուրը շարժում է այլ սյունակ: Շարժիչի չափաբաժինը 2: 1 է, ինչը նշանակում է, որ յուրաքանչյուր քայլող շարժիչ պետք է կատարի երկու ամբողջական պտույտ, նախքան իր սյունակը մեկ կատարի:

Բոլոր 3D մոդելների համար ես ներառել եմ STL ֆայլեր (տպագրության համար), ինչպես նաև Inventor մասի և հավաքման ֆայլեր (այնպես որ կարող եք ազատորեն փոփոխել դրանք): Արտահանման թղթապանակից ձեզ հարկավոր է տպել 3 աստիճանի շարժիչ և մնացած ամեն ինչից 1 -ը: Մասերը կարիք չունեն z առանցքի հիանալի նուրբ լուծման, չնայած մակարդակի մահճակալը կարևոր է այնպես, որ աստիճանաձև արագությունները հարմարավետ սեղմված լինեն, բայց ոչ այնքան ամուր, որ անհնար լինի բարձրանալ և իջնել: 10% -15% լցնելը կարծես լավ էր աշխատում:

Երբ ամեն ինչ տպագրվի, ժամանակն է հավաքել մասերը: Նախ, տեղադրեք սանդղակի շարժակները աստիճանական շարժիչների վրա: Եթե դրանք մի փոքր սեղմված են, ես պարզեցի, որ մուրճով թեթևակի հարվածելը շատ ավելի լավ է աշխատում, քան բութ մատներովս հրելը: Երբ դա արվի, շարժիչները մղեք հիմքի երեք անցքերի մեջ: Մի՛ մղեք նրանց մինչև վերջ, որովհետև գուցե անհրաժեշտ լինի հարմարեցնել նրանց բարձրությունը:

Երբ նրանք ամրացված են իրենց պահարաններում, Մերկուրիի սյունակը (ամենաբարձրը և ամենաբարակը) գցեք հիմնական սյունակի վրա, որին հաջորդում են Վեներան և Երկիրը: Կարգավորեք քայլերը այնպես, որ նրանք լավ զուգակցվեն երեք ավելի մեծ շարժակների հետ և այնպես, որ նրանք կապվեն միայն համապատասխան հանդերձանքի հետ:

Քայլ 3. Լազերային կտրում և սոսնձում ակրիլային ձողերը

Լազերային կտրում և սոսնձում ակրիլային ձողերը
Լազերային կտրում և սոսնձում ակրիլային ձողերը
Լազերային կտրում և սոսնձում ակրիլային ձողերը
Լազերային կտրում և սոսնձում ակրիլային ձողերը

Քանի որ ես ցանկանում էի, որ իմ մոլորակը լավ տեսք ունենա լույսի ներքո կամ մթության մեջ, որոշեցի գնալ հստակ ակրիլային շերտերով `մոլորակները բարձր պահելու համար: Այս կերպ նրանք չեն շեղվի մոլորակներից և աստղերից ՝ խոչընդոտելով ձեր տեսողությունը:

Իմ դպրոցի `DfX Lab- ի հիանալի տարածքի շնորհիվ ես կարողացա օգտագործել իրենց 80W CO2 լազերային դանակը` ակրիլային ձողերը կտրելու համար: Դա բավականին պարզ գործընթաց էր: Ես արտահանեցի Գյուտարարի նկարը որպես pdf, այնուհետև բացեցի և «տպեցի» pdf- ն Retina Engrave տպիչի վարորդին: Այնտեղից ես կարգավորեցի մոդելի չափը և բարձրությունը (TODO), սահմանեցի էներգիայի պարամետրերը (2 փոխանցում @ 40% հզորությունը կատարեց աշխատանքը) և մնացածը թողեց լազերային կտրիչը:

Ակրիլային ձողերը կտրելուց հետո, հավանաբար, դրանք փայլեցման կարիք կունենան: Դուք կարող եք դրանք փայլեցնել ապակու մաքրիչով (պարզապես համոզվեք, որ այն այստեղ չունի «N» - ով նշված քիմիական նյութերից) կամ օճառ և ջուր:

Դա անելուց հետո ձեզ հարկավոր է սոսնձել ձողերը մոլորակներից յուրաքանչյուրին: Ես դա արեցի Loctite Epoxy- ի հետ պլաստմասսայի համար: Այն 2 մասից բաղկացած էպոքսիդ է, որը ձգվում է մոտ 5 րոպեում, հիմնականում բուժվում է մեկ ժամից հետո և լիովին բուժվում է 24 ժամ հետո: Դա կատարյալ ժամանակացույց էր, քանի որ ես գիտեի, որ էպոքսիդ կիրառելուց հետո մի փոքր պետք կլինի մասերի դիրքերը հարմարեցնել: Բացի այդ, այն հատուկ առաջարկվում էր ակրիլային հիմքերի համար:

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

Այնուհետև երկուսը միասին պահեք և երկուսն էլ հարմարեցրեք մինչև հարմարավետ չզգաք, թե ինչպես են դրանք շարված: Դրա համար ես օգնության ձեռք տվեցի ՝ ակրիլային ձողը տեղում պահելու համար (ես երկու հղկաթուղթ դրեցի երկուսի միջև, հղկող կողմը ՝ կանխելու համար, որ ալիգատորը չի քերծի ձողը) և զոդի մալուխ ՝ մոլորակը անշարժ պահելու համար:.

Էպոքսիդն ամբողջությամբ բուժվելուց հետո (ես ընդամենը ժամանակ ունեի բուժելու համար մոտ 15 ժամ, բայց խորհուրդ էր տրվում 24 ժամ) կարող եք հեռացնել հավաքածուն օգնության ձեռքից և ստուգել մոլորակի սյուների համապատասխանությունը: Ակրիլային թիթեղների հաստությունը, որը ես օգտագործում էի, 2.0 մմ էր, այնպես որ ես հավասար չափի անցքեր եմ արել մոլորակի սյուների վրա: Դա չափազանց ամուր տեղավորում էր, բայց բարեբախտաբար, մի փոքր հղկելով, ես կարողացա սյուները սահեցնել ներս:

Քայլ 4. Օգտագործելով AT հրամաններ ՝ Bluetooth մոդուլի կարգավորումները փոխելու համար

Օգտագործելով AT հրամաններ ՝ Bluetooth մոդուլի կարգավորումները փոխելու համար
Օգտագործելով AT հրամաններ ՝ Bluetooth մոդուլի կարգավորումները փոխելու համար

Այս քայլը կարող է մի փոքր անսարք թվալ, բայց շատ ավելի հեշտ է, եթե դա անեք նախքան HC-05 bluetooth մոդուլը տախտակին միացնելը:

Ձեր HC-05- ը ձեռք բերելիս, ամենայն հավանականությամբ, կցանկանաք փոխել որոշ գործարանային պարամետրեր, ինչպիսիք են սարքի անունը (սովորաբար «HC-05»), գաղտնաբառը (սովորաբար «1234») և բաուդ արագությունը (իմը ծրագրավորվել է 9600 baud).

Այս պարամետրերը փոխելու ամենահեշտ ձևը ձեր համակարգչից անմիջապես մոդուլի հետ ինտերֆեյսն է: Դրա համար ձեզ հարկավոր է USB- ից TTL UART փոխարկիչ: Եթե ձեր շուրջը մեկն է պառկած, կարող եք օգտագործել դա: Կարող եք նաև օգտագործել այն, որն ունի ոչ USB Arduino տախտակներ (Uno, Mega, Diecimila և այլն): Duգուշորեն տեղադրեք փոքր գլխի պտուտակահան ATMega չիպի և վարդակի միջև Arduino տախտակի վրա, այնուհետև տեղադրեք հարթ գլուխը մյուս կողմից: Fullyգուշորեն մի փոքր բարձրացրեք չիպը յուրաքանչյուր կողմից, մինչև այն չամրացվի և հնարավոր լինի դուրս բերել վարդակից:

Այժմ bluetooth մոդուլը գնում է իր տեղը: Ձեր համակարգչից անջատված arduino- ով միացրեք Arduino RX- ը HC-05 RX- ին և TX- ը TX- ին: Vcc- ն HC-05- ով միացրեք Arduino- ի 5V- ին, իսկ GND- ը `GND- ին: Այժմ միացրեք HC-05- ի վիճակի/բանալին 10k դիմադրության միջոցով Arduino 5V- ին: Բանալին կապը բարձր քաշելը այն է, ինչը թույլ է տալիս թողարկել AT հրամաններ ՝ Bluetooth մոդուլի կարգավորումները փոխելու համար:

Այժմ միացրեք arduino- ն ձեր համակարգչին և վեր հանեք Serial Monitor- ը Arduino IDE- ից կամ TTY հրամանի տողից կամ TeraTerm- ի նման տերմինալային emulator ծրագիր: Փոխեք ձեր բաուդ փոխարժեքը 38400 -ի (կանխադրված AT հաղորդակցությունների համար): Միացրեք CRLF- ը (սերիական մոնիտորում սա «Երկու CR և LF» տարբերակն է, եթե դուք օգտագործում եք հրամանի տող կամ այլ ծրագիր, փնտրեք, թե ինչպես դա անել): Մոդուլը հաղորդակցվում է տվյալների 8 բիթերի, 1 կանգառի բիտի, առանց պարիտետի բիտի և հոսքի վերահսկման հետ (եթե դուք օգտագործում եք Arduino IDE- ն, դրա համար անհանգստանալու կարիք չկա):

Այժմ մուտքագրեք «AT», որին հաջորդում է վագոնի վերադարձը և նոր գիծը: Դուք պետք է հետ ստանաք «Լավ» պատասխանը: Եթե դա չեք անում, ստուգեք ձեր էլեկտրագծերը և փորձեք բաուդ տարբեր արագություններ:

Սարքի անունը «AT+NAME =» փոխելու համար, որտեղ է այն անունը, որը ցանկանում եք, որ HC-05- ը հեռարձակվի, երբ այլ սարքեր փորձում են զուգակցվել դրա հետ:

Գաղտնաբառը փոխելու համար մուտքագրեք «AT+PSWD =»:

Baud փոխարժեքը փոխելու համար մուտքագրեք «AT+UART =»:

AT հրամանների ամբողջական ցանկի համար տե՛ս այս տվյալների թերթիկը:

Քայլ 5. Շրջանի նախագծում

Շրջանի նախագծում
Շրջանի նախագծում

Շղթայի դիզայնը բավականին պարզ էր: Քանի որ Arduino Uno- ն չէր տեղավորվի փոխանցումատուփի տուփի մեջ, ես որոշեցի ամեն ինչ զոդել մեկ տախտակի վրա և օգտագործել միայն ATMega328- ը `առանց ATMega16U2 USB-to-uart փոխարկիչի, որը գտնվում է Uno տախտակներում:

Սխեմատիկայում կա չորս հիմնական մաս (բացառությամբ ակնհայտ միկրոկառավարիչի) `էներգիայի մատակարարումը, բյուրեղյա տատանումները, սլաքների շարժիչների շարժիչները և bluetooth մոդուլը:

Էներգամատակարարում

Էներգամատակարարումը գալիս է 3A 5V հոսանքի աղբյուրից, որը ես գնել եմ eBay- ից: Այն ավարտվում է 5.5 մմ OD, 2.1 մմ ID տակառի խրոցակով ՝ դրական ծայրով: Այսպիսով, ծայրը միանում է 5 Վ լարման, և զանգում գետնին: Կա նաև 1uF անջատիչ կոնդենսատոր `հոսանքի աղբյուրից ցանկացած աղմուկ հարթելու համար: Ուշադրություն դարձրեք, որ 5 Վ լարման մատակարարումը միացված է ինչպես VCC- ին, այնպես էլ AVCC- ին, իսկ գետինը միացված է և՛ GND- ին, և՛ AGND- ին:

Բյուրեղյա տատանումներ

Ես օգտագործել եմ 16 ՄՀց բյուրեղային տատանում և 2 22 pF կոնդենսատոր ՝ ըստ ATMegaXX8 ընտանիքի տվյալների թերթի: Սա միացված է միկրոկառավարիչի XTAL1 և XTAL2 կապումներին:

Stepper Motor վարորդներ

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

Bluetooth մոդուլ

HC-05- ի TX- ը միացված է միկրոկառավարիչի RX- ին, իսկ RX- ը TX- ին: Սա այնպես է, որ հեռավոր սարքից bluetooth մոդուլ ուղարկված ցանկացած բան կփոխանցվի միկրոկոնտրոլերի վրա և հակառակը: KEY pin- ը մնում է անջատված, որպեսզի մոդուլում պարամետրերի պատահական վերակազմավորում չլինի:

Նշումներ

Վերակայման քորոցի վրա տեղադրեցի 10k քաշվող դիմադրություն: Սա չպետք է անհրաժեշտ լինի, բայց ես մտածեցի, որ դա կարող է կանխել այն հնարավորությունը, որ վերակայման քորոցը ցածր լինի 2,5us- ից ավելի երկար: Հավանական չէ, բայց ամեն դեպքում կա:

Քայլ 6. Պլանավորում Stripboard- ի դասավորությունը

Stripboard- ի դասավորության պլանավորում
Stripboard- ի դասավորության պլանավորում

Շտրիպի վահանակի դասավորությունը նույնպես շատ բարդ չէ: ATMega- ն գտնվում է մեջտեղում, իսկ ավելի բարձր շարժիչով շարժիչներն ու bluetooth մոդուլը շարված են այն կապումներով, որոնց անհրաժեշտ է դրանք միացնել: Բյուրեղային տատանումն ու նրա կոնդենսատորները գտնվում են Stepper3- ի և HC-05- ի միջև: Մեկ անջատիչ կոնդենսատորը գտնվում է հենց այնտեղ, որտեղ էլեկտրամատակարարումը մտնում է տախտակ, իսկ մեկը `1 -ին և 2 -րդ աստիճանների միջև:

X- ն նշում է այն վայրը, որտեղ կապը խզելու համար հարկավոր է մակերեսային անցք փորել: Ես օգտագործեցի 7/64 դյույմ հորատիչ և փորեցի միայն մինչև փոսը այնքան լայն, որքան բիտ տրամագիծը: Սա ապահովում է, որ պղնձի հետքը լիովին բաժանվի, բայց դա խուսափում է ավելորդ հորատումներից և համոզվում է, որ տախտակը մնում է ամուր:

Կարճ միացումները կարող են իրականացվել զոդման կամրջի միջոցով կամ յուրաքանչյուր շարքին մի փոքր, չմեկուսացված պղնձե մետաղալարերի զոդման միջոցով: Ավելի մեծ թռիչքներ պետք է կատարվեն մեկուսացված մետաղալարով `տախտակի ներքևի կամ վերևի մասում:

Քայլ 7: Sոդում

Oldոդման
Oldոդման
Oldոդման
Oldոդման
Oldոդման
Oldոդման
Oldոդման
Oldոդման

Նշում. Սա չի լինի զոդման ձեռնարկ: Եթե նախկինում երբեք չեք զոդվել, YouTube- ը և Instructables- ը ձեր լավագույն ընկերներն են այստեղ: Կան անհամար հիանալի ձեռնարկներ, որոնք սովորեցնում են հիմունքներն ու ամենալավ կետերը (ես չեմ պնդում, որ գիտեմ ավելի նուրբ կետերը. Մինչև մի քանի շաբաթ առաջ ես ծծում էի զոդման):

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

Հաջորդ քայլը պետք է փորել բոլոր անցքերը, որոնք պետք է խզեն կապերը, եթե դա դեռ չեք արել:

Դա անելուց հետո, տախտակի վերևում ավելացրեք ցանկացած չմեկուսացված jumper լար: Եթե նախընտրում եք դրանք ունենալ ներքևում, կարող եք դա անել ավելի ուշ:

Ես առաջին հերթին զոդեցի IC վարդակից ՝ մնացած բաղադրիչների համար հղման կետ տալու համար: Համոզվեք, որ նշում եք վարդակի ուղղությունը: Կիսաշրջան գծանշումը պետք է ամենամոտ լինի 10k դիմադրողին: Քանի որ այն չի սիրում տեղում մնալուց առաջ, կարող եք (առաջին հերթին հոսք կիրառել) թիթեղացնել երկու հակառակ անկյունային բարձիկներ, իսկ վարդակը ներքևից տեղում պահելով ՝ նորից լցնել թիթեղը: Այժմ վարդակը պետք է մնա տեղում, որպեսզի կարողանաք կպցնել մնացած քորոցները:

Կապերով (այս դեպքում կոնդենսատորներ և դիմադրիչներ) ունեցող մասերի համար, մասերը մտցնելը, այնուհետև լարերը մի փոքր թեքելը, դրանք պետք է պահեն տեղում, երբ կպցնելը:

Այն բանից հետո, երբ ամեն ինչ կպցվի տեղում, կարող եք օգտագործել փոքր խորտիկներ (կամ քանի որ ես չունեի մոտս, եղունգների հին մեխիչ) `լարերը կտրելու համար:

Հիմա, սա ամենակարևոր մասն է: Ստուգեք, կրկնակի և եռակի ստուգեք բոլոր կապերը: Շրջեք տախտակի շուրջ շարունակականության հաշվիչով `համոզվելու համար, որ ամեն ինչ միացված է, որը պետք է միացված լինի, և ոչինչ կապված չէ, որ չպետք է լինի:

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

Նշում

Sոդման հոսքը պետք է վերանշանակվի որպես «Բառացիորեն կախարդական»: Եթե լուրջ, հոսքը իրերը կախարդական է դարձնում: Կիրառեք այն առատորեն ցանկացած պահի, նախքան զոդելը:

Քայլ 8: Bootloader- ի այրում ATMega- ում

Bootloader- ի այրում ATMega- ում
Bootloader- ի այրում ATMega- ում

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

Հետևյալ հրահանգները վերցվել են arduino.cc- ի ձեռնարկից:

  1. Վերբեռնեք ArduinoISP էսքիզը ձեր Arduino տախտակին: (Դուք պետք է ընտրեք տախտակը և սերիական նավահանգիստը Գործիքների ցանկից, որոնք համապատասխանում են ձեր տախտակին)
  2. Միացրեք Arduino- ի տախտակը և միկրոկոնտրոլերը, ինչպես ցույց է տրված աջ գծապատկերում:
  3. Գործիքներ> Տախտակի ընտրացանկից ընտրեք «Arduino Duemilanove կամ Nano w/ ATmega328»:(Կամ «ATmega328 տախտակի վրա (8 ՄՀց ներքին ժամացույց)», եթե օգտագործում եք ստորև նկարագրված նվազագույն կազմաձևը):
  4. Գործարկեք Գործիքներ> Burn Bootloader> w/ Arduino- ով որպես ISP: Պետք է միայն մեկ անգամ այրել bootloader- ը: Դա անելուց հետո կարող եք հեռացնել թռիչքային լարերը, որոնք կապված են Arduino տախտակի 10, 11, 12 և 13 կապումներին:

Քայլ 9. Arduino ուրվագիծը

Իմ ամբողջ ծածկագիրը հասանելի է GitHub- ում: Ահա Arduino էսքիզը GitHub- ում: Ամեն ինչ ինքնաբերաբար փաստաթղթավորված է, և այն պետք է համեմատաբար պարզ լինի հասկանալ, եթե նախկինում աշխատել եք Arduino գրադարանների հետ:

Ըստ էության, այն ընդունում է UART ինտերֆեյսի մուտքի տող, որը պարունակում է մոլորակներից յուրաքանչյուրի թիրախային դիրքերը ՝ աստիճաններով: Այն զբաղեցնում է այս աստիճանի դիրքերը և գործարկում է քայլող շարժիչները ՝ յուրաքանչյուր մոլորակ իր նպատակային դիրքը տեղափոխելու համար:

Քայլ 10. Arduino Sketch- ի վերբեռնում

Վերբեռնեք Arduino էսքիզը
Վերբեռնեք Arduino էսքիզը

Հետևյալը հիմնականում պատճենված է ArduinoToBreadboard- ից arduino.cc կայքում:

Երբ ձեր ATmega328p- ում տեղադրվի Arduino բեռնիչը, կարող եք ծրագրեր վերբեռնել դրան ՝ օգտագործելով USB- սերիական փոխարկիչ (FTDI չիպ) Arduino տախտակի վրա: Որպեսզի դա արվի, դուք հեռացնում եք միկրոկառավարիչը Arduino- ի տախտակից, որպեսզի FTDI չիպը կարողանա դրա փոխարեն խոսել հացահատիկի վրայի միկրոկոնտրոլերի հետ: Վերևի դիագրամը ցույց է տալիս, թե ինչպես կարելի է միացնել RX և TX տողերը Arduino տախտակից մինչև հացաթղթի վրա գտնվող ATmega- ն: Միկրոկառավարիչը ծրագրավորելու համար Գործիքներ> Տախտակ ընտրացանկից ընտրեք «Arduino Duemilanove կամ Nano w/ ATmega328»: Հետո վերբեռնեք ինչպես միշտ:

Եթե դա ապացուցում է, որ դա չափազանց մեծ աշխատանք է, ապա այն, ինչ ես արեցի, պարզապես ATMega- ն տեղադրելն էր DIP28 վարդակից ամեն անգամ, երբ անհրաժեշտ էր այն ծրագրավորել, իսկ հետո հանել: Քանի դեռ զգույշ եք և մեղմ քորոցների հետ, այն պետք է լավ լինի:

Քայլ 11: Android հավելվածի կոդը

Ինչպես Arduino կոդը, այնպես էլ իմ Android կոդը այստեղ է: Կրկին, դա ինքնին փաստաթղթավորված է, բայց ահա կարճ ակնարկ:

Այն օգտվողից վերցնում է ամսաթիվ և հաշվարկում, թե որտեղ էին/կլինեն/կլինեն Մերկուրին, Վեներան և Երկիրը այդ ամսաթվին: Ավելի պարզ դարձնելու համար կեսգիշեր է ենթադրվում, բայց գուցե շուտով ժամանակին կավելացնեմ աջակցությունը: Այն կատարում է այս հաշվարկները ՝ օգտագործելով AstroLib անունով հիանալի Java գրադարան, որը կարող է ավելին անել, քան այն, ինչի համար ես այն օգտագործում եմ: Երբ նա ունենա այս կոորդինատները, այն ուղարկում է միայն երկայնությունը (այն «դիրքը», որը դուք սովորաբար մտածում եք, երբ նկատի ունեք մոլորակների ուղեծրերը) մոլորակներից յուրաքանչյուրի համար կապտուկի մոդուլ: Այդքան պարզ է:

Եթե ցանկանում եք ինքներդ կառուցել նախագիծը, նախ պետք է ձեր հեռախոսը դնեք մշակողի ռեժիմ: Դրա հրահանգները կարող են կախված լինել ձեր հեռախոսի արտադրողից, սարքի մոդելից ինքնին, եթե գործածում եք հատուկ ռեժիմ և այլն; բայց սովորաբար, գնալ Պարամետրեր -> Հեռախոսի մասին և 7 անգամ հպել «Կառուցել համարը», պետք է դա անեք: Դուք պետք է կենաց ծանուցում ստանաք ՝ ասելով, որ դուք միացրել եք մշակողի ռեժիմը: Այժմ գնացեք Կարգավորումներ -> Մշակողի ընտրանքներ և միացրեք USB կարգաբերում: Այժմ միացրեք ձեր հեռախոսը համակարգչին ՝ օգտագործելով լիցքավորում + տվյալների USB մալուխ:

Այժմ ներբեռնեք կամ կլոնավորեք նախագիծը GitHub- ից: Տեղականորեն ստանալուց հետո այն բացեք Android Studio- ում և կտտացրեք Run (կանաչ խաղային կոճակը վերևի գործիքագոտում): Ընտրեք ձեր հեռախոսը ցանկից և կտտացրեք OK: Ձեր հեռախոսում այն կհարցնի ՝ վստահու՞մ եք համակարգչին, որին միացված եք: Կտտացրեք «այո» (կամ «միշտ վստահեք այս համակարգչին», եթե դա ձեր սեփական, ապահով մեքենան է): Հավելվածը պետք է հավաքվի, տեղադրվի ձեր հեռախոսի վրա և բացվի:

Քայլ 12: Օգտագործելով ծրագիրը

Հավելվածի օգտագործումը բավականին պարզ է:

  1. Եթե դուք արդեն չեք զուգակցել HC -05- ը ձեր հեռախոսի հետ, դա արեք Կարգավորումներ -> Bluetooth:
  2. Վերին աջ անկյունում գտնվող ընտրանքների ցանկից կտտացրեք «միացնել»:
  3. Ընտրեք ձեր սարքը ցանկից
  4. Մի քանի վայրկյան հետո դուք պետք է ծանուցում ստանաք, որ այն միացված է: Եթե ոչ, ստուգեք, որ Պլանետարիումը միացված է, և ոչ թե կրակին:
  5. Ընտրեք ամսաթիվ: Ոլորեք վեր և վար ամսվա, օրվա և տարվա համակցված ընտրիչների վրա և օգտագործեք սլաքների կոճակները ՝ միաժամանակ 100 տարով հետ կամ առաջ ցատկելու համար:
  6. Հպեք ուղարկել!

Դուք պետք է տեսնեք, որ այս պահին Պլանետարիումը սկսում է շարժել իր մոլորակները: Եթե ոչ, համոզվեք, որ այն միացված է:

Քայլ 13: Վերջնական դիտողություններ

Լինելով իմ առաջին շոշափելի նախագիծը, դա թերագնահատում է ասել, որ ես շատ բան եմ սովորել: Լուրջ, այն ինձ սովորեցրեց ամեն ինչի մասին ՝ կոդի վերանայման սպասարկումից, զոդումից, նախագծերի պլանավորումից, վիդեո խմբագրումից, եռաչափ մոդելավորումից, միկրոկոնտրոլերներից,… Դե, ես կարող եմ շարունակել:

Խնդիրն այն է, որ եթե գնում եք USF (Go Bulls!), Եվ հետաքրքրված եք այս տեսակի իրերով, մասնակցեք MAKE դասընթացին: Եթե ձեր դպրոցը նման բան է առաջարկում, վերցրեք այն: Եթե դպրոցում չեք կամ նման դասարան չունեք, պարզապես պատրաստեք ինչ -որ բան: Եթե լուրջ, սա ամենադժվար քայլն է: Գաղափարներ ստանալը դժվար է: Բայց երբ գաղափար ունեք, վազեք դրա հետ: Մի ասեք «օ, դա հիմարություն է» կամ «ախ, ժամանակ չունեմ»: Պարզապես շարունակեք մտածել, թե ինչը կդարձնի այդ գաղափարը հիանալի և կատարեք այն:

Բացի այդ, գուգլեք ՝ տեսնելու, թե արդյոք ձեր կողքին հակերային տարածք կա: Եթե դուք հետաքրքրված եք ապարատային և ծրագրային ապահովման նախագծերով, բայց չգիտեք, թե որտեղից սկսել, սա հիանալի վայր է սկսելու համար:

Հուսով եմ, որ ձեզ դուր եկավ այս հրահանգը:

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