Агуулгын хүснэгт:
2025 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2025-01-23 15:00
WiFi-UART гүүр барихын тулд та энэ github репо-г үзэх боломжтой:
Үүнийг эхлүүлэх сайхан үндэс суурь бий. Цэнэглэх явцад Roomba VCC нь 20 вольт хүртэл нэмэгддэг тул зааврыг сайн уншсан эсэхээ шалгаарай. Хэрэв та ESP8266-ийг 20В хүртэл ажиллах чадвартай, 3.3В хүртэл хөрвүүлдэг зохистой хөрвүүлэгчгүй бол ESP-ийг гэмтээх болно.
ESP ашигладаг 5V UART логик түвшинг Roomba -аас 3.3V болгон өөрчлөхийн тулд түвшин шилжүүлэгч (жишээлбэл хүчдэл хуваагч ашиглан) ашиглахаа мартуузай.
Өөр нэг чухал зүйл бол Бак хөрвүүлэгч нь 300 мА байх ёстой, гэхдээ үүнээс хамаагүй бага эсвэл их байх ёстой (Бак хөрвүүлэгчээс хамаарна). Илүү их гүйдэл хийж чаддаг боловч эхлүүлэх явцад хэт их гүйдэл авдаг тул Roomba-ийг сүйрэлд хүргэдэг зарим зүйл байдаг. Pololu 3.3V, 300mA Step-Down Voltage Regulator (D24V3F3) нь үнэхээр төгс ажилладаг болохыг олж мэдсэн. 500mA / 600mA -ийн өөр хувилбарууд нь Roomba UART интерфэйсийг сүйрүүлэхэд хүргэсэн. Үндсэндээ Roomba нь UART интерфэйсээр дамжуулан тушаалыг хүлээж авдаггүй боловч товчлуур дарахад хариу үйлдэл үзүүлдэг байв. Ийм зүйл болсны дараа бид Roomba-ийн батерейг аваад, WiFi-UART гүүр залгаад Roomba-г хүйтэн дахин эхлүүлэх шаардлагатай болсон. Гэсэн хэдий ч зөвхөн D24V3F3 сайн ажилласан.
Техникийн нарийн ширийн зүйлээс гадна та Roomba нээлттэй интерфэйсийн техникийн тодорхойлолтоос олж болох нэмэлт командыг кодонд оруулах ёстой. Та өрөөнийхөө хариу өгөхийг хүсч буй бүх тушаалуудыг (жишээлбэл, арагш, урагш, хурд гэх мэт) нэмэх шаардлагатай болно.
arduino IDE дээрх жишээ:
void goForward () {char c = {137, 0x00, 0xc8, 0x80, 0x00}; // 0x00c8 == 200 Serial.print (c); }
void goBackward () {char c = {137, 0xff, 0x38, 0x80, 0x00}; // 0xff38 == -200 Serial.print (c); }
void spinLeft () {char c = {137, 0x00, 0xc8, 0x00, 0x01}; Цуваа.хэвлэх (c); }
void spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Цуваа.хэвлэх (c); }
Хэрэв та lua хэлээр бичвэл арай өөр харагдаж байвал Зүүн тийш эргэх жишээ дараах байдлаар харагдах болно.
хэрэв (_GET.pin == "ЗҮҮН") дараа нь хэвлэ ('\ 137'); --VOR
tmr.delay (100);
хэвлэх ('\ 00'); -Хурд = 200 = 0x00C8 -> 0 ба 200
tmr.delay (100);
хэвлэх ('\ 200'); - Хурд
tmr.delay (100);
хэвлэх ('\ 254'); - Радиус = 500 = 0x01F4 = 0x01 0xF4 = 1 244
tmr.delay (100);
хэвлэх ('\ 12'); - Эргэх
Төгсгөл
Та Roomba -ийнхээ нээлттэй интерфэйсийн тайлбарыг залруулах ёстой эсэхийг шалгаарай. Хамгийн багадаа хоёр нээлттэй интерфэйсийн техникийн үзүүлэлтүүд байдаг.
Roomba 5xx цувралын хувьд:
Roomba 6xx цувралын хувьд:
Та WiFi-UART гүүрээ барьж, командыг туршиж үзсэнийхээ дараа том алхам хийлээ. Энэхүү видео нь аппликешн ба арга нь үр дүнтэй болохыг харуулж байна. Бид жаахан залхуу байсан, вэб интерфэйс дээр урагш, хойш, хурд, баруун, зүүн гэх мэт бусад бүх хяналтын командууд байдаггүй, гэхдээ та тушаалуудыг http -ээр дамжуулан өгч болно. Юутай ч Roomba -ийн алсын удирдлага нь ESP8266 ашиглан хялбархан техник хангамж, програм хангамжаар ажилладаг болохыг харуулсан жишээ юм.
Одоо та Roomba -г PC програмаас алсаас удирдах боломжтой болсон тул ганц л дутагдаж байгаа зүйл бол доторх нутагшуулалт юм. Бидний зорилго бол роботыг тодорхой чиглэлд чиглүүлэх явдал байсан тул бидэнд санал хүсэлтийн хэлхээг хаах хэрэгтэй. Үүнийг хийцгээе.
Алхам 3: Дотоод нутагшуулах системийг тохируулна уу
Санал хүсэлтийн хэлхээг хаахын тулд бид доторх нутагшуулах системийг ашигладаг. Үүний тулд бид Localino ашигладаг. Localino систем нь "зангуу" ба "шошго" -оос бүрдэнэ. Зангууг өрөөн доторх тогтмол байрлалд байрлуулж, хөдлөх тагны байрлалыг (Roomba дээр байрлуулсан) байрлуулна. Байршлын боловсруулалтыг PC програм дээр хийдэг. Энэ нь маш том давуу тал юм, учир нь та Roomba -г нэг компьютерээс удирдах боломжтой. Localino вэбсайтаас үнэгүй эх код байдаг бөгөөд үүнийг питоноор бичсэн бөгөөд шошгоны XYZ координатыг санал болгодог бодит цагийн урсгал байдаг. Өгөгдлийн дамжуулалтыг UDP сүлжээгээр дамжуулан авах боломжтой боловч та MQTT эсвэл өөр дуртай зүйлээ нэмж болно. Хэрэв та Python -ийг мэддэг бол танд туслах олон номын сан байдаг.
Энэ видеонд Roomba -ийн нутагшуулалтыг харуулав. Тиймээс бид өрөөндөө 4 байрлалыг суурилуулсан бөгөөд энэ нь Roomba -ийн 3D байрлалыг зөвшөөрдөг. Ерөнхийдөө бидэнд зөвхөн 3 зангуу хэрэгтэй болно, учир нь Roomba нь Z тэнхлэгт хөдлөхгүй тул 2D хангалттай байх болно. Гэхдээ зангуу нь хувьсах гүйдлийн залгуурын өндөрт (газрын гадаргаас ойролцоогоор 30см өндөрт) байрладаг тул 2D тохиргоо нь байрлалыг тооцоолоход бага алдаа гаргадаг. Тиймээс бид 4 зангуутай болж, 3D форматаар нутагшуулахаар шийдлээ.
Одоо бид Roomba -ийн байрлалыг олж авсны дараа бидний дараагийн алхам бол Roomba -г ижил програмаас хянах явдал юм. Гол санаа бол роботыг цэвэрлэх төгс замыг тооцоолох явдал юм. Localino -ийг ашигласнаар бид санал хүсэлтийн хэлхээг хааж, роботыг PC програмаас удирдах боломжтой болно.
Тохиргооны тайлбар
Локалино зангууг өрөөн доторх өөр өөр x, y байрлалд байрлуулж, гурвыг нь ижил z байрлалд байрлуулна. Дөрвөн зангуу тутмын нэгийг өөр z өндөрт байрлуулна. Roomba -тай хамт хөдөлж буй Localino тагнаас сайн хамрах хүрээ байгаа эсэхийг шалгаарай.
Бүх зангуу нь Localino -ийн баркод дээр харагддаг өвөрмөц зангуу ID -тай бөгөөд үүнийг "localino тохиргоо" хэрэгслээр уншиж болно.
X, Y, Z болон зангуу ID дээрх байрлалыг анхаарч үзээрэй. Энэ нь Localino процессорын програм хангамжид шаардлагатай бөгөөд "LocalinoProcessor" фолдер доторх "localino.ini" файлд тохируулах ёстой.
Зангуу нь Z дээр дээш эсвэл доошоо чиглэсэн байх ёстой (XY талбай хамрагдсан үед), гэхдээ хамрагдсан талбайн чиглэлд биш. Зангууг металл эсвэл бусад утасгүй дохиог хөндөх материалаар хучих ёсгүй. Хэрэв энэ боломжгүй бол аливаа материал ба зангуу хооронд тодорхой агаарын зай байх ёстой.
… цаашид ирэх болно.
Алхам 4: Python програм хангамжийг тохируулна уу
хүлээж байгаарай. илүү их ирэх болно.
Зөвлөмж болгож буй:
Garmin GPS -ийнхээ захиалгат газрын зургийг бий болгох: 8 алхам (зурагтай)
Garmin GPS -ийнхээ захиалгат газрын зургийг бий болгох: Хэрэв та явган аялал, гадаа бусад үйл ажиллагаанд зориулагдсан Garmin GPS -тэй бол (GPSMAP, eTrex, Колорадо, Дакота, Орегон, Монтана цуврал гэх мэт) бусад тохиолдолд үүнийг хийх шаардлагагүй болно. үүн дээр урьдчилан ачсан нүцгэн газрын зургийг шийдэх. E
Google газрын зургийг ашиглан газрын зургийн ном хийх: 17 алхам (зурагтай)
Google газрын зургийг ашиглан газрын зургийн ном хийх: Өмнөх өдөр нь миний найз охин тэнд амьдардаг тул гудамжны нарийвчилсан газрын зураг хэрэгтэй байгаа тул би номын дэлгүүрээс DuPage County, IL -ийн гудамжны гарын авлага хайж байсан юм. Харамсалтай нь тэдэнд ойрхон байсан цорын ганц зүйл бол Күүк Каунтид байсан юм (жишээ нь
Sigfox -ээр дамжуулан цахилгаан хэрэглээ ба хүрээлэн буй орчны хяналт: 8 алхам
Sigfox-ээр дамжуулан цахилгаан хэрэглээ ба хүрээлэн буй орчны хяналт: Тодорхойлолт Энэхүү төсөл нь гурван фазын цахилгаан хуваарилалт бүхий өрөөний цахилгааны хэрэглээг хэрхэн яаж авахыг харуулах бөгөөд дараа нь Sigfox сүлжээ ашиглан 10 минут тутамд сервер рүү илгээх болно. Цахилгаан хүчийг хэрхэн хэмжих вэ? Бид гурван гүйдлийн хавчаарыг авсан
Хүрээлэн буй орчны гэрэлтүүлгийг сануулах машин: 3 алхам
Хүрээлэн буй орчны гэрэлтүүлгийг сануулах машин: Энэ машины тухай: Хэрэв таны эргэн тойронд хэт харанхуй байвал таны нүдийг гэмтээж болзошгүй бол танд сануулах дуу гарах болно
Цаг, мэдээ, хүрээлэн буй орчны өгөгдлийг MQTT EInk дэлгэцээр харуулах: 7 алхам
Цаг, мэдээ, хүрээлэн буй орчны өгөгдөлд зориулсан өөрийн MQTT EInk дэлгэцийг хий: ‘THE’ бол цаг, мэдээ, байгаль орчны мэдээлэлд зориулсан MQTT мэдээллийн мини дэлгэц юм. 4.2 инчийн eInk дэлгэцийг ашигласнаар түүний ойлголт нь энгийн бөгөөд мэдээллийг минут тутамд харуулах бөгөөд хоёр минут тутамд шинэчилдэг. Өгөгдөл нь ямар ч тэжээл байж болно - f