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

ARCA (հիասքանչ հեռակառավարվող Android) ՝ 4 քայլ (նկարներով)
ARCA (հիասքանչ հեռակառավարվող Android) ՝ 4 քայլ (նկարներով)

Video: ARCA (հիասքանչ հեռակառավարվող Android) ՝ 4 քայլ (նկարներով)

Video: ARCA (հիասքանչ հեռակառավարվող Android) ՝ 4 քայլ (նկարներով)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Հուլիսի
Anonim
ARCA (հիասքանչ հեռակառավարվող Android)
ARCA (հիասքանչ հեռակառավարվող Android)
ARCA (հիասքանչ հեռակառավարվող Android)
ARCA (հիասքանչ հեռակառավարվող Android)
ARCA (հիասքանչ հեռակառավարվող Android)
ARCA (հիասքանչ հեռակառավարվող Android)

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

ARCA- ն հիասքանչ հեռակառավարվող Android է, որն աներևակայելի հաճելի է կառուցել և խաղալ: Այս նախագծի նպատակն էր ստեղծել այնպիսի բան, որը որևէ մեկին կհասկանա և կհամապատասխանի ՝ ստեղծելով և՛ գրավիչ, և՛ ֆունկցիոնալ ռոբոտ:

Ռոբոտը գործում է ՝ ցուցադրելով տարբեր հույզեր 8 -ից 8 LED մատրիցով: Այս հույզերը ներառում են ուրախություն, քուն, սեր, բարկություն, հիմարություն և վերև, ձախ և աջ հայացք: Ռոբոտը գործում է նաև RC մեքենայի պես և կարող է առաջ գնալ և թեքվել ձախ կամ աջ: Ռոբոտը առաջ է շարժվում ՝ անիվի երկու շարժիչներն ակտիվացնելով, աջ շարժիչը միացնելով թեքվում է ձախ, իսկ ձախ շարժիչը միացնելով ՝ աջ: Դիզայնը շատ պարզեցված է, բայց այն պարզապես աշխատում է, և ես ուզում էի մեծ ուշադրություն դարձնել Arduino- ի ծրագրավորման վրա, քանի որ ես հոգով ծրագրավորող եմ:

Այս ձեռնարկում օգտագործվող բոլոր ֆայլերի վերջին տարբերակները կարելի է գտնել իմ Github ARCA շտեմարանում:

Քայլ 1: Մասերի ցուցակ և 3D տպագրություն

Մասերի ցուցակ և 3D տպագրություն
Մասերի ցուցակ և 3D տպագրություն
Մասերի ցուցակ և 3D տպագրություն
Մասերի ցուցակ և 3D տպագրություն

Այս նախագծի մասերը կարող են կամ 3D տպագրվել, կամ գնվել առցանց: Երբ մտածում էի հավաքների մասին, ես ուզում էի արդյունավետությունը դարձնել առանցքային և նաև փորձել (ոչ բառացիորեն) անիվը նորից հորինել: Այս նախագծի համար օգտագործվող 3D տպիչը Makerbot Replicator- ն էր, եթե ցանկանում եք համոզվել, որ ձեր 3D տպումները համապատասխանում են իմին, ապա օգտագործեք այս տպիչը:

Կառուցվածքային բաղադրիչներ

  • Անիվների և թևերի համար կողքերով անցք ունեցող տուփ
  • Տուփի կափարիչ ՝ հետևի անիվների համար անցքերով և IR սենսորի համար անցքով
  • Ձախ թև
  • Աջ թև
  • Առանցք երկու հետևի անիվների համար
  • երկու առանցքային միակցիչ `կափարիչը առանցքին միացնելու համար
  • 4 անիվ (շարժիչները նույնպես ներառված են այս հղման մեջ)
  • Փոքր պտուտակներ (տեղավորվում են շարժիչների մեջ)

Էլեկտրական բաղադրիչներ

  • Արդուինո Ունո
  • Փոքր հացաթուղթ (ես գնել եմ Arduino- ի հավաքածուն և այն եկել է դրա հետ միասին)
  • Երկու MAX7219 Red Dot մատրիցա MCU հսկողությամբ
  • Ինֆրակարմիր ընդունիչ և հեռակառավարիչ
  • Երկու TIP 120 տրանզիստոր
  • Լարերի միացում (ես օգտագործել եմ շատ արու էգ մետաղալարեր, ինչպես նաև արու ՝ արու և խորհուրդ եմ տալիս երկար լարեր ստանալ ի տարբերություն կարճ լարերի)
  • մեկ 220 օմ դիմադրություն
  • Երկու փոխանցման շարժիչ
  • USB միացնող էներգիայի տուփեր (բջջային հեռախոսների համար օգտագործվող շարժական սարքերը)

Քայլ 2: Հավաքում

Ժողով
Ժողով
Ժողով
Ժողով
Ժողով
Ժողով

Կառուցվածքային ժողով

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

Անիվները որոշակի թեթև ճշգրտման կարիք ունեն, դրանք ավելի շատ պետք է հորատվել, որպեսզի տեղավորվեն առանցքի հետևի և առջևի պտուտակների չափերը: Անիվների անցքերի միջով անցք կատարելու համար օգտագործեք 6 մմ տրամաչափիչ ՝ անիվների ավելի մեծ անցքեր բացելու համար:

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

Մնացած ժողովը բավականին ուղիղ է.

  1. Կցեք առանցքի ամրակները տուփի կափարիչի հետևի մասում ՝ ամրացնելով էպոքսիդով
  2. Անցեք առանցքը առանցքակալների միջով
  3. Անիվները կպցրեք առանցքին ՝ օգտագործելով հեղուկ բետոն
  4. Ձեռքերը դրեք վերին անցքերի միջով և էպոքսիդով սոսնձեք ձեռքի ամրակին
  5. Պտուտակեք տուփի կափարիչը տուփի մեջ
  6. Օգտագործեք էլեկտրական ժապավեն տուփի ներքևի մասում, որտեղ գտնվում են անիվները

Էլեկտրական ժողով

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

Իմ տախտակի հետևի մասում կպչուն պատյան կար, բայց այն կպցնելու համար կարող եք օգտագործել էլեկտրական ժապավեն, եթե ձերն այդպես չէ: Էլեկտրական ժապավենը օգտագործվել է նաև էլեկտրական բաղադրիչները տախտակի վրա ամրացնելու համար `անվտանգության նկատառումներից ելնելով: MCU- ները LED էկրաններով ամրացված էին աչքի խոռոչի հետևի մասում `օգտագործելով էլեկտրական ժապավեն, իսկ շարժիչները նույնպես ամրացված էին տուփի կողերին` անցքերին մոտ `օգտագործելով էլեկտրական ժապավեն: Ես օգտագործեցի կարմիր էլեկտրական ժապավեն ՝ այն ավելի անտեսանելի դարձնելու համար, և խորհուրդ եմ տալիս օգտագործել ARCA- ի ձեր տարբերակին նման գույն ունեցող էլեկտրական ժապավեն:

Հացաթուղթը և կապում տեղադրված են այս Fritzing պատկերի նման: Եթե ցանկանում եք ավելացնել այս դիագրամին ARCA- ն հարմարեցնելու համար, կարող եք ներբեռնել Fritzing ֆայլը իմ Github պահոցում և խմբագրել այն ձեր սրտով:

Ես լարերը ամրացրել եմ փոխանցման շարժիչների օղակներին ՝ լարերը թեքելով օղակների շուրջը, դրանք ամրացված պահելու համար: Հավանաբար, ավելի լավ կլինի այդ կապերը կպցնել, եթե դուք ունեք զոդման երկաթ, բայց սա հեշտ լուծում է, եթե չունեք:

Էլեկտրաէներգիայի փաթեթը կցված է նույն լարին, որն օգտագործվում է Arduino- ն համակարգչին միացնելու համար `ձեր ծրագիրը ներբեռնելու համար, և այն պարզապես կորած է ռոբոտի մեջ, որպեսզի այն հեշտությամբ հեռացվի և լիցքավորվի:

Քայլ 3: Programրագրավորում

Ծրագրավորում
Ծրագրավորում

Ահա այն կոդը, որը կարող եք վերբեռնել ձեր ARCA- ում, որպեսզի այն գործի իմի պես: Ձեզ անհրաժեշտ են նաև հետևյալ երկու գրադարանները `կոդն օգտագործելու համար:

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

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

Հաջորդը, ես սահմանեցի զգացմունքները, հայտարարեցի IR օբյեկտի համար անհրաժեշտ օբյեկտների և 8 -ից 8 LED էկրանների համար և որոշեցի որոշ գլոբալ փոփոխականներ: Theգացմունքները հայտարարվում են բայթ զանգվածում, որտեղ զանգվածի վեցանկյուն համարներից յուրաքանչյուրը ներկայացնում է ստացված 8 -ից 8 -ի տողերը: Ձեր անհատական հույզերը ստեղծելու համար խորհուրդ եմ տալիս նկարել ձեր ուզած զգացմունքները 8 -ից 8 ցանցում, այնուհետև գրել յուրաքանչյուր տողում 8 բիթանոց երկուական համար, որտեղ անջատված լույսը 0 է, իսկ լույսը `1, այնուհետև ստեղծել դրանից վեց տասնորդական թիվ և տեղադրեք այն երկարության զանգվածում: Ես նաև որոշ գլոբալ փոփոխականներ եմ սահմանել, որոնք կօգտագործվեն օղակում. թարթման մեխանիզմի փոփոխականները և ցուցիչները ՝ զգացմունքները պահելու և դրանք չեզոքից սկսելու համար:

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

Օղակի մեջ այն էապես սպասում է, որ IR ազդանշանը փոխի ռոբոտի ստատուս քվոն: Այսպիսով, եթե IR ազդանշան է ստացվում և այն համընկնում է հատուկ կոճակի կոդերից մեկի հետ, ապա եթե հայտարարությունը գործարկվում է և համապատասխանաբար սահմանում է ձախ և աջ աչքերի արժեքները զգացմունքների համար: Եթե շարժման կոճակը սեղմվում է, ինչպես ձախ, աջ, առաջ և OK, ապա կապումներն թվայնորեն գրված են միացված կամ անջատված `կախված սեղմված կոճակից: Պարզապես նշեք IR ընդունիչի կոդերի մասին. IR հեռավոր գրադարանում կա օրինակելի կոդ, որը կտա ձեր հեռակառավարման վեցանկյուն կոդերը, եթե կոճակները սեղմելիս ոչինչ չի կատարվում, ապա բացեք այս ծրագիրը `համոզվելու համար, որ կոդերը ճիշտ են: Մնում է փոխել վեցանկյուն թիվը, որն անցնում է յուրաքանչյուր կոճակի հետ:

Ի վերջո, դուք ունեք այն գործառույթը, որը տպագրում է զգացմունքները 8 -ից 8 էկրաններին: Սա օգտագործում է LED կառավարման գրադարանից setRow գործառույթները և պարզապես անցնում է ձեր ստեղծած զանգվածների միջոցով և համապատասխանաբար սահմանում տողերը: Այն ընդունում է երկու պարամետր ՝ ձախ աչքի զանգվածը և աջ աչքի զանգվածը: Սա կարող է լինել կամ բայտ ցուցիչ, կամ բայթի զանգված (այսինքն ՝ «չեզոք» անունը), որը գործում է որպես ցուցիչ:

Քայլ 4: Բոնուսային խորհուրդներ և հնարքներ

Բոնուսային խորհուրդներ և հնարքներ
Բոնուսային խորհուրդներ և հնարքներ

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

  • Կան բազմաթիվ առցանց ռեսուրսներ Arduino- ի համար, և իմ կարծիքով ամենաօգտակարը գալիս է Arduino կայքից `դրանց հստակ և հակիրճ ծածկագրերի օրինակների շնորհիվ:
  • Մի հայտնագործեք անիվը, կան բազմաթիվ հավաքածուներ և նախապես կառուցված կտորներ, որոնք կարող եք օգտագործել ձեր նախագիծը հեշտացնելու համար: Ես ծրագրավորող եմ և ոչ թե մեխանիկական ինժեներ, և ես դժվարությամբ էի փորձում հասկանալ, թե ինչպես եմ պատրաստվում այս ռոբոտին առաջ մղել, բայց հեշտ էր գտնել ինչ -որ բան գնել առցանց և այն կիրառել իմ դիզայնի մեջ: անիվ
  • Գրադարանները ձեր ընկերն են Arduino- ում, ինչպես նաև օբյեկտային կողմնորոշված բոլոր լեզուներում և դրանք գոյություն ունեն մի պատճառով: Paուգտկեք այն միկրոկառավարիչների հետ և 8-ից 8 LED- ով ծրագրելը պարզ է: Ես նախկինում ծրագրել եմ դրանցից մեկը ձեռքով, և միայն մեկը օգտագործում է Arduino- ի յուրաքանչյուր քորոց և պահանջում է մի տոննա կոդ: Շատ խառնաշփոթ և ոչ շատ զվարճալի:
  • 3D տպիչները հիանալի են, բայց կատարյալ չեն, և նորմալ է, որ ստիպված եք մանրացնել որոշ իրեր: Այս պատճառով 3D տպագրության ժամանակ նախընտրում եք ավելի մեծանալ, քանի որ շատ դեպքերում դուք կարող եք մի փոքր ավլել այն ՝ կատարյալ տեղավորվելու համար:
  • Էլեկտրաէներգիան կարող է խնդիր լինել, քանի որ ես մտածեցի էներգիայի օգտագործման մասին իրոք վերջին րոպեին և մտածեցի, որ 5 վ մարտկոցը կանի ամեն ինչ: Հետո, թվացյալ պատահականորեն, երբեմն շարժիչը կամ LED էկրանը չէին աշխատի: Երբ միացա էներգիայի փաթեթին, այլևս խնդիրներ չկային, չնայած ռոբոտի ներսում ավելի մեծ լինելուն:

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