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

OmniBoard: Skateboard և Hoverboard հիբրիդ ՝ Bluetooth վերահսկողությամբ. 19 քայլ (նկարներով)
OmniBoard: Skateboard և Hoverboard հիբրիդ ՝ Bluetooth վերահսկողությամբ. 19 քայլ (նկարներով)

Video: OmniBoard: Skateboard և Hoverboard հիբրիդ ՝ Bluetooth վերահսկողությամբ. 19 քայլ (նկարներով)

Video: OmniBoard: Skateboard և Hoverboard հիբրիդ ՝ Bluetooth վերահսկողությամբ. 19 քայլ (նկարներով)
Video: Hoverboard via aerial drone footage 2024, Հուլիսի
Anonim
OmniBoard: Skateboard և Hoverboard հիբրիդ ՝ Bluetooth կառավարման միջոցով
OmniBoard: Skateboard և Hoverboard հիբրիդ ՝ Bluetooth կառավարման միջոցով

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

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

Ես և իմ ընկերը որոշեցինք OmniBoard- ը կառուցել որպես զվարճալի վարժություն և մարտահրավեր, ինչպես նաև մասնակցենք Instructables- ի որոշ մրցույթների, մասնավորապես ՝ անիվների մարտահրավերին: Մենք ցանկանում էինք պատրաստել մի բան, որը նախկինում երբեք չի արվել, հիանալի է և օգտակար: Քանի որ հասարակական տրանսպորտի համակարգը հաճախ անվստահելի է, և քաղաքային երթևեկը սարսափելի է առավոտյան և ցերեկը աշխատանքի գնալ -վերադառնալիս, այլընտրանքային փոխադրամիջոցը, ինչպիսիք են հեծանիվը կամ սքեյթբորդը, օգտակար է: Էլեկտրական սքեյթբորդերն ու հեծանիվները օգտակար են երկարաժամկետ ճանապարհորդությունների համար, սակայն այս թեմայի համար արդեն կան բազմաթիվ սպառողական և DIY լուծումներ: Այսպիսով, մենք որոշեցինք նորից հորինել անիվը բառացիորեն և պատրաստել նոր և զվարճալի OmniBoard:

Քայլ 1: Գործիքներ և նյութեր

Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր

Drive համակարգ

  • (4) Omni Անիվներ
  • (4) 60 ատամի ճախարակ
  • (4) 20 ատամի ճախարակ
  • (4) GT2 ժամանակացույցի գոտի (մենք օգտագործեցինք 140 ատամ)
  • (8) 7 մմ ID, 19 մմ OD կրող*
  • (20) M5 (կամ նման չափի) մեքենայի պտուտակներ, մոտավորապես 25 մմ երկարությամբ*
  • (28) Ընկույզներ, նույն չափի, ինչպես հաստոցների պտուտակները*
  • (32) թիվ 2 փայտյա պտուտակներ, 3/8 "երկարությամբ*
  • (16) Անկյունային փակագծերը, նախընտրելի է չորս անցք, պետք է լինեն անկյունից մինչև պտուտակային անցք առնվազն 1/2 "*
  • 1'x2 'նրբատախտակի թերթ*
  • Սքեյթբորդի մակերես

Էլեկտրոնիկա:

Drive համակարգ

  • (4) DC շարժիչներ
  • (4) Էլեկտրոնային արագության կարգավորիչներ (ESC)
  • Էլեկտրաէներգիայի բաշխման խորհուրդ (ՊBԲ)
  • 16AWG Սիլիկոնե մետաղալար `կարմիր և սև
  • XT90 միակցիչ զուգահեռ պառակտիչ
  • XT90 միակցիչ արական պոչով
  • (8 զույգ) 4 մմ փամփուշտ միակցիչ
  • (4 զույգ) XT60 միակցիչներ
  • (2) LiPo մարտկոցներ

Հեռակառավարման վահանակ

  • Երկկողմանի կատարյալ տախտակ*
  • LM7805 Լարման կարգավորիչ*
  • 24AWG ամուր հիմնական լարեր - գույնի տեսականի*
  • HC-05 Bluetooth մոդուլ*
  • Arduino Uno v3*
  • (32 փին) Երկկողմանի արական կապի վերնագրեր*
  • (12 փին) Միակողմանի ալյուր Pin վերնագրեր*

Գործիքներ:

  • Sոդման կայան և oldոդիչ
  • Մետաղալար կտրիչներ
  • Մետաղալարեր
  • Տափակաբերան աքցան
  • Մկրատ
  • Հորատման բիթեր ՝ 1-3/8 ", 3/4", 1/4"

Սարքավորումներ

  • 3D տպիչ
  • Լազերային Դանակ
  • Band Saw
  • Հորատման մամլիչ

*Ստացվել է էլեկտրոնիկայի տեղական խանութից կամ սարքավորումների խանութից:

Քայլ 2: Ինչպես է այն աշխատում

Ինչպես է դա աշխատում
Ինչպես է դա աշխատում

Omniboard- ը էլեկտրական սքեյթբորդ և սավառնել է մեկում: Այն ունակ է շարժվել առաջ և հետ, կողք կողքի և պտտվել, այս ամենը կառավարվում է ձեր հեռախոսի ջոյսթիքով:

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

Քայլ 3. Օմնի անիվների առանցքների հավաքում

Omni անիվի առանցքների հավաքում
Omni անիվի առանցքների հավաքում
Omni անիվի առանցքների հավաքում
Omni անիվի առանցքների հավաքում
Omni անիվի առանցքների հավաքում
Omni անիվի առանցքների հավաքում
Omni անիվի առանցքների հավաքում
Omni անիվի առանցքների հավաքում

Մասերը, որոնք ձեզ հարկավոր են առանցքները հավաքելու համար, հետևյալն են.

  • (8) 3D տպագրությամբ առանցքակալների տարածիչ
  • (4) 3D տպագրությամբ մեծ ճախարակ հեռացնող
  • (8) կրող
  • (4) Omni անիվ
  • (4) մեծ ճախարակ
  • (4) 3x3x80 մմ բանալին

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

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

Քայլ 4. Օմնի անիվների բեռնատար մեքենաների կտրում և հորատում

Image
Image
Omni անիվների բեռնատար մեքենաների կտրում և հորատում
Omni անիվների բեռնատար մեքենաների կտրում և հորատում
Omni անիվների բեռնատար մեքենաների կտրում և հորատում
Omni անիվների բեռնատար մեքենաների կտրում և հորատում
Omni անիվների բեռնատար մեքենաների կտրում և հորատում
Omni անիվների բեռնատար մեքենաների կտրում և հորատում

Այստեղ է, որ ձեր լազերային կտրիչն ու 3/8 հաստ նրբատախտակն օգտակար են: Շրջանակը լազերային կտրելու CAD- ի համար կցված է.dxf ձևաչափով:

Հաջորդը դուք երկու անցք կհորատեք փոքրիկ խաչերի վրա, որոնք լազերային կտրիչը կթողնի նրբատախտակի վրա: Մի փոքր ավելի փոքր խաչը կփորվի ճանապարհի 3/4 «բիթով միայն 1/4» -ով, մինչդեռ ավելի մեծ խաչը 1-3/8 "բիթով ամբողջ ճանապարհով: Դա շատ կարևոր է որ կես կտորների մասին հիշում եք, որ մի կողմից կտրեք 3/4 դյույմ անցքերը, իսկ մյուս կեսը ՝ մյուս կողմից: Հաջորդը, 3/4 "անցքերի մեջտեղում անցեք ավելի փոքր 3/8" անցք, ամբողջ շերտով, որը նախկինում չեք կտրել:

Ի վերջո, անկյունային փակագծերը պտուտակիր ուղղանկյուն կտորների ավելի կարճ կողմերին: Դուք ունեք գրեթե այն ամենը, ինչ ձեզ հարկավոր է այժմ ՝ ամենագնաց բեռնատարներ հավաքելու համար:

Քայլ 5. Omni անիվների բեռնատարների հավաքում

Omni անիվների բեռնատարների հավաքում
Omni անիվների բեռնատարների հավաքում
Omni անիվների բեռնատարների հավաքում
Omni անիվների բեռնատարների հավաքում
Omni անիվների բեռնատարների հավաքում
Omni անիվների բեռնատարների հավաքում

Այժմ մենք կարող ենք ավարտել բեռնատարի հավաքումը: Ձեզ անհրաժեշտ կլինեն մասերը վերջին երկու քայլերից ՝ գումարած.

  • (4) ingամացույցի գոտի
  • (4) 3D տպագրությամբ փոքր ճախարակի միջնորմ
  • (4) Փոքր ճախարակ
  • (4) շարժիչ

Նրբատախտակի յուրաքանչյուր կողմը սահեցրեք առանցքակալների վրա: Եթե 3/4 անցքերը հեշտությամբ չեն տեղավորվում առանցքակալների վրա, դրանք օգտագործեք Dremel- ով` դրանք մի փոքր ավելի լայնացնելու համար: Երբ դրանք տեղավորվեն, ճախարակը դրեք դուրս ցցված ստեղնաշարի վրա և ամրացրեք ամրացված պտուտակները: Պտուտակեք ուղղանկյուն կտորը omni անիվից վերև:

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

Հաջորդը, մենք կտեղավորենք շարժիչները: 1-3/8 անցքերը մի փոքր շատ փոքր են, այնպես որ կամաց-կամաց մանրացրեք ներքին շրջանակը Dremel- ով, մինչև շարժիչը սերտորեն տեղավորվի ներսում: carefulգույշ եղեք, որ շարժիչը ուժի մեջ չմտնի և դեֆորմացվի: Շարժիչը դիրքում դնելուց հետո գոտին սահեցրեք փոքր ճախարակների վրայով, այնուհետև փոքր ճախարակները ՝ դրանց անջատիչների վրայով և 3.175 մմ տրամագծով շարժիչի լիսեռի վրա: Սեղմեք ամրացված պտուտակները:

Խտության և համաչափության համար դուք կցանկանաք ճախարակներն ու գոտիները բեռնատարի մի կողմում դնել երկուսի համար, իսկ մյուս կողմը `մյուս երկուսի համար:

Քայլ 6: Տեղադրեք Skateboard հարթակ

Մոնտաժ դեպի Skateboard հարթակ
Մոնտաժ դեպի Skateboard հարթակ
Մոնտաժ դեպի Skateboard հարթակ
Մոնտաժ դեպի Skateboard հարթակ
Մոնտաժ դեպի Skateboard հարթակ
Մոնտաժ դեպի Skateboard հարթակ

Այժմ մենք բեռնատարները կցելու ենք սքեյթբորդի հարթակին: Դուք կարող եք ձերը պատրաստել նրբատախտակից և բռնող ժապավենից; մերը վերցվել է հին սքեյթբորդից:

Նախ, դուք կցանկանաք նրբատախտակի երկու կողմերում փորել 1/4 դյույմանոց անցքեր, ինչպես ցույց է տրված նկարում: Յուրաքանչյուր փոսում M5 պտուտակով ամրացրեք անկյունային փակագիծ և ներքին ընկույզով կրկնակի ընկույզ ՝ կանխելու համար այն: թրթռումների պատճառով թուլացեք: Չափեք և փորեք անցքերը, որոնք թույլ են տալիս բեռնատարները տեղադրել ծայրերին մոտ և հնարավորինս կտրուկ թեքության անկյան տակ ՝ միևնույն ժամանակ մնալով հարթակի ոտնահետքի սահմաններում: Այժմ շրջեք այն և տվեք բեռի փորձարկում !

Քայլ 7: Շարժիչների զոդում

Image
Image
Oldոդում է շարժիչները
Oldոդում է շարժիչները

4 մմ տրամաչափի արկերի միակցիչները միացրեք մետաղալարին, որը կկապվի շարժիչներին, այնուհետև կպցրեք այս մետաղալարը շարժիչի տերմինալներին: Մալուխների կազմակերպման համար յուրաքանչյուր լարերը կտրված են մինչև 6 սմ և պոկվում երկու ծայրերից

Հուշում. Ավելի հեշտ է լարերը փակցնել փամփուշտի միակցիչների վրա, այնուհետև դրանք կպցնել շարժիչին, քան հակառակը:

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

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

Քայլ 8: ESC մարտկոցի միակցիչների զոդում

Oldոդման ESC մարտկոցի միակցիչներ
Oldոդման ESC մարտկոցի միակցիչներ
Cոդման ESC մարտկոցի միակցիչներ
Cոդման ESC մարտկոցի միակցիչներ

Eringոդումից առաջ կտրեք ջերմության նվազեցում յուրաքանչյուր լարերի համար, որոնք կօգտագործվեն մերկացված ծայրերը մեկուսացնելու համար:

Կտրեք լարերից մեկը մարտկոցի միակցիչին, հանեք այն, սահեցրեք շոգը և ամրացրեք այն XT60 միակցիչին, իսկ կարմիրը ՝ XT60- ի դրական տերմինալին, իսկ սևը ՝ XT60- ի բացասական տերմինալին:

Arnգուշացում. Միայն ESC- ի լարերը կտրեք մեկ -մեկ, քանի որ կա մի կոնդենսատոր, որը կարող է լիցքավորվել դրական և բացասական տերմինալների միջև, որը կարճ կլինի, եթե մկրատը կամ մետաղալարերը կտրեն երկուսն էլ միանգամից:

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

Կրկնեք դա ESC- ների մարտկոցի միակցիչների մնացած լարերի համար:

Քայլ 9. Էլեկտրաէներգիայի բաշխման խորհրդի (BԲ) զոդում

Էլեկտրաէներգիայի բաշխման խորհուրդը (ՊBԲ) զոդելը
Էլեկտրաէներգիայի բաշխման խորհուրդը (ՊBԲ) զոդելը
Էլեկտրաէներգիայի բաշխման խորհրդի (ՊBԲ) զոդում
Էլեկտրաէներգիայի բաշխման խորհրդի (ՊBԲ) զոդում
Էլեկտրաէներգիայի բաշխման խորհրդի (ՊBԲ) զոդում
Էլեկտրաէներգիայի բաշխման խորհրդի (ՊBԲ) զոդում
Էլեկտրաէներգիայի բաշխման խորհրդի (ՊBԲ) զոդում
Էլեկտրաէներգիայի բաշխման խորհրդի (ՊBԲ) զոդում

BՀԳ -ն մուտքագրում է երկու լիթիում պոլիմերային (LiPo) մարտկոցներ `համապատասխանաբար 11.1V և 250A լարման և հոսանքի միջոցով և այն կբաշխի չորս ESC- ներին:

Հուշում. Ավելի հեշտ է արական XT90 միակցիչը միացնել PDB բարձիկներին, այնուհետև 16 AWG լարերը ESC- ներին, այնուհետև XT60 միակցիչներին:

Նախքան լարերը միացնելը, կտրեք ջերմության նվազումը `լարերից յուրաքանչյուրին տեղավորելու համար, որպեսզի այն հետագայում սայթաքվի մերկացված ծայրին` կարճ միացումից խուսափելու համար:

Հաղորդալարերը PDB- ի բարձիկների վրա ամրացնելու համար ես ամենահեշտը գտա օգնող ձեռքերով լարերը ուղղահայաց պահելու համար (հատկապես մեծ XT90 մալուխը) և այն դնելով սեղանին դրված BՀՀ -ի վերևում: Այնուհետև մետաղալարը կպցրեք PDB պահոցի շուրջը: Այնուհետեւ, սահեցրեք ջերմությունը նվազեցնելով ներքեւ եւ տաքացրեք այն, որպեսզի մեկուսացնի սխեման:

Կրկնեք սա ESC- ի մնացած լարերի դեպքում:

XT60- ը զոդելու համար հետևեք նախորդ քայլին, թե ինչպես է ESC մարտկոցի տերմինալը փոխարինվել XT60- ով:

Քայլ 10: Լարերի միացում

Լարերի միացում
Լարերի միացում

Շարժիչի լարերը միացրեք ESC- ի փամփուշտի միակցիչ տերմինալներին: Այնուհետև ESC- ից միացրեք սպիտակ ազդանշանային կապը 9 -րդ կապակցին, իսկ սև գետնին կապում ՝ Arduino- ի GND կապին: Կրկնակի կողպեքի ժապավեններն օգտագործվում էին տախտակին բոլոր ESC- երը և լարերը ամրացնելու համար:

Շարժիչների ռոտացիան ճիշտ (պտտվել դեպի առջև) ճշտելու համար գործարկեք ստորև բերված Arduino- ի օրինակելի կոդը:

#ներառում

Սերվո շարժիչ;

բայթ ժամացույցի սլաքի ուղղությամբ Արագություն = 110; անստորագիր երկար միջակայք = 1500; int motorPin = 9;

դատարկ կարգավորում ()

{Serial.begin (9600); motor.attach (motorPin); Serial.println («Սկսնակ թեստ»); }

դատարկ շրջան ()

{motor.write (ժամացույցի սլաքի ուղղությամբ արագություն); Serial.println («Կանգնեցնել շարժիչը պտտվելուց»); հետաձգում (ընդմիջում); }

ESC- ից շարժիչին միացված լարերի կարգը որոշում է շարժիչի պտույտը: Եթե շարժիչը պտտվում է ժամացույցի սլաքի հակառակ ուղղությամբ, ապա նշեք շարժիչը և փոփոխեք բուլյան կարգավորիչի կոդի մեջ `« mրագրավորում Omniboard Controller »քայլին: Եթե այն պտտվում է ժամացույցի սլաքի ուղղությամբ դեպի առջև, ապա պտույտը ճիշտ է: Դա արեք չորս շարժիչներից յուրաքանչյուրի համար: Եթե շարժիչը չի պտտվում, կրկնակի ստուգեք ձեր բոլոր միակցիչները, եթե սառը զոդում կա, որի արդյունքում կապը թուլանում է:

Քայլ 11: ESC ռեժիմի փոփոխություն

Փոխելով ESC ռեժիմը
Փոխելով ESC ռեժիմը

Լռելյայն, սանրված ESC- ները գործնական ռեժիմում են: Սա նշվում է թարթող LED լույսով: Շարժիչը հակառակ ուղղությամբ ծրագրավորելու համար անհրաժեշտ է բարձրանալու ռեժիմ:

Այս ռեժիմին միանալու համար միացրեք ESC- ն Arduino- ին ՝ ESC- ից սպիտակ ազդանշանային կապը միացնելով 9 -րդ կապին, իսկ սև հիմքի քորոցը ՝ Arduino- ի GND կապին: Այնուհետև վերբեռնեք և գործարկեք հետևյալ ծրագիրը Arduino տախտակին.

#ներառում

Սերվո շարժիչ;

բայթ stopSpeed = 90; անստորագիր երկար միջակայք = 1500; int motorPin = 9;

դատարկ կարգավորում ()

{Serial.begin (9600); motor.attach (motorPin); Serial.println («Սկսնակ թեստ»); }

դատարկ շրջան ()

{motor.write (stopSpeed); Serial.println («Կանգնեցնել շարժիչը պտտվելուց»); հետաձգում (ընդմիջում); }

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

Քայլ 12. Միացում Bluetooth մոդուլի և հեռախոսի հետ

Ինտերֆեյս Bluetooth մոդուլի և հեռախոսի հետ
Ինտերֆեյս Bluetooth մոդուլի և հեռախոսի հետ
Ինտերֆեյս Bluetooth մոդուլի և հեռախոսի հետ
Ինտերֆեյս Bluetooth մոդուլի և հեռախոսի հետ
Ինտերֆեյս Bluetooth մոդուլի և հեռախոսի հետ
Ինտերֆեյս Bluetooth մոդուլի և հեռախոսի հետ

HC-05 Bluetooth մոդուլը թույլ է տալիս Arduino- ին միանալ հեռախոսի հետ `թույլ տալով անլար կառավարել սքեյթբորդը throughրագրի միջոցով: Քանի որ ես գտել եմ Bluetooth մոդուլի ինտերֆեյսի որոշ անսարքություններ, ավելի լավ կլինի այն նախ փորձարկել նախքան վերջնական սխեման միացնելը, Մենք կօգտագործենք Bluetooth մոդուլի 6 կապից 4 -ը: Դրանք են ՝ Tx (փոխանցել), Rx (ստանալ), 5V և GND (հող): Միացրեք Tx և Rx կապումներն HC-05 Bluetooth մոդուլից համապատասխանաբար Arduino- ի 10 և 11 կապումներին: Այնուհետև 5V և GND կապումներն ամրացրեք կապումներին Arduino- ի նույն պիտակով:

Blynk հավելվածում ավելացրեք bluetooth և կոճակի վիջեթներ, ինչպես ցույց է տրված վերևի պատկերներում: Այնուհետև կոճակին նշանակեք թվային կապիչ D13, որը միացված է Arduino Uno- ի ներկառուցված LED- ին:

Վերբեռնեք և գործարկեք հետևյալ կոդը Arduino- ում `Bluetooth մոդուլը միացված և բացեք սերիական մոնիտորը` տեսնելու, թե արդյոք Bluetooth մոդուլը միացված է: Այնուհետև միացրեք/անջատելու կոճակը և դիտեք ներկառուցված LED- ն Arduino փոփոխության վրա:

#սահմանել BLYNK_PRINT Սերիա

#ներառում

#ներառում

// Դուք պետք է ստանաք Auth Token- ը Blynk հավելվածում:

// Գնացեք Settingsրագրի կարգավորումներ (ընկույզի պատկերակ): char auth = "Ձեր իսկության նշանը";

SoftwareSerial SerialBLE (10, 11); // RX, TX

BLYNK_WRITE (V1)

{int pinValue = param.asInt (); // PIN V1- ից փոփոխականին մուտքային արժեք նշանակելը}

դատարկ կարգավորում ()

{Serial.begin (9600); // կարգաբերման վահանակ SerialBLE.begin (9600); Blynk.begin (SerialBLE, author); Serial.println («Սպասում եմ կապերին …»); }

դատարկ շրջան ()

{Blynk.run (); }

Քայլ 13: eringոդում Arduino վահանը

Arduino Shield- ի զոդում
Arduino Shield- ի զոդում
Arduino Shield- ի զոդում
Arduino Shield- ի զոդում
Arduino Shield- ի զոդում
Arduino Shield- ի զոդում
Arduino Shield- ի զոդում
Arduino Shield- ի զոդում

Շրջանակը և չամրացված լարերը նախատիպից մաքրելու համար մենք կպչենք Arduino վահանը, որը միանում է ESC- ների և Bluetooth մոդուլներից յուրաքանչյուրին, ինչպես նաև Arduino- ի սնուցման աղբյուր:

Ստորև բերված սխեմատիկան կպցրեք երկկողմանի կատարյալ տախտակի վրա:

Ես սկզբում չափեցի և միացրեցի Երկկողմանի արական կապույտ վերնագրերը Arduino իգական վերնագրերի վրա, այնուհետև այն զոդեցի երկու կողմերի համար կատարյալ տախտակի վերևի մասում: Երբ դրանք սոսնձվեցին, ես այն հանեցի Arduino- ի տախտակից `տախտակի ստորին հատվածը զոդելու համար: Այնուհետև ես ESC- ի միակողմանի արական կապույտ վերնագրերը միացրեցի 4-ական հավաքածուով ՝ 3-ական սալիկի ներքևի մասում: Դրանից հետո, ես տեղադրեցի HC-05 Bluetooth մոդուլը ուղղահայաց և միակցիչները միացրեցի նաև ծայրամասային տախտակի ներքևի մասում:

Քանի որ Bluetooth մոդուլը պահանջում է 5V լարման մուտքագրում, և PDB- ն կարգավորվում է մինչև 12V, ես օգտագործել եմ LM7805- ը `հոսանքը իջեցնելու համար` Arduino- ից ընթացիկ ելքը սահմանափակելու համար: Այս նույն 5 Վ լարման մատակարարումը նույնպես միացված է Arduino- ի 5V կապին այնպես, որ Arduino- ն կարող է սնուցվել վահանի միջոցով, ի տարբերություն լրացուցիչ տակառի ադապտերի:

LM7805- ի կապումներն ամրացված էին ծայրամասային տախտակի ներքևի մասում, իսկ լարման կարգավորիչի բաղադրիչը նստած էր շերտի տախտակի վրա, ինչպես ցույց է տրված վերևում նկարում: Ես հոսանքի բոլոր միացումները միացրեցի բաղադրիչներից յուրաքանչյուրին և ESC կապի վերնագրերին և HC-05 Bluetooth մոդուլին, ինչպես նկարագրված է սխեմատիկայում: PDB- ի 12V ելքը այնուհետև կպցվեց LM7805 լարման կարգավորիչի VCC մուտքին (ձախից մեծ մասը) և գրունտի քորոցին (մեջտեղին): Ի վերջո, ESC ազդանշանային կապի վերնագրերից յուրաքանչյուրը և HC-05 Bluetooth մոդուլը Tx և Rx կապում են Arduino թվային կապումներին երկկողմանի արական կապի վերնագրերի միջոցով, ինչպես ցույց է տրված սխեմատիկայում:

Քայլ 14: Հավելվածի ստեղծում Blynk- ի միջոցով

Հավելվածի ստեղծում Blynk- ի միջոցով
Հավելվածի ստեղծում Blynk- ի միջոցով

Omniboard- ը վերահսկվելու է Bluetooth- ի միջոցով ՝ օգտագործելով ցանկացած սմարթֆոն Blynk հավելվածի միջոցով: Blynk- ը Android և iOS հավելված է, որը թույլ է տալիս օգտագործել մոդուլներ և վիդջեթներ, որոնք կարող են միանալ մի քանի միկրոկոնտրոլերների հետ Bluetooth կամ անլար հնարավորություններով կամ Bluetooth / անլար մոդուլներով, ինչպես HC-05- ը:

1. Տեղադրեք Blynk- ը ձեր հեռախոսի վրա:

2. Ստեղծեք հաշիվ և մուտք գործեք

3. Ստեղծեք նոր նախագիծ և անվանեք այն: Ես իմն անվանեցի «Omniboard controller», ընտրեցի Arduino Uno- ն որպես միկրոկառավարիչ և Bluetooth- ը ՝ որպես ինտերֆեյսի տեսակը:

4. Քաշեք և գցեք հետևյալ վիջեթները էկրանին ՝ Bluetooth, Map, 2 կոճակ և Joystick

Քայլ 15. Վիդջեթների փոխազդեցություն Arduino- ի հետ

Միջերեսային գործիքների հետ Arduino- ի հետ
Միջերեսային գործիքների հետ Arduino- ի հետ
Միջերեսային գործիքների հետ Arduino- ի հետ
Միջերեսային գործիքների հետ Arduino- ի հետ
Միջերեսային գործիքների հետ Arduino- ի հետ
Միջերեսային գործիքների հետ Arduino- ի հետ

Կոճակը կօգտագործվի Hoverboard ռեժիմն ու Skateboard ռեժիմը փոխելու համար: Հովերբորդի ռեժիմը թույլ է տալիս ճշգրիտ վերահսկել պտույտի և շրջադարձի ընթացքը ՝ նավարկության արագությունը պահելիս: Մինչդեռ, սքեյթբորդի ռեժիմը տալիս է առաջընթաց արագության և պտույտի ճշգրիտ վերահսկում: Joyոյստիկը վերահսկելու է սքեյթբորդը ազատության երկու աստիճանով, որոնք փոխանակվում են միացման կոճակով: Քարտեզը կցուցադրի ձեր ընթացիկ գտնվելու վայրը, ինչպես նաև այլ վայրերի ճանապարհորդության կետերը: Bluetooth- ը թույլ է տալիս ինտերֆեյսը միանալ Bluetooth մոդուլի հետ:

Joystick- ի կարգավորումներ

Ընտրեք «Միաձուլում» ելքային տիպի համար և նշանակեք այն Virtual pin V1- ին:

Կոճակների կարգավորում

  • Անվանեք առաջին կոճակը «Հովեր ռեժիմ», իսկ երկրորդ կոճակը ՝ «Կրուիզ կոնտրոլ»:
  • Առաջին կոճակի ելքը նշանակեք Virtual pin V2- ին և ռեժիմը փոխեք «Switch» - ի:
  • Երկրորդ կոճակի ելքը վերագրեք Virtual pin V3- ին և ռեժիմը փոխեք «Switch» - ի:
  • Առաջին կոճակների միացման անունները վերանվանեք «Հովեր» և «Չմուշկ» և պահեք «ON» և «OFF»:

Քարտեզի կարգավորումներ

Նշեք մուտքը V4:

Bluetooth կարգավորումներ

Ընտրեք Bluetooth վիջեթը Blynk հավելվածում և միացեք ձեր մոդուլի հետ: Bluetooth մոդուլի կանխադրված գաղտնաբառը «1234» է

Քայլ 16. Programրագրավորում Omniboard Controller- ին

Omniboard Controller- ի ծրագրավորում
Omniboard Controller- ի ծրագրավորում
Omniboard Controller- ի ծրագրավորում
Omniboard Controller- ի ծրագրավորում
Omniboard Controller- ի ծրագրավորում
Omniboard Controller- ի ծրագրավորում

Omniboard- ի դինամիկան ծրագրավորվել է «Ինչպես է այն աշխատում» բաժնից բխող դինամիկայի ալգորիթմի հիման վրա: Ազատության 3 աստիճաններից յուրաքանչյուրը, առաջ, շեղ և պտույտ հաշվարկվում են ինքնուրույն և միմյանց վրա դրված, ինչը հանգեցնում է Omniboard- ի շարժումների ամբողջական տիրույթին:Յուրաքանչյուր շարժիչի հսկողությունը գծային համեմատական է ջոյսթիկի շարժմանը: Վերբեռնեք և գործարկեք հետևյալ կոդը Arduino- ում:

#սահմանել BLYNK_PRINT Սերիա

#ներառում

#ներառում

#ներառում

Servo motorFR; Servo motorFL; Servo motorBR; Servo motorBL;

bool motorFRrev = ճշմարիտ;

bool motorFLrev = ճշմարիտ; bool motorBRrev = ճշմարիտ; bool motorBLrev = ճշմարիտ;

float motorFRang = 330.0*PI/180.0;

float motorFLang = 30.0*PI/180.0; float motorBRang = 210.0*PI/180.0; float motorBLang = 150.0*PI/180.0;

բոց շարժիչ FRspeedT;

բոց շարժիչ FLspeedT; բոց շարժիչ BRspeedT; բոց շարժիչ BLspeedT;

բոց շարժիչ FRspeedR;

բոց շարժիչ FLspeedR; բոց շարժիչ BRspeedR; բոց շարժիչ BLspeedR;

float maxAccel = 10;

բայթ forwardSpeed = 110;

բայթ backSpeed = 70; բայթ stopSpeed = 90; // փոխել փորձնականորեն որոշված թվի

int cruiseControl;

int yawMode;

// Դուք պետք է ստանաք Auth Token- ը Blynk հավելվածում:

// Գնացեք Settingsրագրի կարգավորումներ (ընկույզի պատկերակ): char author = "8523d5e902804a8690e61caba69446a2";

SoftwareSerial SerialBLE (10, 11); // RX, TX

BLYNK_WRITE (V2) {cruiseControl = param.asInt ();}

BLYNK_WRITE (V3) {yawMode = param.asInt ();} WidgetMap myMap (V4);

BLYNK_WRITE (V1)

{int x = param [0].asInt (); int y = param [1].asInt ();

եթե (! cruiseControl) calc Թարգմանություն (x, y);

եթե (yawMode) calcRotation (x, y); else {motorFRspeedR = 0; motorFLspeedR = 0; motorBRspeedR = 0; motorBLspeedR = 0; } writeToMotors (); }

դատարկ կարգավորում ()

{motorFR.attach (9); motorFL. կցել (6); motorBR.attach (5); motorBL.attach (3); ուշացում (1500); // սպասեք շարժիչների սկզբնավորմանը // Վրիպազերծման վահանակի Serial.begin (9600);

SerialBLE.begin (9600);

Blynk.begin (SerialBLE, author);

Serial.println («Սպասում եմ կապերին …»);

// Եթե ցանկանում եք հեռացնել բոլոր կետերը.

//myMap.clear ();

int ինդեքս = 1;

բոց լատ = 43.653172; բոց լոն = -79.384042; myMap.location (ինդեքս, լատ, լոն, «արժեք»); }

դատարկ շրջան ()

{Blynk.run (); }

դատարկ հաշվարկ Թարգմանություն (int joyX, int joyY)

{float normX = (joyX - 127.0) /128.0; float normY = (joyY - 127.0) /128.0; motorFRspeedT = (normY*cos (motorFRang) + normX*sin (motorFRang))*(1 - 2*motorFRrev); motorFLspeedT = (normY*cos (motorFLang) + normX*sin (motorFLang))*(1 - 2*motorFLrev); motorBRspeedT = (normY*cos (motorBRang) + normX*sin (motorBRang))*(1 - 2*motorBRrev); motorBLspeedT = (normY*cos (motorBLang) + normX*sin (motorBLang))*(1 - 2*motorBLrev); }

void calcRotation (int joyX, int joyY)

{float normX = (joyX - 127.0) /128.0; float normY = (joyY - 127.0) /128.0; motorFRspeedR = joyX*(1 - 2*motorFRrev); motorFLspeedR = -joyX*(1 - 2*motorFLrev); motorBRspeedR = -joyX*(1 - 2*motorBRrev); motorBLspeedR = joyX*(1 - 2*motorBLrev); }

void writeToMotors ()

{float motorFRspeed = motorFRspeedT + motorFRspeedR; float motorFLspeed = motorFLspeedT + motorFLspeedR; float motorBRspeed = motorBRspeedT + motorBRspeedR; float motorBLspeed = motorBLspeedT + motorBLspeedR;

երկար motorFRmapped = քարտեզ ((երկար) (100*motorFRspeed), -100, 100, backSpeed, forwardSpeed);

երկար motorFLmapped = քարտեզ ((երկար) (100*motorFL արագություն), -100, 100, backSpeed, forwardSpeed); long motorBRmapped = քարտեզ ((երկար) (100*motorBRspeed), -100, 100, backSpeed, forwardSpeed); long motorBLmapped = քարտեզ ((երկար) (100*motorBLspeed), -100, 100, backSpeed, forwardSpeed); motorFR.write (motorFRmapped); motorFL.write (motorFLmapped); motorBR.write (motorBRmapped); motorBL.write (motorBLmapped); }

Քայլ 17: Էլեկտրոնիկայի բնակարանների տեղադրում

Էլեկտրոնիկայի բնակարանների տեղադրում
Էլեկտրոնիկայի բնակարանների տեղադրում
Էլեկտրոնիկայի բնակարանների տեղադրում
Էլեկտրոնիկայի բնակարանների տեղադրում
Էլեկտրոնիկայի բնակարանների տեղադրում
Էլեկտրոնիկայի բնակարանների տեղադրում
Էլեկտրոնիկայի բնակարանների տեղադրում
Էլեկտրոնիկայի բնակարանների տեղադրում

Բոլոր լարերն ու մասերը ներքևից չկախվելու համար 3D տպեք ամրացված կացարանը, այնուհետև պտուտակացրեք այն skateboard- ի վրա ՝ օգտագործելով M5 պտուտակներ:

Քայլ 18: Նկարչություն

Նկարչություն
Նկարչություն
Նկարչություն
Նկարչություն
Նկարչություն
Նկարչություն

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

Ես խրախուսում եմ ձեզ անհատականացնել դիզայնը ձեր սեփական Omniboard- ի համար և իրականացնել ձեր ստեղծագործական ազատությունը:

Քայլ 19: Փորձարկում և ցուցադրում:

Image
Image

Երկրորդ մրցանակ Անիվների մրցույթում 2017 թ

Հեռակառավարման մրցույթ 2017 թ
Հեռակառավարման մրցույթ 2017 թ

Առաջին մրցանակ Հեռակառավարման մրցույթում 2017 թ

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