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

Arduino 3D տպագիր Sumo բոտ. 6 քայլ
Arduino 3D տպագիր Sumo բոտ. 6 քայլ

Video: Arduino 3D տպագիր Sumo բոտ. 6 քայլ

Video: Arduino 3D տպագիր Sumo բոտ. 6 քայլ
Video: SKR 1.4 - Optical Endstop 2024, Նոյեմբեր
Anonim
Arduino 3D տպագիր Sumo Bot
Arduino 3D տպագիր Sumo Bot

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

  1. Այստեղ գտնված յուրաքանչյուր 3D տպագիր մասից մեկը:
  2. 7.4 վոլտ մարտկոց կամ երկու 18650 մարտկոց:
  3. Անհրաժեշտության դեպքում մարտկոցի պահարան:
  4. Արդուինո ունո:
  5. Arduino uno ճեղքման վահան:
  6. USB մալուխ Arduino- ի համար:
  7. Սեղանի աշխատասեղանի մատակարարում (ըստ ցանկության):
  8. Լիցքավորիչ (ըստ ցանկության):
  9. Հաղորդալարեր և դրանցից շատերը:
  10. Ստանդարտ չափի մետաղական հանդերձում շարունակական պտտման սպասարկողներ:
  11. Երկու ir անջատիչ տվիչ:
  12. 7 սմ սերվո անիվներ:
  13. Միացման և անջատման անջատիչ:

Այս ծածկագիրն անընդհատ փոխվում է: Այս ռոբոտի ծածկագիրը կարելի է գտնել այստեղ: Սա այս նախագծի կոդի ամենաթարմ տարբերակն է: Վայելեք:

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

Ժողով
Ժողով
Ժողով
Ժողով
Ժողով
Ժողով
  1. Ռոբոտը օգտագործում է մետաղական հանդերձանքի երկու սպասարկող: Դուք կցանկանաք դրանք պտուտակել m3 պտուտակների և ընկույզների օգնությամբ, երբ շասսիի ներսում գտնվող սպասարկուները երկու ուղղությամբ ուղղված են դեպի դուրս: Կա միայն մեկ ճանապարհ, որով սերվոները կարող են մտնել ռոբոտի մեջ, այնպես որ դա բավականին ուղիղ կլինի:
  2. Կցեք սերվո անիվները:
  3. Կցեք ir սենսորները, որպեսզի նրանք ուղղված լինեն դեպի ներքև ՝ ռոբոտի առջևում: Դրանք երկու պտուտակով ամրացվում են ռոբոտի դիմային մասում գտնվող M3 անցքերի միջով: Ռոբոտի ներքևի մասում կան ճեղքեր, որոնցով նրանք կարող են դիտել: Ուզում եք զգույշ լինել, սենսորները չեն վերցնում շասսին և կարող են ամբողջ ճանապարհը տեսնել ճեղքերով: Այս մասին ավելի մանրամասն կիմանաք ավելի ուշ, երբ մենք փորձարկենք ռոբոտին `պարզելու, թե արդյոք ձեր ձեռքի աշխատանքն աշխատել է:
  4. Ներդրեք HC-SR04 սենսորը ռոբոտից դուրս գտնվող երկու անցքերի ներսում: Անցքերը տեղակայված են շասսիի առջևում:
  5. Տեղադրեք Arduino Uno- ն շասսիի ներսում ՝ վահանը վրան:
  6. Միացրեք ամեն ինչ ՝ ստորև բերված փամփուշտների ցանկի համաձայն:

    1. Էլեկտրաէներգիա ձեր ընտրած էներգիայի աղբյուրից մինչև հոսանքի անջատիչ: Անջատիչին կցեք դրական կամ բացասական կապ: Եթե դուք ընտրում եք բացասական առաջատարը, դա կլինի ձեր հիմքը, իսկ եթե ընտրեք դրական կապը, դա կլինի ձեր էներգիայի աղբյուրի առաջատարը: Մյուս մետաղալարը, կախված այն դրական կամ բացասական լինելուց, կլինի ձեր դրական կամ բացասական:
    2. Arduino- ի վրա դրական կապը միացրեք vin- ի, իսկ սերվերի վրա `պոստիվային կապերը:
    3. Միացրեք գետնին գետնին servos- ի և Arduino- ի վրա:
    4. Arduino- ի 5 վոլտ կարգավորիչից 5v միացրեք տվիչներից յուրաքանչյուրի բոլոր դրական տերմինալներին:
    5. Սենսորները միացրեք Arduino- ի վրա:
    6. Վերջապես, Arduino- ի աջ սենսորին ամրացրեք 7 -րդ կապը, 6 -ը ՝ ձախ IR սենսորին, 8 -ը ՝ սերվերից մեկին, 9 -ը ՝ վերջին սերվոյին:

Arnգուշացում. Ռոբոտին ճիշտ չցուցաբերելը կարող է հանգեցնել ռոբոտի ծխելու և էլեկտրոնիկայի ոչնչացման:

Քայլ 2: Կյանքի առաջին նշանները:

Wգուշացում. Մի միացրեք ռոբոտը ձեր համակարգչին միացված կամ սպասարկվող միացված սերվերին: Չկատարելը կարող է հանգեցնել ձեր համակարգչի վնասմանը:

int ռեժիմ = 3;

Վերևի ծածկագրի այս տողը ռոբոտի համար կարևոր փոփոխական է: Այն կատարում է հետևյալը, եթե հավասար է ստորև նշված թվին:

  1. Zeroրոյին հավասար ռոբոտը շարժվում է որոշակի օրինաչափությամբ:
  2. Եթե ռեժիմը հավասար է մեկին, ռոբոտը տպում է սենսորների յուրաքանչյուր ընթերցման համակարգչի ելքը:
  3. Երբ երկուսին հավասար է, ռոբոտը խուսափում է եզրերից և խոչընդոտներից, եթե հանդիպի դրանց:
  4. Ռոբոտը պայքարում է այլ բոտերի հետ:

Սրանք ռոբոտի տարբեր ռեժիմներն են, որոնք օգտագործվում են ռոբոտին փորձարկելու և առաջընթացին օգնելու համար: Այս ձեռնարկի առաջին քայլի համար ձեզ հարկավոր է փոխել «3» -ը զրոյի:

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

Քայլ 3: Այն կարող է տեսնել:

int ռեժիմ = 0;

Փոփոխեք հետևյալ փոփոխականը «1» -ով, եթե նախորդ քայլն ավարտված է: Այժմ, երբ միացված եք ձեր սերիական մոնիտորին Arduino- ում, այն տպելու է այն, ինչ տեսնում է ձեր ռոբոտը: «0» նշանակում է եզրային տվիչների համար, որ ինչ -որ բան տեսնում է: «1» նշանակում է, որ այն եզրեր չի տեսնում: Եթե նկատում եք, որ տրամաբանությունը շրջված է, դա նկատի ունեցեք հետագա քայլերի համար:

Մի անհանգստացեք պինգ սենսորից: Համենայն դեպս, ես դեռ չեմ աշխատել: Այս ռոբոտը գտնվում է ծանր զարգացման փուլում:

Քայլ 4: Այն կարող է խուսափել սեղանի եզրից:

դատարկ խուսափել () {

int sensorStateLeft = digitalRead (ձախՍենսոր);

int sensorStateRight = digitalRead (rightSensor);

ուշացում (50);

եթե (Ping.ping_cm ()> = 15 && sensorStateLeft == 0 && sensorStateRight == 0) {

left.write (0); իրավունք. գրել (90);

}

եթե (Ping.ping_cm () <= 15 && Ping.ping_cm ()! = 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

ձախ. գրել (90);

right.write (0); }

}

Այս ծածկագիրը վերևում կանչված ծածկագիրն է, երբ ռեժիմը հավասար է երկուսի: Եթե նախորդ քայլն ավարտված է, ռեժիմը փոխեք «2» -ի:

Եթե սենսորները շրջված են, ազատ զգացեք «եթե» արտահայտություններից յուրաքանչյուրում «եթե» –ի կամ «0» –ի շրջանցել «sensorStateLeft» և «sensorStateRight» արտահայտությունները:

Այժմ ռոբոտը կարող է խուսափել սումո ասպարեզի եզրից: Այն գրեթե պատրաստ է պատերազմի: Ազատորեն փորձարկեք այն `տեսնելու, թե այն աշխատում է, թե ոչ:

Քայլ 5: BATTLE

Ձեր սումոն այժմ պատրաստ է պայքարել կոդի մի քանի փոփոխությամբ: Փոխեք ռեժիմը ՝ հավասար լինելու «3» -ին և ըստ անհրաժեշտության շրջեք տրամաբանությունը «Սումո» դատարկության մեջ: Այժմ ձեր ռոբոտը պետք է խուսափի ասպարեզի եզրից, բայց չի կարող հայտնաբերել այլ ռոբոտներ: Այն հիմնականում խուսափում է ասպարեզի եզրերից և շարժվում է այնքան արագ, որ հույս ունի, որ կարող է ռոբոտին դուրս մղել սեղանի եզրից: Վայելեք:

Քայլ 6: Եզրակացություն:

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

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