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

Ուտրասոնիկ խուսափող ռոբոտ Arduino- ի միջոցով. 7 քայլ
Ուտրասոնիկ խուսափող ռոբոտ Arduino- ի միջոցով. 7 քայլ

Video: Ուտրասոնիկ խուսափող ռոբոտ Arduino- ի միջոցով. 7 քայլ

Video: Ուտրասոնիկ խուսափող ռոբոտ Arduino- ի միջոցով. 7 քայլ
Video: Lesson 2: Getting Arduino Software and using Documentation for SunFounder Arduino Kit | SunFounder 2024, Նոյեմբեր
Anonim
Image
Image
Ուտրաձայնային խուսափող ռոբոտ ՝ օգտագործելով Arduino- ն
Ուտրաձայնային խուսափող ռոբոտ ՝ օգտագործելով Arduino- ն

Այս ձեռնարկում ես ձեզ ցույց կտամ, թե ինչպես կատարել ձեր սեփական խոչընդոտը ՝ խուսափելով ռոբոտից: Մենք կօգտագործենք Arduino UNO տախտակը և ուլտրաձայնային տվիչ: Եթե ռոբոտը հայտնաբերում է իր առջևի առարկան, փոքր servo շարժիչի օգնությամբ, այն սկանավորում է ձախ և աջ տարածքը `շրջվելու լավագույն միջոցը գտնելու համար: Այն ունի նաև ծանուցման LED, ազդանշան, որը ազդանշան է տալիս առարկայի հայտնաբերման ժամանակ և ռոբոտի գործառույթը փոխելու կոճակ (կանգ է առնում/առաջ է շարժվում):

Դա շատ հեշտ է պատրաստել:

Քայլ 1: Ստեղծելու համար անհրաժեշտ բաներ:

Բաներ, որոնք պետք է պատրաստվեն
Բաներ, որոնք պետք է պատրաստվեն
Գործեր, որոնք պետք է պատրաստվեն
Գործեր, որոնք պետք է պատրաստվեն
Գործեր, որոնք պետք է պատրաստվեն
Գործեր, որոնք պետք է պատրաստվեն
Գործեր, որոնք պետք է պատրաստվեն
Գործեր, որոնք պետք է պատրաստվեն

Այս նախագծի համար ձեզ հարկավոր է

  1. Arduino UNO (գնեք այն gearbest.com- ից)
  2. Մինի տախտակ (գնեք այն gearbest.com- ից)
  3. L298 շարժիչի վարորդի մոդուլ (գնեք այն gearbest.com- ից)
  4. 2x DC շարժիչներ անիվներով HC-SR04 ուլտրաձայնային տվիչ (գնեք այն gearbest.com- ից)
  5. Միկրո servo շարժիչ (գնեք այն gearbest.com- ից)
  6. Կոճակ կարմիր LED220 Օմ ռեզիստոր 9 Վ մարտկոցի կրիչ (հոսանքի խցիկով կամ առանց դրա)
  7. 8 spacers (տղամարդ-կին),
  8. 8 ընկույզ և 8 պտուտակ ձեզ հարկավոր կլինի նաև մեկ մեծ (մետաղ)

թղթե ամրակ և ուլունք `հետևի հենարան անիվը պատրաստելու համար:

Ռոբոտների բազայի համար ես օգտագործեցի ակրիլային շղթա Aliexpress- ից: Կարող եք նաև օգտագործել փայտի կամ մետաղի կտոր (կամ երկու էլեկտրական ափսե):

Ամբողջ նախագծի արժեքը մոտ 20 $ է:

Գործիքներ. Հորատման մեքենա գերծանրքաշային սոսինձ անձնակազմի վարորդ տաք ատրճանակի սոսինձ (ըստ ցանկության) Հզորություն.

Մենք կօգտագործենք 9 Վ մարտկոց ՝ մեր ռոբոտին միացնելու համար, քանի որ այն փոքր է և էժան, բայց դա այնքան էլ հզոր չէ և դատարկ կլինի մոտ մեկ ժամ անց: Մտածեք, եթե ցանկանում եք օգտագործել վերալիցքավորվող մարտկոց (նվազագույնը 6 Վ, առավելագույնը 7 Վ), որն ավելի հզոր կլինի, բայց այն նաև ավելի թանկ և մեծ կլինի, քան 9 Վ մարտկոցը: Բաժանորդագրվեք Մեր YouTube ալիքը կտտացրեք այստեղ

Քայլ 2. Հայեցակարգերի հասկացում

Հասկացություններ հասկանալը
Հասկացություններ հասկանալը
Հասկացություններ հասկանալը
Հասկացություններ հասկանալը
Հասկացություններ հասկանալը
Հասկացություններ հասկանալը

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

Ուլտրաձայնային ցուցիչ

HC-SR04- ը մի շղթա է, որն ունակ է ուլտրաձայնային ալիքների միջոցով չափել մինչև 4 մետր հեռավորություն առարկաներից: Այն ուղարկում է պինգ (ինչպես սուզանավը) և չափում է ժամանակը (միկրովայրկյաններում) որևէ բան հետ ուղարկելու և ստանալու միջև: Այս ժամանակը այնուհետև բաժանվում է 2 -ի, քանի որ ալիքը շարժվում է այս ու այն կողմ: Եվ այնուհետ բաժանեք 29 -ի ՝ սանտիմետրերով (կամ 74 դյույմ) հեռավորություն ստանալու համար, քանի որ ձայնը սանտիմետրում (340 մ/վ) անցնում է 29,4 մկ: Սենսորը շատ ճշգրիտ է ~ 3 մմ հանդուրժողականությամբ և հեշտ է ինտեգրվել Arduino- ի հետ:

Ինտերֆեյսային ուլտրաձայնային տվիչ AVR միկրոկոնտրոլերի հետ

Autonomանկացած ինքնավար ռոբոտ պետք է ունենա խոչընդոտներից խուսափելու հնարավորություն և կցված լինի հեռավորության չափման տվիչ: IR հաղորդիչ զույգը կամ գորշ գույնի սենսորը կարող են հեշտությամբ աշխատել 1 սմ -10 սմ միջակայքում խոչընդոտների հայտնաբերման համար: IR հեռաչափի հեռաչափերը (օրինակ ՝ կտրուկ) կարող են չափել մինչև մոտակա խոչընդոտի հեռավորությունը մինչև 100 սմ հեռավորության վրա: Այնուամենայնիվ, IR սենսորները ազդում են արևի լույսից և լույսի այլ աղբյուրներից: IR հեռաչափի ցուցիչներն ունեն ավելի քիչ հեռավորություն և թանկ են այն բանի համար, ինչ անում է: Ուլտրաձայնային տվիչները (հայտնի են նաև որպես ուլտրաձայնային հարևանության սենսորներ կամ գեյքերի համար սոնար) կատարում են այս առաջադրանքները ողջամիտ գնով և բացառիկ ճշգրտությամբ: Միջակայքը 3 սմ -ից մինչև 350 սմ է ՝ ~ 3 մմ ճշգրտությամբ: Այս ուլտրաձայնային տվիչներից մեկը կապելով մեր ռոբոտի հետ, այն կարող է հանդես գալ ինչպես խոչընդոտներից խուսափողի, այնպես էլ հեռավորության չափման սենսորի դերում:

«Ուլտրաձայնային» ձայնը վերաբերում է այն ամենին, ինչ լսելի ձայնի հաճախականություններից բարձր է, և անվանականորեն ներառում է 20 000 Հց կամ 20 կՀց -ից բարձր բան: Ռոբոտաշինության համար օգտագործվող էժանագին ուլտրաձայնային տվիչները հիմնականում աշխատում են 40 կՀց -ից մինչև 250 կՀց միջակայքում, իսկ բժշկական սարքավորումներում օգտագործվողները ՝ մինչև 10 ՄՀց:

Քայլ 3: Անհրաժեշտ գործիքներ

Անհրաժեշտ գործիքներ
Անհրաժեշտ գործիքներ
Անհրաժեշտ գործիքներ
Անհրաժեշտ գործիքներ
Անհրաժեշտ գործիքներ
Անհրաժեշտ գործիքներ
Անհրաժեշտ գործիքներ
Անհրաժեշտ գործիքներ
  1. Բազմաչափ
  2. Breadboard
  3. Ասեղ քթի տափակաբերան աքցան
  4. Մետաղական մերկացուցիչ
  5. Մետաղական կտրիչ
  6. Սոսինձ ատրճանակ

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

Շինանյութեր

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

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

Ձեռքի գործիքներ

Անհրաժեշտ են տարբեր տեսակի և չափերի պտուտակահան և տափակաբերան աքցան (ներառյալ ոսկերիչների գործիքակազմը. Գայլիկոն (գերադասելի է փորված մամլիչ ուղիղ անցքերի համար) նույնպես կարևոր է: Շինանյութերը (կամ երթուղիչը) կտրելու համար ձեռքի սղոցը նույնպես կարևոր արժեք է: Եթե բյուջեն թույլ է տալիս, մի փոքր սեղանի սղոց ($ 200 միջակայք) հաստատ գործիք է, որը պետք է հաշվի առնել:

Առանց զոդման Breadboard

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

Փոքր պտուտակահան հավաքածու

Այս փոքր պտուտակահաններն անհրաժեշտ են էլեկտրոնիկայի հետ աշխատելիս: Չափից շատ մի ստիպեք նրանց. Դրանց չափերը նրանց ավելի փխրուն են դարձնում:

Պտուտակահանների սովորական հավաքածու

Բոլոր արհեստանոցներին անհրաժեշտ է բազմափորձ գործիք կամ գործիքակազմ, որը ներառում է հարթ / Ֆիլիպս և պտուտակահան այլ գլուխներ:

Ասեղ քթի տափակաբերան աքցան

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

Մետաղալարեր/կտրիչներ

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

Քայլ 4. AVR կոդավորման կանոններ

AVR կոդավորման ծածկագիր
AVR կոդավորման ծածկագիր

Ձայնի արագության հաշվարկ ՝ համեմատած ուլտրաձայնային տվիչների հետ

Քիչ մաթեմատիկա, բայց մի վախեցեք: Դա ավելի պարզ է, քան կարծում եք:

Չոր օդի ձայնի արագությունը սենյակային ջերմաստիճանում (~ 20 ° C) = 343 մետր/վայրկյան

Որպեսզի ձայնային ալիքը հարվածի և շրջի մոտակա օբյեկտ, \u003d 343/2 = 171,5 մ/, քանի որ էժանագին ուլտրաձայնային տվիչի առավելագույն հեռավորությունը 5 մ -ից ոչ ավելի է (երկկողմանի ուղևորություն), ավելի իմաստալից կլինի միավորները փոխեք սանտիմետրերի և միկրովայրկյանների:

1 մետր = 100 սանտիմետր 1 վայրկյան = 10^6 մկրկ = (վ/171.5) x (մ/100 սմ) x ((1x10^6)/վ) = (1/171.5) x (1/100) x (1000000/ 1) = 58.30903790087464 մեզ/սմ = 58.31 մեզ/սմ (կլորացնել երկնիշը `հաշվարկներն ավելի դյուրին դարձնելու համար)Հետևաբար, իմպուլսի ՝ օբյեկտ հասնելու և 1 սանտիմետր հետ վերադառնալու համար տևած ժամանակը կազմում է 58,31 միկրովայրկյան:

փոքր ֆոնը AVR ժամացույցի ցիկլերի վրա

Բոլորովին այլ գլուխ է պահանջվում AVR ժամացույցի ցիկլերը հասկանալու համար, բայց մենք հակիրճ կհասկանանք, թե ինչպես է այն աշխատում ՝ մեր հաշվարկներն ավելի դյուրին դարձնելու համար

Մեր օրինակի համար մենք կօգտագործենք AVR Draco տախտակը, որն ունի 8-բիթանոց AVR-Atmega328P միկրոկոնտրոլեր: Ամեն ինչ պարզ պահելու համար մենք չենք փոխի միկրոկառավարիչի կարգավորումները: Ոչ մի ապահովիչ չի դիպչել; Արտաքին բյուրեղյա կցված չէ; Ոչ մի գլխացավ: Գործարանային պարամետրերում այն աշխատում է ներքին 8 ՄՀց տատանումով `a /8 նախալեզվիչով; Եթե դուք չեք հասկանում այս ամենը, դա պարզապես նշանակում է, որ միկրոկառավարիչը աշխատում է 1 ՄՀց ներքին RC տատանումով և յուրաքանչյուր ժամացույցի ցիկլը տևում է 1 միկրովայրկյան:

1 2 1 ՄՀց = 1000000 ցիկլ/վրկ Ուստի, 1s/1000000 = 1/1000000 = 1us

AVR ժամացույցներ և հեռավորության փոխարկում

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

Մենք գիտենք, որ ուլտրաձայնային ձայնի արագությունը իդեալական միջավայրում `58.31 ԱՄՆ դոլար/սմ

Մենք գիտենք, որ AVR միկրոհսկիչի լուծաչափը 1 ժամ/ժամային ցիկլ է (CLK)

Հետևաբար, ժամային ցիկլի (CLK) ձայնով անցած տարածությունը հետևյալն է.

1 2 3 = (58.31 us/ սմ) x (1us/ clk) = 58.31 ժամացույցի ցիկլեր/ սմ կամ = 1/ 58.31 սմ/ clk

Եթե հայտնի է ժամացույցի ցիկլերի քանակը, որն անհրաժեշտ է ձայնի ուղևորության և հետ վերադառնալու համար, մենք կարող ենք հեշտությամբ հաշվարկել տարածությունը: Օրինակ, եթե սենսորը տևում է 1000 ժամացույցի ցիկլ ՝ ճանապարհորդելու և հետ վերադառնալու համար, ապա սենսորից մինչև մոտակա օբյեկտ հեռավորությունը = 1000/58.31 = 17.15 սմ (մոտավոր):

Հիմա ամեն ինչ իմաստ ունի՞: Ոչ Կարդա էլի

Եթե պարզ եք վերը նշված ամբողջ տրամաբանությամբ, մենք դա կիրականացնենք իրական սցենարով ՝ էժան HC-SR04 ուլտրաձայնային տվիչ միացնելով մեր AVR Arduino տախտակին:

Քայլ 5: Սարքավորման միացումներ

Սարքավորումների միացումներ
Սարքավորումների միացումներ
Սարքավորումների միացումներ
Սարքավորումների միացումներ
Սարքաշարի միացումներ
Սարքաշարի միացումներ
Սարքավորումների միացումներ
Սարքավորումների միացումներ

Arduino Board- ը հեշտացնում է ցանկացած արտաքին սենսորների միացումը, ինչպես նաև արդյունքները LCD- ով դիտելը: Ուլտրաձայնային միջակայքի հայտնաբերման համար մենք օգտագործում ենք էժան HC-SR04 մոդուլ: Մոդուլն ունի 4 կապում, որոնք կարող են միացվել միկրոկառավարիչի տախտակին `VCC, TRIG, ECHO և GND:

Միացրեք VCC կապը 5 Վ -ին, իսկ GND կապը `Arduino տախտակի վրա:

TRIG կապը և ECHO կապը կարող են միացվել գրատախտակին առկա ցանկացած կապումներին: Առնվազն 10us «բարձր» ազդանշան ուղարկելը ՝ քորոց ուղարկելու համար, ուղարկում է ութ 40 կՀց ձայնային ալիք և ձգում է արձագանքման քորոցը բարձր: Եթե ձայնը դուրս է թռչում մոտակա օբյեկտից և վերադառնում, այն գրավվում է ընդունիչով, և արձագանքման քորոցը քաշվում է «ցածր»:

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

Միանալուց հետո Trigger և Echo Pins- երը կարող են կազմաձևվել ծրագրային ապահովման միջոցով: Այս օրինակը պարզ պահելու համար մենք այս օրինակում չենք օգտագործի որևէ ընդհատող կապում (կամ Input Capture Pin): Նշանակված ընդհատման կապում չօգտագործելը նաև մեզ ազատություն է տալիս մոդուլը միացնել գրատախտակին առկա ցանկացած կապում:

Քայլ 6: Կոդ

Ստորև բերված կոդը պարունակում է միայն «ուլտրաձայնային» ընդլայնում DC շարժիչի կառավարման համար ՝ օգտագործելով նախորդ հոդվածի H-Bridge- ը: Երբ ռոբոտը հայտնաբերում է իր առջև ծառացած խոչընդոտը, նա շրջվում է (պատահական աստիճան) և շարունակում առաջ շարժվել: Այս գործառույթը կարելի է հեշտությամբ ընդլայնել ՝ միաժամանակ շրջելով և հայտնաբերելով խոչընդոտները.

Կոդի բացատրության համար տե՛ս ալիքում տեղադրված YouTube տեսանյութը:

Քայլ 7: Տեսանյութ

Դիտեք տեսանյութը ամբողջ գործընթացի համար:

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