Բովանդակություն:
- Պարագաներ
- Քայլ 1: 3D տպագրություն
- Քայլ 2. Programրագրեք Arduino- ն
- Քայլ 3: Հավաքեք ռոբոտին
- Քայլ 4: Կցեք տվիչի լարերը
- Քայլ 5: Ավարտվեց !!! Միացրեք 9V Arduino սնուցման աղբյուրը, միացրեք մարտկոցի տուփը և սկսեք խուսափել խոչընդոտներից OAREE- ի հետ
Video: OAREE - 3D տպագիր - Engineeringարտարագիտական կրթության համար նախատեսված ռոբոտին խոչընդոտներից խուսափելը (OAREE) Arduino- ով. 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
OAREE (Ինժեներական կրթության համար ռոբոտից խուսափելու խոչընդոտ)
Դիզայն. Այս հրահանգի նպատակն էր նախագծել OAR (Խոչընդոտներից խուսափող ռոբոտին) ռոբոտը, որը պարզ/կոմպակտ էր, 3D տպելի, հեշտ հավաքվող, շարժման համար օգտագործում էր անընդհատ պտտվող սերվերներ և հնարավորինս քիչ գնված մասեր: Կարծում եմ, որ ինձ հաջողվել է ստեղծել այս հիանալի ռոբոտը և այն անվանել OAREE (Engineeringարտարագիտական կրթության համար խոչընդոտներից խուսափող ռոբոտ): Այս ռոբոտը կզգա խոչընդոտները, կկանգնի, կանդրադառնա ձախ և աջ, այնուհետև կշրջվի անարգել ուղղությամբ և կշարունակի առաջ:
Նախապատմություն. Ինտերնետը ռոբոտներից խուսափելու բազմաթիվ խոչընդոտներ ունի, սակայն դրանցից շատերը զանգվածային են, դժվար է հավաքվել և թանկ են: Այս ռոբոտներից շատերին տրամադրված է Arduino ծածկագիրը, սակայն դժվար էր գտնել լավ մտածված և աշխատող օրինակ: Ես նաև ուզում էի անիվների համար օգտագործել անընդհատ պտտման սերվերներ (DC շարժիչների փոխարեն), ինչը դեռ չէր արվել: Այսպիսով, ես մեկնեցի մի առաքելության ՝ զարգացնելու կոմպակտ, հնարամիտ OAR ռոբոտ, որը պետք է կիսվի աշխարհի հետ:
Հետագա զարգացում. Այս ռոբոտը կարող է հետագայում մշակվել `ավելի լավ պինգինգի ճշգրտության համար` ավելացնելով IR սենսորներ գծի հետևող հնարավորության համար, LCD էկրան `խոչընդոտների հեռավորությունը ցուցադրելու համար և շատ ավելին:
Պարագաներ
- 1x Arduino Uno -
- 1x V5 ցուցիչ վահան -
- 1x 4xAA մարտկոցի կրիչ ՝ միացված/անջատիչով -
- 1x SG90 Servo -
- 2x շարունակական պտտման ծառայություններ -
- 1x 9V մարտկոցի հոսանքի մալուխ Arduino- ի համար (ՈTՇԱԴՐՈԹՅԱՆ) -
- 1x HC -SR04 ուլտրաձայնային տվիչ -
- 4x իգական-իգական ցատկող լարեր-https://www.amazon.com/RGBZONE-120pcs-Multicolored…
- 2 ռետինե ժապավեն
- 1x 9V մարտկոց (ըստ ցանկության)
- 4x AA մարտկոցներ
- 4x փոքր պտուտակներ (4 x 1/2 կամ նման բան)
- Phillips պտուտակահան
- Սոսինձ ռետինե ժապավենները անիվներին ամրացնելու համար
Քայլ 1: 3D տպագրություն
3D տպագրության համար կա 5 մաս:
- Մարմին
- Անիվներ
- Մարմար մարմնամարզիչ
- 6 մմ պտուտակ/ընկույզ (ըստ ցանկության, կարելի է փոխարինել մետաղական ընկույզ/պտուտակ)
- Ուլտրաձայնային սենսորային լեռ
Բոլոր անհրաժեշտ. STL ֆայլերը ներառված են այս ուսանելի, ինչպես նաև Sketchup ֆայլերում: Խորհուրդ է տրվում լցնել 40%:
Քայլ 2. Programրագրեք Arduino- ն
Կոդ ուղարկեք Arduino UNO. Arduino IDE- ի միջոցով ուղարկեք կոդը (կցված ֆայլում) ձեր Arduino մոդուլին: Այս ուրվագծով դուք պետք է ներբեռնեք և ներառեք servo.h և newping.h գրադարանները:
Կոդը մանրակրկիտ մեկնաբանված է, այնպես որ կարող եք տեսնել, թե ինչ է անում յուրաքանչյուր հրաման: Easilyանկության դեպքում կարող եք հեշտությամբ փոխել Ուլտրաձայնային տվիչի հեռավորությունը ավելի մեծ կամ փոքր արժեքի: Սա սկզբնական ծածկագիր է և նախատեսված է այն ընդլայնել և օգտագործել նախագծի հետագա զարգացման համար:
// ՌՈԲՈՏԻ ԽՆԴԻՐԸ ԽՈՍՔԻ // // [email protected], [email protected], TN University at Chattanooga, Electrical Engineering, FALL 2019 // Պահանջվող նյութեր ՝ // 1) Arduiino UNO, 2) Servo Sensor Shield v5.0, 3) HCSR04 ուլտրամանուշակագույն տվիչ, 4) FS90 սերվո (ուլտրաձայնային տվիչի համար) // 5 և 6) անիվների համար 2x ՇԱՐՈՆԱԿՈERԹՅԱՆ ERԱՌԱՅՈԹՅՈՆՆԵՐ // 7) 16 մմ մարմար հետևի գերչակի առանցքի համար, 8 և 9) 2 ռետինե ժապավեն անիվների համար // 10- 15) 1x (4xAA) Մարտկոցի կրիչ միացման/անջատման անջատիչով, 16 & 17) 9 Վ մարտկոց ՝ հոսանքի միակցիչով Arduino UNO // 3D PRINT: // 18) ROBOT Body, 19 & 20) 2x Wheels, 21) Marble Caster, 22) Ultrasonic Sensor Լեռ և 6 մմ պտուտակ (տես կցված ֆայլերը) // ------------------------------------------ ------------------------------------------------------ ----------------------------------------- #ներառել // Ներառել Servo Library #Include // Ներառեք նոր գրադարան // ----------------------------------------------- ------------------------------------------------------ ---------------------------------------- #սահմանեք TRIGGER_PIN 1 2 // ԱՄՆ -ի ձգան Arduino- ում 12 -ի սահմանում #սահմանեք ECHO_PIN 13 // ԱՄՆ -ի Էխո ՝ Arduino- ում սահմանեք #define MAX_DISTANCE 250 // Հեռավորությունը պինգից (առավելագույնը 250 է) int հեռավորությունը = 100; // ---------------------------------------------------- ------------------------------------------------------ ----------------------------------- Servo US_Servo; // Ուլտրաձայնային տվիչ Servo Servo Left_Servo; // Ձախ անիվի Servo Servo Right_Servo; // Աջ ղեկ Servo NewPing սոնար (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing կապերի և առավելագույն հեռավորության կարգավորում: // ---------------------------------------------------- ------------------------------------------------------ ------------------------ {pinMode (12, ԵԼՔ); // Գործարկման քորոցը սահմանվել է որպես ելքային pinMode (13, INPUT); // Էխո քորոց ՝ որպես մուտքագրված US_Servo.attach (11); // US Servo- ն սահմանել է 11 US_Servo.write (90) կապում; // ԱՄՆ ERԱՌԱՅՈԹՅՈՆԸ ԱՌԱՆՈՄ Է
Left_Servo.attach (9); // Ձախ անիվի servo ՝ 9 -րդ կապին
Left_Servo.write (90); // LEFT WHEEL SERVO- ն սահմանել է STOP
Right_Servo.attach (10); // Աջ ղեկի servo- ն սահմանվել է 10 -ի կապում
Right_Servo.write (90); // RIGHT WHEEL SERVO- ն սահմանել է STOP հետաձգում (2000); // Սպասեք 2 վայրկյան հեռավորության վրա = readPing (); // Ստացեք Ping հեռավորությունը ուղիղ առաջ դիրքի հետաձգման դեպքում (100); // Սպասեք 100 ms moveForward (); // ՌՈԲՈՏԸ ՇԱՐVՈՄ Է ԱՌԱ} // ------------------------------------------ ------------------------------------------------------ ---------------------------------------- անվավեր հանգույց () {int distanceRight = 0; // Նախաձեռնել ԱՄՆ հեռավորությունը դեպի աջ 0 int distanceLeft = 0; // Նախաձեռնել ԱՄՆ հեռավորությունը դեպի ձախ 0 //US_Servo.write(90); // Կենտրոն ԱՄՆ ծառայություն // ուշացում (50); // US_Servo.write (70); // Մի փոքր աջ նայիր // հետաձգում (250); // US_Servo.write (110); // Մի փոքր ձախ նայիր // ուշացում (250); // US_Servo.write (90); // Նայեք կենտրոն
եթե (հեռավորությունը <= 20) // Ռոբոտը ՇԱՐVՈՄ Է ԱՌԱ {moveStop (); // Robot STOPS at distance = distanceLeft) // Որոշեք, թե որ ուղղությամբ թեքվի {turnRight (); // Աջ կողմն ունի ամենամեծ հեռավորությունը, ՌՈԲՈՏԸ ԱՇԽԱՏՈՄ Է ԱՎԵԼԻ 0,3 վայրկյան ուշացումով (500); // Այս Հետաձգումը որոշում է շրջադարձի երկարությունը moveStop (); // Robot STOPS} else {turnLeft (); // Ձախ կողմի ամենամեծ հեռավորությունը, ՌՈԲՈՏԸ ԹԵՎՈՄ Է ՄԵEF 0.3 վայրկյան ուշացումով (500); // Այս Հետաձգումը որոշում է շրջադարձի երկարությունը moveStop (); // Robot STOPS}} else {moveForward (); // Robot MOVES FORWARD} distance = readPing (); // ԱՄՆ ԿԱՐԴՈՄ Է ՆՈՐ ՊԻՆԳ ճանապարհորդության նոր ուղղության համար} // -------------------------------------- ------------------------------------------------------ ---------------------------------------------- int lookRight () // Ուլտրաձայնային տվիչ LOOK RIGHT FUNCTION {US_Servo.write (30); // US servo Շարժվում է աջ անկյունի հետաձգման (500); int հեռավորություն = readPing (); // Setիշտ հետաձգման համար սահմանեք պինգի արժեք (100); US_Servo.write (90); // ԱՄՆ servo MOVES TO CENTER վերադարձի հեռավորությունը; // Հեռավորությունը սահմանվում է} // ---------------------------------------------- ------------------------------------------------------ ------------------------------------- int lookLeft () // Ուլտրաձայնային տվիչ LOOK LEFT FUNCTION {US_Servo.գրեք (150); // ԱՄՆ -ի ծառայությունը ՇԱՐVՈՄ Է ՁԱՅՆ դեպի անկյունի ձգձգում (500); int հեռավորություն = readPing (); // Ձախ հետաձգման համար սահմանեք պինգի արժեքը (100); US_Servo.write (90); // ԱՄՆ servo MOVES TO CENTER վերադարձի հեռավորությունը; // Հեռավորությունը սահմանվում է} // ---------------------------------------------- ------------------------------------------------------ ------------------------------------- int readPing () // Կարդացեք Ping գործառույթը ուլտրաձայնային տվիչի համար: {ուշացում (100); // 100 մգ pings- ի միջև (min ping time = 0.29ms) int cm = sonar.ping_cm (); // PING հեռավորությունը հավաքվում և սահմանվում է սմ -ով, եթե (սմ == 0) {սմ = 250; } վերադարձ սմ; } // --------------------------------------------------- ------------------------------------------------------ ------------------------------------ անվավեր moveStop () // ROBOT STOP {Left_Servo.write (90); // LeftServo 180 առաջ, 0 հակադարձ Right_Servo.write (90); // RightServo 0 առաջ, 180 հակառակ} // ------------------------------------------ ------------------------------------------------------ -------------------------------------------- անվավեր moveForward () // ROBOT FORWARD {Left_Servo.գրեք (180); // LeftServo 180 առաջ, 0 հետընթաց Right_Servo.write (0); // RightServo 0 առաջ, 180 հակառակ} // ------------------------------------------ ------------------------------------------------------ -------------------------------------------- անվավեր moveBackward () // ROBOT BACKWARD {Left_Servo.գրեք (0); // LeftServo 180 առաջ, 0 հակառակ Right_Servo.write (180); // RightServo 0 առաջ, 180 հակառակ} // ------------------------------------------ ------------------------------------------------------ -------------------------------------------- անվավեր turnRight () // ROBOT RIGHT {Left_Servo.գրեք (180); // LeftServo 180 առաջ, 0 հակադարձ Right_Servo.write (90); // RightServo 0 առաջ, 180 հակառակ} // ------------------------------------------ ------------------------------------------------------ -------------------------------------------- անվավեր turnLeft () // ROBOT LEFT {Left_Servo.գրեք (90); // LeftServo 180 առաջ, 0 հակադարձ Right_Servo.write (0); // RightServo 0 առաջ, 180 հակառակ} // ------------------------------------------ ------------------------------------------------------ --------------------------------------------
Քայլ 3: Հավաքեք ռոբոտին
Այժմ ժամանակն է միավորել ձեր ռոբոտը: Քայլերը թվարկված են ստորև:
1) Անիվներին ամրացրեք կլոր սերվո սկավառակ և ռետինե ժապավեններ. Գտեք կլոր սկավառակները և դրանք պտուտակեք անիվների հարթ կողմի երկու անցքերի մեջ: Ռետինե ժապավենները տեղավորվում են անիվի շուրջը ՝ բռնելով: Ռետինե ժապավենները տեղում պահելու համար գուցե ցանկանաք մի փոքր սոսինձ ավելացնել:
2) Marble Caster Attachment: Օգտագործեք երկու փոքր պտուտակներ `մարմարի թևը ամրացնելու համար հետևի երկու եռանկյուններին: Մարմարյա պտուտակը պարզ փոխարինում է հետևի անիվի համար և ապահովում է հետևի առանցքային կետը:
3) Տեղադրեք Servos- ը անցքերի մեջ (պտուտակներ չեն պահանջվում). Տեղադրեք FS90 Servo- ն (Ուլտրաձայնային տվիչի համար) մարմնի առջևի անցքի մեջ: Երկու շարունակական պտտման ծառայությունները սահում են դեպի ձախ և աջ անցքեր: Սլոթերը նախատեսված են ամուր տեղավորվելու համար, որպեսզի սերվերը տեղում պահելու համար պտուտակներ չպահանջվեն: Համոզվեք, որ servo լարերը անցնում են անցքերի ակոսների միջով, այնպես որ դրանք ուղղված են դեպի մարմնի հետևի մասը:
4) 9 Վ մարտկոցի տեղադրում (ՈTՇԱԴՐՈԹՅՈՆ). Տեղադրեք 9 Վ մարտկոց + Arduino հոսանքի միակցիչ ՝ առջևի սերվոյի հետևում:
5) Ուլտրաձայնային սենսորների տեղադրման հավաքում. Օգտագործեք երկու փոքր պտուտակներ `ներառված սպիտակ պլաստիկ սերվո կցորդներից մեկը Ուլտրաձայնային տվիչի տեղադրման ափսեի ներքևին: Հաջորդը, օգտագործեք 3D տպագրությամբ 6 մմ պտուտակ/ընկույզ (կամ փոխարինեք մետաղական պտուտակով/ընկույզով) `ուլտրաձայնային տվիչի պատյանը ամրացնելու սալիկին: Ի վերջո, տվիչը տեղադրեք պատյանում, որտեղ կապումներն ուղղված են դեպի վեր և սեղմեք պատյանի հետևի մասում:
6) 4x AA մարտկոցի պատյան. Տեղադրեք AA մարտկոցի պատյանը մեծ ուղղանկյուն հատվածի մեջ, միացրած/անջատիչ անջատիչով դեպի հետևը:
7) Arduino Uno + V5 սենսորային վահան. Ամրացրեք վահանը Arduino- ին և տեղադրեք մարտկոցի պատյանի վերևի ամրակների վրա: Սնուցման միակցիչը պետք է ուղղված լինի դեպի ձախ:
Ձեր ռոբոտը կառուցված է: Ի՞նչ է մնացել: Arduino- ի և միացնող Jumper լարերի ծրագրավորում. Servos, ուլտրաձայնային տվիչ և էլեկտրամատակարարում:
Քայլ 4: Կցեք տվիչի լարերը
Servo լարերը միացրեք V5 Shield- ին
- Ձախ շարունակական պտտման Servo- ն կցվում է PIN 9 -ին
- Right Continuous Rotation Servo- ն կցվում է PIN 10 -ին
- Front FS90 Servo- ն կցվում է PIN 11 -ին
Միացրեք ուլտրաձայնային տվիչի կապում (4x Female- ի և Jumper Wire- ի լարերի միջոցով) V5 Shield- ին
- Միացնել PIN 12 կոդին
- Արձագանք PIN 13 -ին
- VCC- ով `« V »նշումով
- Հիմնել «G» նշած ցանկացած կապում
Միացրեք AA մարտկոցի պատյանը V5 Shield- ին
- Կցեք դրական, կարմիր մետաղալարը VCC միակցիչին
- Կցեք բացասական, սև մետաղալարը Ground միացմանը
Քայլ 5: Ավարտվեց !!! Միացրեք 9V Arduino սնուցման աղբյուրը, միացրեք մարտկոցի տուփը և սկսեք խուսափել խոչընդոտներից OAREE- ի հետ
Ավարտվեց !
1) Միացրեք 9V Arduino սնուցման աղբյուրը (ըստ ցանկության)
2) Միացրեք մարտկոցի փաթեթը
3) Սկսեք խոչընդոտներից խուսափել OAREE- ի հետ !!!
Համոզված եմ, որ դուք կսիրեք ձեր նոր ընկերոջը ՝ OAREE- ին, այն դիտելուց հետո խոչընդոտ զգալով, հետ կանգնեք և փոխեք ուղղությունը: OAREE- ն լավագույնս աշխատում է մեծ օբյեկտների հետ, որոնցից ուլտրաձայնային տվիչը կարող է պոկել (ինչպես պատերը): Դժվարանում է աթոռի ոտքերի պես փոքր առարկաներ կպցնել ՝ իրենց փոքր մակերեսի և անկյունների պատճառով: Խնդրում ենք կիսվել, զարգանալ և տեղեկացնել ինձ անհրաժեշտ ճշգրտումների կամ սխալների մասին: Սա ուսուցման հիանալի փորձ էր, և ես հույս ունեմ, որ դուք նույնքան կզվարճանաք այս նախագիծը պատրաստելիս, որքան ես:
Երկրորդ տեղ ռոբոտաշինության մրցույթում
Խորհուրդ ենք տալիս:
Ռոբոտից խոչընդոտներից խուսափելը (Arduino). 8 քայլ (նկարներով)
Ռոբոտից խոչընդոտներից խուսափելը (Arduino). Այստեղ ես պատրաստվում եմ ձեզ հրահանգել Arduino- ի հիման վրա խոչընդոտներից խուսափող ռոբոտ պատրաստելու մասին: Հուսով եմ, որ քայլ առ քայլ ուղեցույց կստեղծեմ այս ռոբոտը շատ հեշտ ձևով պատրաստելու համար: Ռոբոտից խուսափող խոչընդոտը լիովին ինքնավար ռոբոտն է, որը կարող է խուսափել ցանկացած դիտողությունից
Ուլտրաձայնային տվիչների միջոցով ռոբոտից խոչընդոտներից խուսափելը. 9 քայլ (նկարներով)
Ուլտրաձայնային տվիչների միջոցով ռոբոտին խոչընդոտներից խուսափելը. Սա պարզ նախագիծ է ՝ ուլտրաձայնային տվիչների (HC SR 04) և Arduino Uno- ի միջոցով խոչընդոտներից խուսափելու մասին ռոբոտի մասին: ուսումնական նախագիծ, կիսվեք
Արբինոյի վրա հիմնված ռոբոտին հետևելը և խուսափելը. 5 քայլ
Ռոբոտին հետևելը և խուսափելը ՝ հիմնված Arduino- ի վրա. Սա պարզ նախագիծ է, որը հետևում է կամ խուսափում է լույսից: Ես այս մոդելավորումը կատարել եմ Proteus 8.6 pro- ում: Պահանջվող բաղադրիչները ՝ -1) Arduino uno. 2) 3 LDR.3) 2 Dc Gear Motors: 4) Մեկ Servo.5) Երեք 1k դիմադրողականություն .6) մեկ H-Bridge l290D7) Մեկը & Անջատիչ անջատիչ [f
EBot8: 4 քայլ օգտագործելով ռոբոտին խոչընդոտներից խուսափելը (նկարներով)
EBot8- ի միջոցով ռոբոտի խոչընդոտներից խուսափելը. Այս ձեռնարկում դուք կսովորեք, թե ինչպես կառուցել ռոբոտ -մեքենա, որը կխուսափի իր ճանապարհին առկա խոչընդոտներից: Հայեցակարգը կարող է օգտագործվել և կիրառվել տարբեր եղանակներով `ըստ պայմանների: պահանջվող նյութեր. 1. Անիվներ x4 2. Շախմատ (կարող եք կամ գնել
Securibot: Փոքր սարքերի համար նախատեսված անօդաչու սարք տնային անվտանգության համար. 7 քայլ (նկարներով)
The Securibot: Փոքր սարքերի համար նախատեսված անօդաչու սարք տնային անվտանգության համար. Դա պարզ փաստ է, որ ռոբոտները հիանալի են: Այնուամենայնիվ, անվտանգության ռոբոտները չափազանց թանկ են միջին վիճակագրական անձի համար կամ օրինականորեն անհնար է գնել դրանք. Մասնավոր ընկերությունները և զինվորականները հակված են նման սարքերն իրենց համար պահել, և