Мазмуну:

Дудук чөп чабуучу роботту акылдуу кылуу: 4 кадам
Дудук чөп чабуучу роботту акылдуу кылуу: 4 кадам

Video: Дудук чөп чабуучу роботту акылдуу кылуу: 4 кадам

Video: Дудук чөп чабуучу роботту акылдуу кылуу: 4 кадам
Video: Баары артта калды! - Бельгиядагы укмуштай ташталган Виктория үйү 2024, Декабрь
Anonim
Дудук чөп чабуучу роботту акылдуу кылуу
Дудук чөп чабуучу роботту акылдуу кылуу

Ошентип, менин сүйкүмдүү, бирок келесоо газон чабуучу роботум бар (Сүрөт www.harald-nyborg.dk сайтынан алынган).

Бул робот менин газонумду кесиши керек, бирок менин газонум өтө чоң жана татаал болгондуктан, ал чындап бурчтарга түшөт.

Менин чиймелеримде көптөгөн дарактар жана селкинчек топтому жана башкалар көрсөтүлгөн эмес. Натыйжада, робот ЖОЛДУ көп убакытка чейин коротот, буга чейин чабылган ачык бөлүктөрдү чуркап өтөт жана катуу бөлүктөрдү чабууга өтө аз убакыт кетет.

Ошентип, мен тышкы интеллектти кошууну чечтим.

23-04-2020 ТҮЗӨТҮҮ: сенсор такыр иштебей калды, ошондуктан мен бир нече нерсени өзгөрттүм

Жабдуулар

2 тышкы 2 тараптуу которгучтар

ЖЕ

1 эски USB роутер

1 USB реле картасы

1 digispark

1 usb хаб

1 суу өткөрбөгөн электроника кутусу

23-04-2020 ТҮЗӨТҮҮ:

OR1 эски USB роутери

1 USB реле картасы

1 usb2serial tll нерсе

1 usb хаб

1 суу өткөрбөгөн электроника кутусу

1 Dfrobot URM 37 v3.2 ультрадыбыштуу сенсор (балким, кандайдыр бир сенсорду колдонсоңуз болот =)

kmod-usb-serial-cp210x

1 -кадам: 1 -кадам: Мануэль көп аймакты кесүү

1 -кадам: Manuel Multi Area Cutting
1 -кадам: Manuel Multi Area Cutting
1 -кадам: Manuel Multi Area кесүү
1 -кадам: Manuel Multi Area кесүү

Сүрөт менин бир кесүү аянтынан 2 жерге кантип кеткенимди көрсөтөт.

Менин роботум ар бир 2. күндө автоматтык түрдө башталат, ошондуктан мен аны бир аймактан экинчисине алмаштырууну унутпасам, бул жакшы иштеген.

Мен коридордо же тепкичте колдоно турган 2 кол которгучту колдондум.

Бул иштеди, мен колдонгондордун сапаты өтө начар болчу, андыктан менде каталар пайда болуп, аларды аралаштырып жиберди

2 -кадам: 2 -кадам: Автоматтык чечим

2 -кадам: Автоматтык чечим
2 -кадам: Автоматтык чечим
2 -кадам: Автоматтык чечим
2 -кадам: Автоматтык чечим
2 -кадам: Автоматтык чечим
2 -кадам: Автоматтык чечим
2 -кадам: Автоматтык чечим
2 -кадам: Автоматтык чечим

Ошентип, мен автоматтык түрдө бир нерсе кылууну чечтим.

Менде колдонулган Netgear R6100 роутери бар, мен муну алдым, анткени ал Wi -Fi, usb жана эс тутуму менен эксперимент жасоо үчүн, аны OpenWrtти жана анын досторун кысуу жөнүндө кылуунун ордуна.

Менде ebays мыкты USB 2.0 хабы жана 12в реле картасы бар.

Андан кийин мен мурунку долбоордон башка маалымат алдым. 23-04-2020 EDIT: анын ордуна usb2seriel нерсени колдонушту

Мен өчүргүчтөрдүн ордуна релелерди өткөрдүм. мен 3 жана 4 релесин колдондум

Андан кийин мен OpenWrtти орнотуп, ага Crelay, picocom жана coreutils-stty коштум.

23-04-2020 EDIT: xxk, kmod-usb-serial-cp210x дагы кошулду

Роутер менен реле тактасына 12В туташтырылган.

23-04-2020 EDIT: Бул барактын ордуна Urm 37 v3.2 колдонулган

Анан мен "кызыктуу" нерсени үйрөндүм. релелик боб usb hub'ын иштетүүгө аракет кылат, ошону менен digisparkтин туура кайра жүктөлүшүнө тоскоол болот. Ошентип, мен USB кабелиндеги электр зымын реле картасынан жана USB хабынан кесип салдым.

Андан кийин мен digispark менен USB реле картасын USB 2.0 хабына, ал эми хабды роутерге туташтырдым.

Адилеттүүлүк үчүн, мен роутерге кошуудан мурун digisparkти программаладым

Digisparkта, мен баскычты коштум, аны мен P1 менен Gnd ортосунда зымдап койгом.

Бул баскычты мен койгом, андыктан робот аны гараждын заряддоосунда иштетет.

жакшы активдүү катышуу үчүн, активацияга булак кошушум керек болчу.

3 -кадам: 3 -кадам: Программалык камсыздоо

Файлда digispark үчүн arduino ide программасы бар.

Ал root/LawnSelectorго жайгаштырылган.

Бул файлга digiCDC жана arduino ideге кошулган digispark такталары сыяктуу бир нече digispark libs керек.

Андан кийин/root/GrassCtr/* файлдары бар.

Бул чынында ишти аткарган файлдар.

Kreds1 реледи 1ге алмаштырат

Kreds2 релени 2ге алмаштырат

KredsStatus USB релесин сурайт, кайсы аймак активдүү

23-04-2020 EDIT: Digispark окуу ордуна UltraSoundSeriel колдонуңуз.

ReadDigiSpark, шейшемби сайын жаңылыктарды окуйт.. Күтө туруңуз. Digisparkтын кирүү абалын окуйт

GrassCtl ойлонууну жасайт.

Мына, ал эмне кылат.

Эгерде робот 10 сааттан ашык INда болсо, анда ал роботту түн ичинде болот деп чечет жана бул флипфлопту активдештирет, бул аны ар бир аймакта экинчи жолу баштайт. Мунун себеби, менин роботум бүт четин кесүүдөн баштайт жана ушинтип, ал күн сайын кырларын кесип салат.

Андан кийин робот чөп чаап жаткандан кийин, сенсор роботтун чыгып кеткенин айтат.

Робот батарейканы кубаттоо үчүн кайтып келген сайын (20 мүнөттөн ашык убакыт ичинде болот) аймак башка аймакка алмаштырылат.

көңүл буруңуз. Программалык камсыздоо - бул кудайдын баш аламан иши, бирок ал алдыга жана өйдө карай иштейт

4 -кадам: 4 -кадам: Программаны иштетүү

Программаны иштетүү үчүн, биз бир нерсе кылышыбыз керек.

Мен аны cronJobко коштум

*/5 * * * */root/GrassCtrl/GrassCtl

файлга

/etc/crontabs/root

Андан кийин, cronjobs күйгүзүү үчүн мен кылдым

/etc/init.d/cron иштетүү

Мен айта алам, робот азыр 1 же 2 чөп чабуунун ортосунда өзгөрөт жана батарейкаларды кубаттоодо болгон сайын чөптү алмаштырат.

Ооба, азыр ал эч нерсеге жетпейт

Сунушталууда: