Агуулгын хүснэгт:

Дүлий зүлэгжүүлэгч роботыг илүү ухаалаг болгох: 4 алхам
Дүлий зүлэгжүүлэгч роботыг илүү ухаалаг болгох: 4 алхам

Видео: Дүлий зүлэгжүүлэгч роботыг илүү ухаалаг болгох: 4 алхам

Видео: Дүлий зүлэгжүүлэгч роботыг илүү ухаалаг болгох: 4 алхам
Видео: Trinary Time Capsule 2024, Долдугаар сарын
Anonim
Дүлий зүлэгжүүлэгч роботыг илүү ухаалаг болгох
Дүлий зүлэгжүүлэгч роботыг илүү ухаалаг болгох

Тиймээс надад зүлгэн дээрх хөөрхөн, гэхдээ тэнэг робот байна (Зураг www.harald-nyborg.dk-ээс авсан болно).

Энэ робот миний зүлгийг тайрах ёстой боловч миний зүлэг үнэхээр буланд ороход хэт том, нарийн төвөгтэй байдаг.

Миний зураг дээр олон тооны мод, дүүжин багц гэх мэтийг харуулаагүй болно. Үүний үр дүнд робот маш их цагийг өнгөрөөж, аль хэдийн тайрсан задгай хэсгүүдийг гүйж, хатуу хэсгийг хадахад маш бага цаг зарцуулдаг.

Тиймээс би гадаад оюун ухааныг нэмж оруулахаар шийдсэн.

23-04-2020 EDIT: мэдрэгч тийм ч сайн ажиллаагүй тул би хэд хэдэн зүйлийг өөрчилсөн

Хангамж

2 гадаа 2 талын унтраалга

ЭСВЭЛ

1 хуучин USB чиглүүлэгч

1 USB реле карт

1 дижитпарк

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: Мануэль олон талт хайчлах
Алхам 1: Мануэль олон талт хайчлах
Алхам 1: Мануэль олон талт хайчлах
Алхам 1: Мануэль олон талт хайчлах

Зураг дээр би нэг хайчлах талбайгаас 2 хэсэг рүү хэрхэн яаж явсныг харуулав.

Миний робот 2. өдөр бүр автоматаар асах болно, тиймээс би үүнийг нэг газраас нөгөөд шилжүүлэхээ мартсангүй.

Би танай танхимд эсвэл шатан дээр ашигладаг шиг 2 гарын авлагын унтраалга ашигласан.

Энэ нь миний ашиглаж байсан чанар муутайгаас бусад нь ажилласан, тиймээс би тэдгээрт алдаа гаргаж мөлхөж, будилуулж байсан.

Алхам 2: Алхам 2: Автомат шийдэл

Алхам 2: Автомат шийдэл
Алхам 2: Автомат шийдэл
Алхам 2: Автомат шийдэл
Алхам 2: Автомат шийдэл
Алхам 2: Автомат шийдэл
Алхам 2: Автомат шийдэл
Алхам 2: Автомат шийдэл
Алхам 2: Автомат шийдэл

Тиймээс би автоматаар ямар нэгэн зүйл хийхээр шийдсэн.

Би ашигласан Netgear R6100 чиглүүлэгчтэй болсон, учир нь энэ нь wifi, usb, санах ойтой тул OpenWrt болон найз нөхөддөө шахалт үзүүлэхийн оронд туршилт хийх туршилт хийхэд хангалттай санах ойтой.

Би ebays best usb 2.0 hub болон 12v реле карт авсан.

Дараа нь би өмнө нь хэрэгжүүлж байсан төслөөс олж авсан мэдээлэлтэй болсон. 23-04-2020 EDIT: оронд нь usb2seriel зүйл ашигласан

Би унтраалгын оронд реле холбосон. Би 3 ба 4 релейг ашигласан

Дараа нь би OpenWrt суулгаж, түүнд Crelay, picocom, coreutils-stty нэмсэн.

23-04-2020 EDIT: xxk, kmod-usb-serial-cp210x-ийг нэмсэн

Чиглүүлэгч ба реле самбар дээр 12V залгасан.

23-04-2020 EDIT: энэ хуудасны үлдсэн хэсгүүдийн оронд Urm 37 v3.2-ийг ашигласан

Дараа нь би "хөгжилтэй" зүйл сурсан. буухиа сав нь usb hub -ийг асаахыг оролдох бөгөөд ингэснээр digispark -ийг зөв дахин ачаалахад саад болно. Тиймээс би USB кабелийн тэжээлийн утсыг реле карт болон USB төвөөс таслав.

Дараа нь би digispark болон USB реле картыг usb 2.0 hub -д, hub -ийг чиглүүлэгч рүү залгасан.

Шударгаар хэлэхэд би digispark -ийг чиглүүлэгч рүү оруулахаасаа өмнө програмчилсан

Digispark дээр би P1 ба Gnd хооронд холбосон товчлуурыг нэмсэн.

Энэ товчлуурыг би байрлуулсан тул робот гаражаа цэнэглэсний дараа идэвхжүүлнэ.

Би сайн тууштай ажиллахын тулд идэвхжүүлэлтэд хавар нэмэх хэрэгтэй байв.

Алхам 3: Алхам 3: Програм хангамж

Файл нь digispark -д зориулсан arduino ide програмыг агуулдаг.

Үүнийг root/LawnSelector дээр байрлуулсан болно.

Энэ файлд arduino ide -д нэмэгдсэн digiCDC болон digispark самбар гэх мэт хэд хэдэн digispark libs хэрэгтэй болно.

Дараа нь тэнд/root/GrassCtr/* файлууд байна.

Эдгээр нь үнэхээр ажлыг гүйцэтгэдэг файлууд юм.

Kreds1 реленийг 1 -р бүс болгон өөрчилдөг

Kreds2 нь реленийг талбай2 болгон өөрчилдөг

KredsStatus нь USB реле, аль хэсэг идэвхтэй байгааг асууна

23-04-2020 EDIT: Digispark уншихын оронд UltraSoundSeriel ашиглана уу.

ReadDigiSpark, мягмар гараг бүр мэдээ уншдаг.. Хүлээгээрэй. Digispark -ийн оролтын төлөвийг уншдаг

GrassCtl нь сэтгэн бодох чадварыг бий болгодог.

Энд юу хийдэг вэ.

Хэрэв робот 10 -аас дээш цаг ажилласан бол роботыг шөнийн цагаар ажиллуулахаар шийдсэн бөгөөд энэ нь флипфлопыг идэвхжүүлсэн бөгөөд энэ нь бүс бүрт хоёр дахь удаагаа эхлэх боломжийг олгодог. Үүний шалтгаан нь миний робот ирмэгийг бүхэлд нь огтолж эхэлдэг бөгөөд ингэснээр өдөр бүр ирмэгийг нь огтолж авдаг.

Дараа нь робот хадаж эхэлмэгц мэдрэгч нь робот гадагш гарсныг мэдэгдэнэ.

Робот батерейгаа цэнэглэхээр буцаж ирэх бүрт (20 минутаас дээш хугацаагаар байхаар тодорхойлогдсон) тухайн хэсгийг нөгөө тал руу нь солино.

тэмдэглэнэ үү. Програм хангамж бол үнэхээр аймшигтай эмх замбараагүй байдал боловч энэ нь урагшаа болон дээшээ ажилладаг

Алхам 4: Алхам 4: Програм хангамжийг идэвхжүүлэх

Програм хангамжийг ажиллуулахын тулд бид ямар нэгэн зүйл хийх хэрэгтэй.

Би үүнийг cronJob дээр нэмсэн

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

файл руу

/etc/crontabs/root

Дараа нь cronjobs -ийг асаахын тулд би үүнийг хийсэн

/etc/init.d/cron идэвхжүүлэх

Миний хэлж байгаагаар робот одоо 1 эсвэл 2 -р талбайг хадаж эхлэх хооронд өөрчилж, батерейгаа цэнэглэх бүртээ хадаж байсан зүйлээ өөрчлөх болно.

Тийм ээ, одоо энэ нь бүх зүйлд хүрэх болно

Зөвлөмж болгож буй: