Բովանդակություն:
- Քայլ 1. ԳՆՈՄ ԱՆԿ
- Քայլ 2. ՄԵԽԱՆԻԿԱԿԱՆ ԴԻIGԱՅՆ
- Քայլ 3. ՄԱՍՆԵՐԻ ԱՐՏԱԴՐՈԹՅՈՆ
- Քայլ 4: Էլեկտրոնիկա
- Քայլ 5: PROՐԱԳՐՈԹՅՈՆ
- Քայլ 6. Հավաքում
- Քայլ 7: ՓՈՐՁՆԵՐ
- Քայլ 8: ԵINՐԱՓԱԿԻՉ ԹԵՍՏ
- Քայլ 9. Ի՞նչ ենք սովորել այս նախագծի հետ:
- Քայլ 10: Ինչպե՞ս ստիպել ռոբոտին հետևել մարդկանց:
Video: ԲՈANTՅՍԻ ՌՈԲՈՏ `10 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Բոլորը հաճույք են ստանում տանը բույսեր ունենալուց, բայց երբեմն մեր զբաղված կյանքով մենք ժամանակ չենք գտնում լավ խնամելու համար: Այս խնդրից մենք եկանք մի գաղափար. Ինչու՞ չստեղծել ռոբոտ, որը հոգ կտանի դրա մասին
Այս նախագիծը բաղկացած է բույս-ռոբոտից, որը հոգ է տանում իր մասին: Գործարանը ինտեգրված է ռոբոտի մեջ և կկարողանա ինքն իրեն ջրել և լույս գտնել ՝ միաժամանակ խուսափելով խոչընդոտներից: Դա հնարավոր է դարձել ռոբոտի և գործարանի վրա մի քանի տվիչների օգտագործմամբ: Այս Instructable- ը նպատակ ունի առաջնորդել ձեզ բույսերի ռոբոտ ստեղծելու գործընթացում, որպեսզի ամեն օր ձեր բույսերի մասին չմտահոգվեք:
Այս նախագիծը Bruface Mechatronics- ի մի մասն է և իրականացվել է ՝
Մերսեդես Արեվալո Սուարես
Դանիել Բլանկես
Բոդուեն Կորնելիս
Kaat Leemans
Մարկոս Մարտինես Խիմենես
Բազիլ Թեսսե
(Խումբ 4)
Քայլ 1. ԳՆՈՄ ԱՆԿ
Ահա այս ռոբոտը ստեղծելու համար ձեզ անհրաժեշտ բոլոր ապրանքների ցանկը: Յուրաքանչյուր ընդգծված կտորի համար հասանելի է հղում.
3D տպագիր շարժիչներ աջակցում են X1- ին (պատճենեք 3D- ով)
3D տպված անիվներ + անիվ-շարժիչ միացում X2 (պատճենը 3D- ով)
AA Nimh մարտկոցներ X8
Հղկող թղթի գլան X1
Arduino Mega X1
Գնդիկավոր անիվ X1
Մարտկոցի սեփականատեր X2
Թեստային տախտակ X1 թեստերի համար
Breadboard- ը X1- ին զոդելու համար
DC շարժիչներ (կոդավորիչով) X2
Ingխնիներ X2
Հիգրոմետր X1
Լույսի վրա կախված ռեզիստորներ X3
Արական-արական և արական-իգական ցատկողներ
Շարժիչային վահան X1
Գործարան X1 (սա ձեզանից է կախված)
Բույսերի զամբյուղ X1
Բույսերի աջակցություն X1 (3D տպագիր)
Պլաստիկ խողովակ X1
Տարբեր արժեքների դիմադրողներ
Քերծ թուղթ X1
Պտուտակներ
Սուր տվիչներ X3 (GP2Y0A21YK0F 10-80 սմ)
Անջատիչ X1
Pumpրի պոմպ X1
Resրամբարի բաք (փոքր Tupperware) X1
Լարերը
Խնդրում ենք նկատի ունենալ, որ այս ընտրությունները ժամանակի և բյուջեի սահմանափակումների արդյունք են (3 ամիս և 200 եվրո): Այլ ընտրություններ կարող են կատարվել ձեր հայեցողությամբ:
ՏԱՐԲԵՐ ԸՆՏՐՈԹՅՈՆՆԵՐԻ ՊԱՐPLԱԲԱՆՈԹՅՈՆ
Arduino Mega- ն Arduino Uno- ի նկատմամբ. Նախ, մենք նաև պետք է բացատրենք այն պատճառը, թե ինչու ենք մենք ընդհանրապես օգտագործում Arduino- ն: Arduino- ն բաց կոդով էլեկտրոնային նախատիպերի հարթակ է, որը հնարավորություն է տալիս օգտվողներին ստեղծել ինտերակտիվ էլեկտրոնային օբյեկտներ: Այն շատ տարածված է ինչպես փորձագետների, այնպես էլ սկսնակների միջև, ինչը նպաստում է դրա մասին ինտերնետում շատ տեղեկություններ գտնելուն: Սա կարող է օգտակար լինել ձեր նախագծի հետ խնդիր ունենալիս: Մենք ընտրեցինք Arduino Mega- ն Uno- ի փոխարեն, քանի որ այն ավելի շատ կապում է: Փաստորեն, սենսորների քանակի համար, որը մենք օգտագործում ենք Uno- ն, բավականաչափ կապում չի առաջարկվել: Mega- ն նաև ավելի հզոր է և կարող է օգտակար լինել, եթե ավելացնենք որոշ բարելավումներ, ինչպիսիք են WIFI մոդուլը:
Nimh մարտկոցներ. Առաջին գաղափարն էր օգտագործել LiPo մարտկոցները, ինչպես շատ ռոբոտային նախագծերում: LiPo- ն ունի լավ լիցքաթափման արագություն և հեշտությամբ վերալիցքավորվում է: Բայց շուտով մենք հասկացանք, որ LiPo- ն և լիցքավորիչը չափազանց թանկ են: Այս նախագծի համար հարմար այլ մարտկոցները, որտեղ գտնվում է Nimh- ը: Իրոք, դրանք էժան են, վերալիցքավորվող և թեթև: Շարժիչը սնուցելու համար մեզ պետք կգա դրանցից 8 -ը `9,6 Վ -ից (լիցքաթափված) մինչև 12 Վ (լրիվ լիցքավորված) լարման հասնելու համար:
Հաշվի առնելով այս շարժիչի հիմնական նպատակը ՝ ապահովել պտտվող էներգիան անիվներին, մենք ընտրեցինք երկու DC շարժիչ, այլ ոչ թե Servo Motors, որոնք սահմանափակում ունեն պտույտի անկյան տակ և նախատեսված են ավելի կոնկրետ առաջադրանքների համար, որտեղ պետք է դիրքորոշում սահմանվի: ճշգրիտ Կոդավորիչներ ունենալու փաստը նաև ավելացնում է անհրաժեշտության դեպքում ավելի բարձր ճշգրտություն ունենալու հնարավորությունը: Նկատի ունեցեք, որ մենք վերջապես չօգտագործեցինք կոդավորիչները, քանի որ հասկացանք, որ շարժիչները բավականին նման են, և մեզ պետք չէ, որ ռոբոտը հստակ գիծ ունենա:
Շուկայում շատ DC շարժիչներ կան, և մենք փնտրում էինք այն, որը կհամապատասխանի մեր բյուջեին և ռոբոտին: Այս սահմանափակումները բավարարելու համար երկու կարևոր պարամետր օգնեց մեզ ընտրել շարժիչը. Ռոբոտը շարժելու համար անհրաժեշտ պտտող մոմենտը և ռոբոտի արագությունը (անհրաժեշտ պտույտ / րոպեը գտնելու համար):
1) Հաշվիր rpm- ը
Այս ռոբոտին անհրաժեշտ չի լինի կոտրել ձայնի պատնեշը: Լույսին հետևելու կամ տանը մեկին հետևելու համար 1 մ/վ արագությունը կամ 3,6 կմ/ժ արագությունը ողջամիտ է թվում: Այն rpm- ի վերածելու համար մենք օգտագործում ենք անիվների տրամագիծը `9 սմ: RPM- ը տրվում է ՝ rpm = (60*արագություն (մ/վ))/(2*pi*r) = (60*1)/(2*pi*0,045) = 212 պտ/րոպե:
2) Հաշվարկեք անհրաժեշտ մեծ ոլորող մոմենտը
Քանի որ այս ռոբոտը կզարգանա հարթ միջավայրում, առավելագույն պտտող մոմենտը անհրաժեշտ է ռոբոտին շարժել սկսելու համար: Եթե հաշվի առնենք, որ գործարանի և յուրաքանչյուր բաղադրիչի հետ ռոբոտի քաշը մոտ 3 կիլո է, և անիվների և գետնի միջև շփման ուժերը օգտագործելով, մենք հեշտությամբ կարող ենք գտնել ոլորող մոմենտը: Հաշվի առնելով գետնի և անիվների միջև 1 շփման գործակիցը. Շփման ուժեր (Fr) = շփման գործակից: * N (որտեղ N- ը ռոբոտի քաշն է) սա մեզ տալիս է Fr = 1 * 3 * 10 = 30 N. Յուրաքանչյուր շարժիչի ոլորող մոմենտը կարելի է գտնել հետևյալ կերպ. T = (Fr * r)/2 որտեղ r- ն է անիվների շառավիղը, այնպես որ T = (30*0.045)/2 = 0.675 Նմ = 6.88 կգ սմ:
Սրանք են մեր ընտրած շարժիչի բնութագրերը `6V 175 պտույտ / րոպե և 4 կգ սմ 12V 350 պտույտ / րոպե և 8 կգ սմ: Իմանալով, որ այն կաշխատեցվի 9,6 -ից 12 Վ լարման միջև ՝ գծային ինտերպոլացիա անելով, ակնհայտորեն երևում է, որ վերը նշված սահմանափակումները կհամապատասխանվեն:
Լույսի տվիչներ. Մենք ընտրեցինք լույսի վրա հիմնված դիմադրիչներ (LDR), քանի որ դրանց դիմադրությունը արագորեն փոխվում է լույսի հետ, և LDR- ի լարումը կարելի է հեշտությամբ չափել `կիրառելով LDR պարունակող լարման բաժանարարի վրա մշտական լարում:
Սուր տվիչներ. Դրանք օգտագործվում են խոչընդոտներից խուսափելու համար: Սուր հեռավորության սենսորները էժան են և հեշտ օգտագործման համար, ինչը դրանք դարձնում է հանրաճանաչ ընտրություն օբյեկտների հայտնաբերման և ընդգրկման համար: Նրանք, որպես կանոն, ունեն թարմացման ավելի բարձր դրույքաչափեր և հայտնաբերման ավելի կարճ միջակայքեր, քան սոնարային տիրույթի որոնիչները: Շուկայում առկա են բազմաթիվ տարբեր մոդելներ ՝ տարբեր գործառնական տիրույթներով: Քանի որ դրանք օգտագործվում են այս նախագծում խոչընդոտներ հայտնաբերելու համար, մենք ընտրեցինք 10-80 սմ աշխատանքային տիրույթով մեկը:
Pumpրի պոմպ. Pumpրի պոմպը պարզ թեթև և ոչ շատ հզոր պոմպ է, որը համատեղելի է շարժիչների լարման տիրույթի հետ `երկուսի համար նույն սնունդը օգտագործելու համար: Գործարանը ջրով կերակրելու մեկ այլ լուծում էր ռոբոտից առանձնացված ջրի հիմքը, բայց ռոբոտի վրա ունենալը շատ ավելի պարզ է:
Հիգրոմետր. Հիգրոմետրը խոնավության տվիչ է, որը պետք է տեղադրվի գետնին: Դա անհրաժեշտ է, քանի որ ռոբոտը պետք է իմանա, թե երբ է կաթսան չորանում, որպեսզի ջուր ուղարկի դրան:
Քայլ 2. ՄԵԽԱՆԻԿԱԿԱՆ ԴԻIGԱՅՆ
Հիմնականում ռոբոտի դիզայնը բաղկացած է ուղղանկյուն տուփից, որի ներքևի մասում կան երեք անիվներ և վերևի բացվող կափարիչից: Գործարանը կտեղադրվի վերևում `ջրամբարով: Բույսի զամբյուղը տեղադրվում է բույսի ամանի ամրացման մեջ, որը պտուտակված է ռոբոտի վերին տախտակի վրա: Resրամբարը մի փոքր Tupperware է, որը քերծվել է ռոբոտի վերին տախտակի վրա, իսկ ջրի պոմպը նույնպես քերծվել է ջրամբարի ներքևի մասում, այնպես որ ամեն ինչ հեշտությամբ կարելի է հեռացնել Tupperware- ը ջրով լիցքավորելիս: Smallրամբարի կափարիչում փոքր անցք է կատարվում, քանի որ բույսերի կաթսա մտնող ջրի խողովակը և տուփի մեջ մտնող պոմպի սնունդը: Այսպիսով, արկղի վերին տախտակի վրա փոս է ստեղծվում, և հիգրոմետրի մալուխները նույնպես անցնում են այս անցքով:
Նախ, մենք ցանկանում էինք, որ ռոբոտը ունենար գրավիչ ձևավորում, այդ իսկ պատճառով որոշեցինք էլեկտրոնային մասը թաքցնել տուփի մեջ ՝ թողնելով գործարանի և ջրի սահմաններից դուրս: Սա կարևոր է, քանի որ բույսերը տան ձևավորման մի մասն են և չպետք է տեսողականորեն ազդեն տարածքի վրա: Տուփի բաղադրիչները հեշտությամբ հասանելի կլինեն վերևի կափարիչի միջոցով, իսկ կողային ծածկոցները կունենան անհրաժեշտ անցքեր, որպեսզի հեշտ լինի, օրինակ, միացնել ռոբոտը կամ Arduino- ն միացնել նոութբուքին, եթե ցանկանում ենք: նորից ծրագրելու համար:
Տուփի բաղադրիչներն են `Arduino- ն, շարժիչի վերահսկիչը, շարժիչները, LDR- ը, կույտերի ամրակները, տախտակը և ծխնիները: Arduino- ն տեղադրված է փոքր սյուների վրա, այնպես որ դրա հատակը վնասված չէ, իսկ շարժիչի վերահսկիչը տեղադրված է Arduino- ի վերևում: Շարժիչները պտուտակված են շարժիչի ամրացումներին, իսկ շարժիչների ամրացումներն այնուհետև պտուտակվում են տուփի ներքևի տախտակին: LDR- ն զոդվում է մի փոքրիկ կտորի վրա: Մինի անտառի տախտակները սոսնձված են այս տախտակի վրա, որպեսզի այն պտուտակեն ռոբոտի կողային երեսներին: Առջևում կա մեկ LDR, մեկը ձախ կողմում և մեկը աջ կողմում, որպեսզի ռոբոտը կարողանա իմանալ ամենաբարձր լույսի ուղղությունը: Կույտերի ամրակները քերծվում են տուփի ներքևի երեսին ՝ դրանք հեշտությամբ հեռացնելու և կույտերը փոխելու կամ լիցքավորելու համար: Այնուհետև տախտակը պտուտակվում է ներքևի տախտակին ՝ փոքր եռանկյունաձև սյուներով, որոնք ունեն հացաթխի անկյունի ձևի անցքեր ՝ այն ամրացնելու համար: Ի վերջո, ծխնիները պտուտակվում են հետևի և վերին երեսի վրա:
Առջևի երեսին երեք կտրուկ ուղիղ պտուտակվելու են, որպեսզի հնարավորինս լավ հայտնաբերեն և խուսափեն խոչընդոտներից:
Չնայած ֆիզիկական դիզայնը կարևոր է, մենք չենք կարող մոռանալ տեխնիկական մասի մասին, մենք կառուցում ենք ռոբոտ և այն պետք է գործնական լինի և հնարավորինս օպտիմալացնենք տարածքը: Սա ուղղանկյուն ձևի գնալու պատճառն է, դա լավագույն բաղադրիչն էր ՝ բոլոր բաղադրիչները դասավորելու համար:
Վերջապես, շարժման համար սարքը կունենա երեք անիվ. Դրանք ցուցադրվում են եռաստիճան շարժիչով, կոնֆիգուրացիայով, առջևի ղեկով և հետևի մեքենայով:
Քայլ 3. ՄԱՍՆԵՐԻ ԱՐՏԱԴՐՈԹՅՈՆ
Ռոբոտի ֆիզիկական տեսքը կարող է փոխվել `ելնելով ձեր հետաքրքրությունից: Տրամադրված են տեխնիկական գծագրեր, ինչը կարող է լավ հիմք հանդիսանալ սեփականը նախագծելիս:
Լազերային կտրված մասեր
Ռոբոտի պատյանը կազմող բոլոր վեց մասերը լազերային կտրված են: Դրա համար օգտագործվող նյութը վերամշակված փայտ է: Այս տուփը կարող է պատրաստվել նաև պլեքսիգլասից, որը մի փոքր ավելի թանկ է:
3D տպագիր մասեր
Երկու ստանդարտ անիվները, որոնք տեղադրված են ռոբոտի հետևի մասում, 3D տպագրվել են PLA- ում: Պատճառն այն է, որ անիվներ գտնելու միակ ճանապարհը, որը բավարարում էր բոլոր կարիքները (տեղավորվում էին DC շարժիչների մեջ, չափը, քաշը …), դա ինքնուրույն նախագծելն էր: Շարժիչի ամրացումը նույնպես բյուջետային պատճառներով 3D տպագրության ենթարկվեց: Այնուհետև բույսերի զամբյուղի հենարանը, Arduino- ի հենասյուները և հացատախտակին ամրացված անկյունները նույնպես 3D տպագրվեցին, որովհետև մեզ անհրաժեշտ էր մեր ռոբոտի որոշակի ձևի տեղադրում:
Քայլ 4: Էլեկտրոնիկա
Սուր տվիչներ. Սուր տվիչները ունեն երեք կապում: Դրանցից երկուսը սննդի համար են (Vcc և Ground), իսկ վերջինը ՝ չափված ազդանշանն է (Vo): Սնուցման համար մենք ունենք դրական լարում, որը կարող է լինել 4.5 -ից 5.5 Վ -ի միջև, այնպես որ մենք կօգտագործենք 5V- ն Arduino- ից: Vo- ն միացված կլինի Arduino- ի անալոգային կապերից մեկին:
Լույսի տվիչներ. Լույսի տվիչներին աշխատելու համար անհրաժեշտ է մի փոքր միացում: LDR- ն շարված է 900 կՕմ ռեզիստորով `լարման բաժանարար ստեղծելու համար: Հողը միացված է LDR- ին չմիացված դիմադրության քորոցին, իսկ Arduino- ի 5V- ը միացված է LDR- ի քորոցին, որը միացված չէ ռեզիստորին: Ռեզիստորի և միմյանց հետ կապված LDR- ի քորոցը միացված է Arduino- ի անալոգային կապին `այս լարումը չափելու համար: Այս լարումը կտատանվի 0 -ից 5 Վ -ի միջև ՝ 5 Վ -ով համապատասխանող լրիվ լույսին և մոտ զրոին `համապատասխան մթությանը: Այնուհետև ամբողջ շրջանը կփակցվի մի փոքրիկ տախտակի վրա, որը կարող է տեղավորվել ռոբոտի կողային տախտակներում:
Մարտկոցներ. Մարտկոցները պատրաստված են 4 կույտից ՝ 1.2 -ից 1.5 Վ լարման միջև, այնպես որ 4.8 -ից մինչև 6 Վ: Երկու կույտ պահողներ շարքի մեջ դնելով ՝ մենք ունենք 9,6 -ից 12 Վ լարման միջև:
Pumpրի պոմպ. Pumpրի պոմպն ունի նույն տեսակի միացում (հոսանքի վարդակ), ինչ Arduino- ի սնունդը: Առաջին քայլը կապը կտրելն ու մետաղալարն անջատելն է, որպեսզի մետաղալարն ունենա գետնին և մետաղալարը `դրական լարման համար: Քանի որ մենք ցանկանում ենք կառավարել պոմպը, այն շարքի կդնենք ընթացիկ կառավարելի տրանզիստորով, որն օգտագործվում է որպես անջատիչ: Այնուհետեւ պոմպին զուգահեռ տեղադրվելու է դիոդ `հետընթաց հոսքերը կանխելու համար: Տրանզիստորի ստորին ոտքը միացված է Arduino/մարտկոցների ընդհանուր գետնին, միջինը `Arduino- ի թվային կապին` 1kOhm ռեզիստորով `անընդմեջ Arduino- ի լարումը հոսանքի վերածելու համար, իսկ վերին մասը` սև մալուխի: պոմպը: Այնուհետեւ պոմպի կարմիր մալուխը միացված է մարտկոցների դրական լարման:
Շարժիչներ և վահան. Վահանը պետք է զոդել, այն առաքվում է առանց զոդման: Երբ դա արվի, այն տեղադրվում է Arduino- ի վրա `վահանի բոլոր գլուխները սեղմելով Arduino- ի կապում: Վահանը սնուցվելու է մարտկոցներով և այնուհետև սնուցելու է Arduino- ն, եթե թռիչքը միացված է (նկարում նարնջագույն կապում): Carefulգույշ եղեք, որ թռիչքը մի դրվի, երբ Arduino- ն սնուցվում է վահանից այլ միջոցի միջոցով, քանի որ այդ ժամանակ Arduino- ն կաշխատի վահանը, և այն կարող է այրել կապը:
Հացաթուղթ. Այժմ բոլոր բաղադրիչները կպչվեն հացահատիկի վրա: Մեկ կույտի սեփականատիրոջ ՝ Arduino- ի, շարժիչի վերահսկիչի և բոլոր տվիչների հիմքը կպչվեն մի շարքում (մեր տախտակամածի տողերի վրա նույն ներուժն է): Այնուհետև երկրորդ կույտի սև մալուխը կպչվի նույն շարքում, ինչ առաջին կույտի կրիչի կարմիրը, որի հիմքն արդեն զոդված է: Այնուհետև մալուխը կպցվի նույն շարքի վրա, ինչպես երկրորդ կույտի կրիչի կարմիր մալուխը, որը համապատասխանում է երկու շարքին: Այս մալուխը միացված կլինի անջատիչի մի ծայրին, իսկ մյուս ծայրը `մի շարանի վրա, որը կպցված է տախտակի վրա` ազատ շարքի վրա: Պոմպի կարմիր մալուխը և շարժիչի վերահսկիչի սնունդը կպչվեն այս շարքին (անջատիչը ներկայացված չէ նկարում): Այնուհետև Arduino- ի 5V- ը կզոդվի մեկ այլ շարքի վրա և յուրաքանչյուր սենսորի սնուցման լարումը կպչվի նույն շարքում: Փորձեք, երբ հնարավոր է, մի թռիչք կպցնել տախտակի վրա և մի ցատկիչի բաղադրիչի վրա, որպեսզի դրանք հեշտությամբ անջատեք, և էլեկտրական բաղադրիչների հավաքումը ավելի հեշտ կլինի:
Քայլ 5: PROՐԱԳՐՈԹՅՈՆ
Flowրագրի գծապատկեր
Programրագիրը բավականին պարզ է պահպանվել ՝ օգտագործելով պետական փոփոխականների հասկացությունը: Ինչպես տեսնում եք հոսքի գծապատկերում, այս վիճակները նաև առաջ են բերում առաջնահերթության հասկացություն: Ռոբոտը կստուգի պայմանները հետևյալ կարգով.
1) Պետություն 2 -ում. Արդյո՞ք բույսը բավարար ջուր ունի խոնավության_մակարդակ գործառույթով: Եթե հիգրոմետրով չափվող խոնավության մակարդակը 500 -ից ցածր է, ապա պոմպը կգործի մինչև խոնավության մակարդակը 500 -ից բարձր լինի: Երբ գործարանի բավարար ջուր լինի, ռոբոտը անցնում է 3 -րդ վիճակին:
2) 3 -րդ վիճակում. Գտեք առավելագույն լույսով ուղղությունը: Այս վիճակում բույսը բավականաչափ ջուր ունի և պետք է առավելագույն լույսով հետևի ուղղությանը ՝ միաժամանակ խուսափելով խոչընդոտներից: Light_direction գործառույթը տալիս է երեք լույսի տվիչների ուղղությունը, որն առավելագույն լույս է ստանում: Ռոբոտը այնուհետև կաշխատի շարժիչներով, որպեսզի հետևի այդ ուղղությանը follow_light գործառույթով: Եթե լույսի մակարդակը որոշակի շեմից բարձր է (բավարար_լույս), ռոբոտը դադարում է հետևել լույսին, քանի որ այն բավականաչափ ունի այս դիրքում (stop_motors): Լույսի հետևից 15 սմ -ից ցածր խոչընդոտներից խուսափելու համար իրականացվել է խոչընդոտի ուղղությունը վերադարձնելու գործառական խոչընդոտ: Խոչընդոտները պատշաճ կերպով խուսափելու համար ներդրվել է խուսափել_բացառիկ գործառույթը: Այս գործառույթը գործարկում է շարժիչը ՝ իմանալով, թե որտեղ է խոչընդոտը:
Քայլ 6. Հավաքում
Այս ռոբոտի հավաքումն իրականում բավականին հեշտ է: Բաղադրիչների մեծ մասը պտուտակված են տուփի վրա `համոզվելու համար, որ նրանք պահում են իրենց տեղը: Այնուհետեւ կույտերի պահողը, ջրի ջրամբարը եւ պոմպը քերծված են:
Քայլ 7: ՓՈՐՁՆԵՐ
Սովորաբար, ռոբոտ կառուցելիս ամեն ինչ հարթ չի ընթանում: Կատարյալ արդյունք ստանալու համար անհրաժեշտ են բազմաթիվ թեստեր ՝ հետևյալ փոփոխություններով: Ահա գործարանային ռոբոտի գործընթացի ցուցադրություն:
Առաջին քայլը ռոբոտին շարժիչներով, Arduino- ով, շարժիչով վերահսկիչով և լուսային տվիչներով նախատիպավորվող տախտակով տեղադրելն էր: Ռոբոտը պարզապես գնում է այն ուղղությամբ, որտեղ չափել է առավելագույն լույսը: Որոշվել է շեմը, որպեսզի ռոբոտը կանգնեցնի բավարար լույս ունենալու դեպքում: Երբ ռոբոտը սահում էր հատակին, մենք անիվների վրա ավելացրեցինք հղկող թուղթ `անվադողը մոդելավորելու համար:
Այնուհետեւ կառույցին ավելացվել են սուր տվիչները, որոնք փորձում են խուսափել խոչընդոտներից: Սկզբում երկու սենսորներ տեղադրվեցին առջևի մասում, իսկ երրորդը `մեջտեղում, քանի որ սուր սենսորները հայտնաբերման շատ սահմանափակ անկյուն ունեն: Ի վերջո, մենք ունենք երկու սենսոր ռոբոտի ծայրամասերում, որոնք հայտնաբերում են ձախ կամ աջ խոչընդոտները և մեկը մեջտեղում `որոշելու, թե արդյոք առջևում խոչընդոտ կա: Խոչընդոտները հայտնաբերվում են, երբ կտրվածքի լարումը բարձրանում է ռոբոտից 15 սմ հեռավորության համապատասխանող որոշակի արժեքից: Երբ խոչընդոտը կողքի է, ռոբոտը խուսափում է դրանից, և երբ խոչընդոտը մեջտեղում է, ռոբոտը կանգ է առնում: Խնդրում ենք նկատի ունենալ, որ կտրուկներից ներքև գտնվող խոչընդոտները չեն հայտնաբերվում, ուստի խոչընդոտները պետք է որոշակի բարձրություն ունենան, որպեսզի խուսափեն:
Դրանից հետո պոմպը և հիգրոմետրը փորձարկվեցին: Պոմպը ջուր է ուղարկում այնքան ժամանակ, քանի դեռ ջրաչափի լարումը ցածր է չոր կաթսային համապատասխանող որոշակի արժեքից: Այս արժեքը չափվել և որոշվել է փորձարարական եղանակով `չոր և խոնավ կաթսայի բույսերով փորձարկելով:
Վերջապես ամեն ինչ միասին փորձարկվեց: Բույսը նախ ստուգում է, արդյոք ունի բավարար ջուր, այնուհետև սկսում է հետևել լույսին ՝ միաժամանակ խուսափելով խոչընդոտներից:
Քայլ 8: ԵINՐԱՓԱԿԻՉ ԹԵՍՏ
Ահա տեսանյութեր, թե ինչպես է վերջապես աշխատում ռոբոտը: Հուսով եմ, որ դուք վայելեք այն:
Քայլ 9. Ի՞նչ ենք սովորել այս նախագծի հետ:
Չնայած այս նախագծի ընդհանուր արձագանքը հիանալի է, քանի որ մենք շատ բան ենք սովորել, սակայն վերջնաժամկետների պատճառով բավականին շեշտված ենք եղել այն կառուցելիս:
Առաջացած խնդիրները
Մեր դեպքում մենք մի քանի խնդիր ունեցանք գործընթացի ընթացքում: Նրանցից ոմանք հեշտ լուծելի էին, օրինակ, երբ բաղադրիչների առաքումը ուշանում էր, մենք պարզապես քաղաքում խանութներ էինք փնտրում, եթե կարող էինք դրանք գնել: Մյուսները մի փոքր ավելի շատ մտածողություն են պահանջում:
Unfortunatelyավոք, ոչ բոլոր խնդիրները լուծվեցին: Մեր առաջին գաղափարն էր համատեղել ընտանի կենդանիների և բույսերի բնութագրերը ՝ ստանալով յուրաքանչյուրից լավագույնը: Բույսերի համար մենք կարող էինք դա անել, այս ռոբոտի միջոցով մենք կկարողանանք ունենալ մի տուն, որը զարդարում է մեր տները, և մենք ստիպված չենք լինի հոգ տանել դրա մասին: Բայց ընտանի կենդանիների համար մենք չգտանք նրանց ստեղծած ընկերության մոդելավորման եղանակ: Մենք մտածեցինք տարբեր եղանակների մասին, որպեսզի այն հետևի մարդկանց, և սկսեցինք իրականացնել մեկը, բայց ժամանակ չունեինք այն ավարտելու համար:
Հետագա բարելավումներ
Չնայած մենք շատ կուզենայինք ստանալ այն ամենը, ինչ ցանկանում էինք, այս նախագծով սովորելը զարմանալի էր: Հնարավոր է, որ ավելի շատ ժամանակ ունենանք ավելի լավ ռոբոտ ձեռք բերելու համար: Այստեղ մենք առաջարկում ենք մեր ռոբոտը բարելավելու որոշ գաղափարներ, որոնք գուցե ձեզանից ոմանք ցանկանում են փորձել.
- Տարբեր գույների (կարմիր, կանաչ,…) լուսարձակների ավելացում, որն օգտագործողին ասում է, թե երբ պետք է լիցքավորվի ռոբոտը: Մարտկոցի չափումը կարող է կատարվել առավելագույն լարման լարման բաժանարարով, որն ունի 5 Վ առավելագույն լարում, երբ մարտկոցը լիովին լիցքավորված է, որպեսզի այդ լարումը չափի Arduino- ով: Այնուհետեւ համապատասխան led- ը միացված է:
- sensorրի տվիչի ավելացում, որն օգտագործողին ասում է, թե երբ պետք է լցվի ջրամբարը (ջրի բարձրության տվիչ):
- Ինտերֆեյսի ստեղծում, որպեսզի ռոբոտը կարողանա հաղորդագրություններ ուղարկել օգտվողին:
Եվ ակնհայտ է, որ մենք չենք կարող մոռանալ այն նպատակի մասին, որը մարդկանց կհետևի: Կենդանիներն այն բաներից են, որ մարդիկ ամենից շատ են սիրում, և հաճելի կլիներ, եթե ինչ -որ մեկը հասներ, որ ռոբոտը նմանակերտի այս վարքագիծը: Դա հեշտացնելու համար մենք այստեղ կտրամադրենք այն ամենը, ինչ ունենք:
Քայլ 10: Ինչպե՞ս ստիպել ռոբոտին հետևել մարդկանց:
Մենք պարզեցինք, որ դա անելու լավագույն միջոցը կլինի օգտագործել երեք ուլտրաձայնային տվիչ, մեկ արտանետիչ և երկու ընդունիչ:
Հաղորդիչ
Հաղորդիչի համար մենք կցանկանայինք ունենալ 50% աշխատանքային ցիկլ: Դա անելու համար դուք պետք է օգտագործեք 555 ժամաչափ, մենք օգտագործել էինք NE555N- ը: Նկարում կարող եք տեսնել, թե ինչպես պետք է կառուցվի շրջանը: Բայց դուք ստիպված կլինեք լրացուցիչ կոնդենսատոր ավելացնել 3 ելքի վրա, օրինակ ՝ 1 μF: Ռեզիստորները և կոնդենսատորները հաշվարկվում են հետևյալ բանաձևերով. (Նկարներ 1 և 2)
Քանի որ 50% աշխատանքային ցիկլը ցանկալի է, t1 և t2 հավասար կլինեն միմյանց: Այսպիսով, 40 կՀց հաղորդիչով t1 և t2 հավասար կլինեն 1.25*10-5 վ: Երբ վերցնում եք C1 = C2 = 1 nF, R1 և R2 կարելի է հաշվարկել: Մենք վերցրեցինք R1 = 15 kΩ և R2 = 6.8 kΩ, համոզվեք, որ R1> 2R2!
Երբ մենք դա ստուգեցինք օսկիլոսկոպի վրա, մենք ստացանք հետևյալ ազդանշանը: Սանդղակը 5 μs/div է, ուստի իրականում հաճախականությունը կլինի մոտ 43 կՀց: (Նկար 3)
Ընդունիչ
Ստացողի մուտքային ազդանշանը չափազանց ցածր կլինի Arduino- ի ճշգրիտ մշակման համար, ուստի մուտքային ազդանշանը պետք է ուժեղացնել: Դա կկատարվի շրջադարձային ուժեղացուցիչ պատրաստելու միջոցով:
Օպամպի համար մենք օգտագործեցինք LM318N, որը մենք սնուցում էինք Arduino- ից 0 Վ և 5 Վ լարման միջոցով: Դա անելու համար մենք ստիպված էինք բարձրացնել լարումը ազդանշանի շուրջ, որը տատանվում է: Այս դեպքում տրամաբանական կլինի այն բարձրացնել մինչև 2,5 Վ: Քանի որ մատակարարման լարումը սիմետրիկ չէ, մենք նաև պետք է կոնդենսատոր տեղադրենք դիմադրիչի առջև: Այս կերպ մենք պատրաստել ենք նաև բարձր անցման զտիչ: Մեր օգտագործած արժեքներով, հաճախականությունը պետք է լինի 23 կՀց -ից բարձր: Երբ մենք օգտագործում էինք A = 56 ուժեղացում, ազդանշանը հագեցած էր դառնում, ինչը լավ չէ, ուստի դրա փոխարեն օգտագործում էինք A = 18: Սա դեռ բավական կլինի: (Նկար 4)
Այժմ, երբ մենք ունենք ուժեղացված սինուսային ալիք, մեզ անհրաժեշտ է մշտական արժեք, որպեսզի Arduino- ն կարողանա չափել այն: Դա անելու միջոց է գագաթնակետային դետեկտորի միացում կազմել: Այս կերպ, մենք կարող ենք տեսնել, թե արդյոք հաղորդիչն ավելի հեռու է ստացողի՞ց, թե՞ այլ անկյան տակ, քան նախկինում, ունենալով կայուն ազդանշան, որը համաչափ է ստացված ազդանշանի ինտենսիվությանը: Քանի որ մեզ անհրաժեշտ է ճշգրիտ գագաթնակետային դետեկտոր, մենք դիոդ ենք դնում ՝ 1N4148, լարման հետևորդի մեջ: Դրանով մենք չունենք դիոդի կորուստ, և մենք ստեղծեցինք իդեալական դիոդ: Օպամպի համար մենք օգտագործում էինք նույնը, ինչ սխեմայի առաջին մասում և նույն սնուցման աղբյուրով `0 Վ և 5 Վ:
Parallelուգահեռ կոնդենսատորը պետք է լինի բարձր արժեք, այնպես որ այն շատ դանդաղ կթափվի, և մենք դեռ տեսնում ենք նույն գագաթնակետային արժեքի տեսակը, ինչ իրական արժեքը: Ռեզիստորը նույնպես զուգահեռաբար կտեղադրվի և շատ ցածր չի լինի, քանի որ հակառակ դեպքում արտանետումը ավելի մեծ կլինի: Այս դեպքում բավական է 1,5 μF և 56 kΩ: (Նկար 5)
Նկարում երեւում է ընդհանուր միացումը: Որտեղ դուրս է ելքը, որը մտնելու է Arduino: Իսկ 40 կՀց հաճախականությամբ AC ազդանշանը կլինի ընդունիչ, որտեղ դրա մյուս ծայրը միացված կլինի գետնին: (Նկար 6)
Ինչպես արդեն ասել էինք, մենք չէինք կարող սենսորները ինտեգրել ռոբոտի մեջ: Բայց մենք տրամադրում ենք թեստերի տեսանյութերը `ցույց տալու, որ սխեման աշխատում է: Առաջին տեսանյութում կարելի է տեսնել ուժեղացումը (առաջին OpAmp- ից հետո): Օսլիլոսկոպում արդեն կա 2,5 Վ օֆսեթ, այնպես որ ազդանշանը գտնվում է մեջտեղում, ամպլիտուդը տատանվում է, երբ սենսորները փոխում են ուղղությունը: Երբ երկու տվիչները կանգնած են միմյանց դեմ, սինուսի ամպլիտուդը կլինի ավելի բարձր, քան երբ սենսորները երկուսի միջև ավելի մեծ անկյուն կամ հեռավորություն ունեն: Երկրորդ տեսանյութի վրա (սխեմայի ելքը) կարելի է տեսնել ուղղված ազդանշանը: Կրկին, ընդհանուր լարումը կլինի ավելի բարձր, երբ սենսորները կանգնած են միմյանց դեմ, քան երբ դրանք չեն: Ազդանշանը ամբողջովին ուղիղ չէ կոնդենսատորի լիցքաթափման և վոլտերի/բաժանման պատճառով: Մենք կարողացանք չափել անընդհատ նվազող ազդանշանը, երբ տվիչների միջև եղած անկյունը կամ հեռավորությունը այլևս օպտիմալ չէին:
Գաղափարն այն էր, որ ռոբոտը ստանա ընդունիչ, իսկ օգտագործողը `հաղորդիչ: Ռոբոտը կարող էր ինքն իրեն շրջել ՝ հայտնաբերելու, թե որ ուղղությամբ է ինտենսիվությունը ամենաբարձրը և կարող է գնալ այդ ուղղությամբ: Ավելի լավ միջոց կարող է լինել ունենալ երկու ընդունիչ և հետևել ամենաբարձր լարումը հայտնաբերող ստացողին, և նույնիսկ ավելի լավ միջոց է տեղադրել երեք ընդունիչ և տեղադրել դրանք LDR- ի նման ՝ իմանալու, թե որ ուղղություններով է արձակվում օգտագործողի ազդանշանը (ուղիղ, ձախ կամ աջ).
Խորհուրդ ենք տալիս:
Խոչընդոտներից խուսափելու ռոբոտ ՝ օգտագործելով ուլտրաձայնային տվիչ (Proteus) ՝ 12 քայլ
Խոչընդոտներից խուսափող ռոբոտ ՝ օգտագործելով ուլտրաձայնային տվիչ (Proteus). Մենք ընդհանրապես ամենուր հանդիպում ենք խոչընդոտներից խուսափող ռոբոտի: Այս ռոբոտի ապարատային մոդելավորումը շատ քոլեջներում և շատ իրադարձություններում մրցակցության մի մասն է: Բայց խոչընդոտող ռոբոտի ծրագրային մոդելավորումը հազվադեպ է: Թեև եթե մենք կարողանանք ինչ -որ տեղ գտնել այն
Արդուինո - Լաբիրինթոս լուծող ռոբոտ (MicroMouse) Wall հետևող ռոբոտ. 6 քայլ (նկարներով)
Արդուինո | Maze Solving Robot (MicroMouse) Wall After Robot: Բարի գալուստ, ես Իսահակն եմ, և սա իմ առաջին ռոբոտն է " Striker v1.0 ". Այս ռոբոտը նախատեսված էր պարզ լաբիրինթոս լուծելու համար: Մրցույթում մենք ունեինք երկու լաբիրինթոս և ռոբոտը կարողացավ դրանք բացահայտել: Լաբիրինթոսում ցանկացած այլ փոփոխություն կարող է պահանջել փոփոխություն
RC վերահսկվող ռոբոտ XLR8- ում: Կրթական ռոբոտ ՝ 5 քայլ
RC վերահսկվող ռոբոտ XLR8- ում: Կրթական ռոբոտ. Բարև, այս հոդվածում ձեզ ցույց կտա, թե ինչպես կառուցել հիմնական ռոբոտ: «Ռոբոտ» բառը բառացիորեն նշանակում է «ստրուկ»: կամ «աշխատող»: Արհեստական բանականության ոլորտում առաջընթացների շնորհիվ ռոբոտներն այլևս պարզապես Իսակ Ասիմովի գիտաֆանտաստիկայի մի մասը չեն
Հավասարակշռող ռոբոտ / 3 անիվի ռոբոտ / STEM ռոբոտ ՝ 8 քայլ
Հավասարակշռող ռոբոտ / 3 անիվի ռոբոտ / STEM ռոբոտ. Մենք կառուցել ենք համակցված հավասարակշռող և եռանիվ ռոբոտ `կրթական օգտագործման համար դպրոցներում և դպրոցից հետո կրթական ծրագրերում: Ռոբոտը հիմնված է Arduino Uno- ի, սովորական վահանի վրա (շինարարության բոլոր մանրամասները տրամադրված են), Li Ion մարտկոցի տուփով (բոլորը կառուցված են
[Arduino Robot] Ինչպես պատրաստել շարժիչով գրավող ռոբոտ - Մեծ մատներ ռոբոտ - Սերվո շարժիչ - Աղբյուրի կոդ ՝ 26 քայլ (նկարներով)
[Arduino Robot] Ինչպես պատրաստել շարժիչով գրավող ռոբոտ | Մեծ մատներ ռոբոտ | Սերվո շարժիչ | Աղբյուրի կոդ ՝ Thumbs Robot: Օգտագործվել է MG90S servo շարժիչի պոտենցիոմետր: Դա շատ զվարճալի և հեշտ է: Կոդը շատ պարզ է: Այն ընդամենը մոտ 30 տող է: Կարծես շարժման գրավում լինի: Խնդրում ենք թողնել որևէ հարց կամ կարծիք: [Հրահանգ] Աղբյուրի կոդը ՝ https: //github.c