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

Խելամիտ շարժիչ ռոբոտին դարձնել ավելի խելացի ՝ 4 քայլ
Խելամիտ շարժիչ ռոբոտին դարձնել ավելի խելացի ՝ 4 քայլ

Video: Խելամիտ շարժիչ ռոբոտին դարձնել ավելի խելացի ՝ 4 քայլ

Video: Խելամիտ շարժիչ ռոբոտին դարձնել ավելի խելացի ՝ 4 քայլ
Video: Hören & Verstehen - Prüfungsvorbereitung B2/C1 2024, Սեպտեմբեր
Anonim
Խելամիտ շարժիչ ռոբոտին դարձնել ավելի խելացի
Խելամիտ շարժիչ ռոբոտին դարձնել ավելի խելացի

Այսպիսով, ես ունեմ մի գեղեցիկ, բայց հիմար խոտհնձիչ ռոբոտ (նկարը ՝ www.harald-nyborg.dk- ից):

Ենթադրվում է, որ այս ռոբոտը կտրում է իմ սիզամարգը, բայց իմ սիզամարգը չափազանց մեծ է և բարդ, որպեսզի այն իսկապես անկյուններ չընկնի:

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

Այսպիսով, ես որոշեցի ավելացնել որոշ արտաքին հետախուզություն:

23-04-2020 Խմբագրել. Սենսորը այնքան էլ չէր աշխատում, այնպես որ ես փոխեցի մի քանի բան

Պարագաներ

2 բաց երկկողմանի անջատիչ

ԿԱՄ

1 հին USB երթուղիչ

1 USB ռելեի քարտ

1 դիսպարկ

1 USB հանգույց

1 անջրանցիկ էլեկտրոնիկայի տուփ

23-04-2020 Խմբագրել:

OR1 հին USB երթուղիչ

1 USB ռելեի քարտ

1 usb2serial tll thinghy

1 USB հանգույց

1 անջրանցիկ էլեկտրոնիկայի տուփ

1 Dfrobot URM 37 v3.2 ուլտրաձայնային տվիչ (հավանաբար կարող եք օգտագործել ցանկացած սենսոր =)

kmod-usb-serial-cp210x

Քայլ 1: Քայլ 1. Մանուելի բազմատարածքային կտրում

Քայլ 1: Մանուելի բազմատարածք կտրելը
Քայլ 1: Մանուելի բազմատարածք կտրելը
Քայլ 1: Մանուելի բազմատարածք կտրելը
Քայլ 1: Մանուելի բազմատարածք կտրելը

Նկարը ցույց է տալիս, թե ինչպես ես անցա կտրման մեկ տարածքից ՝ 2 տարածք:

Իմ ռոբոտը ինքնագործարկվում է ամեն 2 -րդ օրը, ուստի քանի դեռ հիշում էի, որ այն պետք է փոխեմ մի տարածքից մյուսը, սա լավ աշխատեց:

Ես օգտագործեցի 2 մեխանիկական անջատիչ, ինչպես դրանք, որոնք դուք կօգտագործեիք սրահում կամ աստիճանահարթակում:

Սա աշխատեց, բացառությամբ այն, ինչ ես օգտագործում էի, շատ անորակ էին, և դրա պատճառով ես հայտնվեցի դրանց մեջ սողացող սխալներ

Քայլ 2: Քայլ 2: Ավտոմատ լուծում

Քայլ 2: Ավտոմատ լուծում
Քայլ 2: Ավտոմատ լուծում
Քայլ 2: Ավտոմատ լուծում
Քայլ 2: Ավտոմատ լուծում
Քայլ 2: Ավտոմատ լուծում
Քայլ 2: Ավտոմատ լուծում
Քայլ 2: Ավտոմատ լուծում
Քայլ 2: Ավտոմատ լուծում

Այսպիսով, ես որոշեցի ավտոմատ ինչ -որ բան անել:

Ես ձեռք բերեցի օգտագործված Netgear R6100 երթուղիչ, ես այն ստացա, քանի որ այն ունի wifi, usb և բավականաչափ հիշողություն `փորձեր կատարելու համար, այլ ոչ թե OpenWrt- ին և դրանում ընկերներին սեղմելու համար:

Ես ebays- ի լավագույն USB 2.0 հանգույց և 12 վ ռելե քարտ եմ ստացել:

Հետո ես ունեի մի Digispark ավելի վաղ նախագծի. 23-04-2020 Խմբագրել. Փոխարենը օգտագործել է usb2seriel thinghy

ես ռելեներ միացրեցի անջատիչների փոխարեն: Ես օգտագործել եմ 3 և 4 ռելեներ

Հետո ես տեղադրեցի OpenWrt- ը և դրան ավելացրեցի Crelay, picocom և coreutils-stty:

23-04-2020 Խմբագրել. Ավելացվել է նաև xxk, kmod-usb-serial-cp210x

12V- ը միացրեց երթուղիչին և ռելեի տախտակին:

23-04-2020 Խմբագրում. Այս էջի մնացած մասի փոխարեն օգտագործել է Urm 37 v3.2

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

Այնուհետև ես digispark- ը և USB ռելեի քարտը միացրեցի USB 2.0 հանգույցին, իսկ հանգույցը `երթուղղիչին:

Արդարության համար պետք է ասել, որ ես ծրագրավորել եմ digispark- ը այն երթուղիչին ավելացնելուց առաջ

Digispark- ում ես ավելացրեցի մի կոճակ, որը լարով կապեցի P1- ի և Gnd- ի միջև:

Այս կոճակը ես տեղադրել եմ, այնպես որ ռոբոտը կակտիվացնի այն, երբ այն ավտոտնակում լիցքավորվի:

Ես ստիպված էի մի աղբյուր ավելացնել ակտիվացմանը, լավ ամուր ներգրավվածություն ստանալու համար:

Քայլ 3. Քայլ 3. Softwareրագրակազմ

Ֆայլը պարունակում է arduino ide ծրագիր digispark- ի համար:

Այն տեղադրված է root/LawnSelector- ում:

Այս ֆայլին անհրաժեշտ է մի քանի Digispark libs, ինչպես digiCDC և digispark տախտակները, որոնք ավելացվել են arduino ide- ին:

Հետո այնտեղ/root/GrassCtr/* ֆայլերը:

Սրանք այն ֆայլերն են, որոնք իրականում կատարում են աշխատանքը:

Kreds1- ը ռելեներ փոխում է տարածքի 1 -ի

Kreds2- ը ռելեներ փոխում է տարածքի 2 -ի

KredsStatus- ը հարցնում է USB ռելեին, թե որ տարածքն է ակտիվ

23-04-2020 Խմբագրել. Digispark կարդալու փոխարեն օգտագործեք UltraSoundSeriel- ը:

ReadDigiSpark, ամեն երեքշաբթի կարդում է նորությունները: Սպասեք: Կարդում է digispark- ի մուտքային վիճակը

GrassCtl- ն մտածողություն է անում:

Ահա թե ինչ է դա անում:

Եթե ռոբոտը IN է ավելի քան 10 ժամ, նա որոշում է, որ ռոբոտը գիշերում է, և դա ակտիվացնում է մատնահետքը, ինչը ստիպում է այն սկսել յուրաքանչյուր վայրում ամեն երկրորդ անգամ: Դրա պատճառն այն է, որ իմ ռոբոտը սկսում է կտրել ամբողջ եզրը, և այդպիսով այն կտրում է ծայրերը ամեն երկրորդ օր:

Հետո, երբ ռոբոտը հնձում է, սենսորը կասի, որ ռոբոտը դուրս է:

Ամեն անգամ, երբ ռոբոտը վերադառնում է մարտկոցի լիցքավորման (որոշվում է, որ գտնվում է ավելի քան 20 րոպե), տարածքը կփոխվի մյուսի:

Խնդրում ենք նկատի ունենալ. Theրագրային ապահովումը սարսափելի խառնաշփոթ է, բայց այն աշխատում է ՝ առաջ և վեր

Քայլ 4: Քայլ 4: atingրագրակազմի ակտիվացում

Theրագրակազմը գործարկելու համար մենք պետք է ինչ -որ բան անենք:

Ես այն ավելացրեցի cronJob- ին

*/5 * * * */արմատ/GrassCtrl/GrassCtl

ֆայլին

/etc/crontabs/արմատ

Հետո, cronjobs- ը միացնելու համար ես արեցի

/etc/init.d/cron միացնել

Ինչպես լավագույնս կարող եմ ասել, ռոբոտն այժմ կփոխի 1 կամ 2 հնձման տարածքը սկսելու միջև և կփոխի այն, ինչ հնձված է ամեն անգամ, երբ դա եղել է մարտկոցների լիցքավորման ժամանակ:

Եվ այո, հիմա այն դառնում է ամեն ինչ

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