Orodha ya maudhui:

Nyimbo za Localino Roomba IRobot, Ramani za Mazingira na Inaruhusu Udhibiti: 4 Hatua
Nyimbo za Localino Roomba IRobot, Ramani za Mazingira na Inaruhusu Udhibiti: 4 Hatua

Video: Nyimbo za Localino Roomba IRobot, Ramani za Mazingira na Inaruhusu Udhibiti: 4 Hatua

Video: Nyimbo za Localino Roomba IRobot, Ramani za Mazingira na Inaruhusu Udhibiti: 4 Hatua
Video: INSTASAMKA - ЗА ДЕНЬГИ ДА (Премьера клипа, 2023, prod. realmoneyken) 2024, Julai
Anonim
Image
Image

Ili kujenga daraja la WiFi-UART, unaweza kuangalia repo hii ya github:

Inayo msingi mzuri wa kuanza nayo. Hakikisha umesoma mwongozo vizuri, kwa sababu Roomba VCC wakati wa kuchaji huongezeka hadi Volts 20! Ikiwa utaongeza ESP8266 bila kibadilishaji kibadilifu ambacho hufanya kazi hata hadi 20V na inabadilisha chini hadi 3.3V, utaharibu ESP yako.

Hakikisha pia kutumia shifter ya kiwango (k.m. kutumia mgawanyiko wa voltage) kuhamisha viwango vya mantiki vya UV 5V kutoka Roomba hadi 3.3V, ambayo hutumiwa na ESP.

Maelezo mengine muhimu ni kwamba, kibadilishaji cha bibi kinapaswa kuwa na 300mA, lakini noch kidogo sana au zaidi (kulingana na kibadilishaji cha dume yenyewe). Kuna wengine nje ambao wanaweza kufanya mengi zaidi ya sasa, lakini wasababisha Roomba kuanguka kwa sababu wanachora sasa nyingi wakati wa kuanza. Tuligundua kuwa Mdhibiti wa Voltage 3.3V, 300mA Step-Down Voltage (D24V3F3) inafanya kazi kamili. Matoleo mbadala ambayo yana 500mA / 600mA yalisababisha kiolesura cha Roomba UART kuanguka. Kimsingi Roomba alikuwa akijibu kwa bonyeza kitufe, lakini sio kwa amri kupitia kiolesura cha UART. Mara baada ya kufurahi hii tulilazimika kuondoa betri ya Roomba na kuanza tena baridi Roomba na daraja la WiFi-UART. Walakini, ni D24V3F3 tu iliyofanya kazi vizuri.

Kando na maelezo hayo ya kiufundi, lazima uongeze maagizo ya ziada kwa nambari, ambayo unaweza kupata katika vipimo vya interface wazi vya Roomba. Utahitaji kuongeza amri zote ambazo unataka roomba yako kuitikia (kwa mfano, kurudi nyuma, mbele, kasi, nk).

mifano ndani ya IDE ya arduino:

batili kwenda mbele () {char c = {137, 0x00, 0xc8, 0x80, 0x00}; // 0x00c8 == 200 Serial.print (c); }

batili kurudi nyuma () {char c = {137, 0xff, 0x38, 0x80, 0x00}; // 0xff38 == -200 Serial.print (c); }

batili spinLeft () {char c = {137, 0x00, 0xc8, 0x00, 0x01}; Printa ya serial (c); }

batili spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Printa ya serial (c); }

ikiwa unaandika kwenye lua inaonekana tofauti kidogo, mfano wa zamu ya LEFT itaonekana kama hii:

ikiwa (_GET.pin == "LEFT") kisha chapisha ('\ 137'); --VOR

kuchemsha (100);

chapisha ('\ 00'); - Mwendo = 200 = 0x00C8 -> 0 na 200

kuchemsha (100);

chapisha ('\ 200'); - Kasi

kuchemsha (100);

chapisha ('254'); - Radius = 500 = 0x01F4 = 0x01 0xF4 = 1 244

kuchemsha (100);

chapisha ('\ 12'); - Pinduka

mwisho

Hakikisha unapaswa kusahihisha maelezo ya kiolesura wazi ya Roomba yako. Kuna angalau maelezo mawili ya kiolesura wazi yanayopatikana.

kwa safu ya Roomba 5xx:

kwa safu ya Roomba 6xx:

Mara tu utakapojenga daraja lako la WiFi-UART na kujaribu amri ulizochukua hatua kubwa zaidi. Video hii inaonyesha kuwa matumizi na njia inafanya kazi. Tulikuwa wavivu kidogo, kiunga cha wavuti kinakosa amri zingine zote za kudhibiti, kama mbele, nyuma, kasi, kulia, kushoto na kadhalika, lakini unaweza kutoa amri kupitia http. Kwa hivyo, ni onyesho tu kwamba udhibiti wa kijijini wa Roomba hufanya kazi na kipande rahisi cha vifaa na programu kwa kutumia ESP8266.

Sasa kama unaweza kudhibiti Roomba yako kwa mbali kutoka kwa programu ya PC, kitu pekee kinachokosekana ni ujanibishaji wa ndani. Tunahitaji hii ili kufunga kitanzi cha maoni, kwa sababu lengo letu lilikuwa kuelekeza robot kwa mwelekeo fulani. Wacha tufanye hivi.

Hatua ya 3: Sanidi Mfumo wako wa Ujanibishaji wa Ndani

Ili kufunga kitanzi cha maoni tunatumia mfumo wa ujanibishaji wa ndani. Tunatumia Localino kwa hili. Mfumo wa Localino una "nanga" na "vitambulisho". Nanga zimewekwa katika maeneo yaliyowekwa ndani ya chumba na kupata nafasi ya lebo ya kusonga (ambayo imewekwa kwenye Roomba). Usindikaji wa eneo unafanywa katika programu ya PC. Hiyo ni ya faida kubwa, kwa sababu yako pia inaweza kudhibiti Roomba kutoka kwa PC ile ile! Kuna nambari ya chanzo ya bure inayopatikana kutoka kwa wavuti ya Localino, imeandikwa katika chatu na pia kuna mkondo wa wakati halisi ambao unatoa kuratibu za XYZ za lebo. Mtiririko wa data unapatikana kupitia mtandao wa UDP, lakini unaweza pia kuongeza MQTT au vitu vingine vya kupendeza unavyopenda. Ikiwa unajua Chatu, kuna chungu za maktaba ambazo zinakusaidia.

Katika video hii, ujanibishaji wa Roomba umeonyeshwa. Kwa hivyo tuna nanga 4 kwenye chumba katika maeneo yaliyowekwa, ambayo inaruhusu nafasi ya 3D ya Roomba. Kwa ujumla, tungehitaji tu nanga 3, kwa sababu Roomba labda haitahamia kwenye mhimili wa Z, kwa hivyo 2D ingekuwa ya kutosha. Lakini kwa sababu nanga ziko kwenye urefu kuu wa kuziba AC (ambayo ni takriban 30cm juu ya ardhi) usanidi wa 2D utasababisha makosa madogo ya kukadiria msimamo. Kwa hivyo tuliamua kuwa na nanga 4 na ujanibishe katika 3D.

Sasa kwa kuwa tuna msimamo wa Roomba hatua yetu inayofuata ni kudhibiti Roomba kutoka kwa programu hiyo hiyo. Wazo ni kutumia ukweli wa ardhi na kukadiria njia kamili ya kusafisha kwa roboti. Kwa matumizi ya Localino tunaweza kufunga kitanzi cha maoni na kudhibiti roboti kutoka kwa programu ya PC.

Maneno ya kuanzisha

Weka nanga za Localino ndani ya chumba kwa nafasi tofauti za x, y na tatu kati yao kwa nafasi sawa ya z. Weka nanga moja kati ya nne kwa urefu tofauti z kwa kila chumba. Hakikisha kuwa kuna chanjo nzuri kutoka kwa lebo ya Localino, ambayo itakuwa ikihamia na Roomba.

Nanga zote zina kitambulisho cha nanga cha uniqe, ambacho kinaonyeshwa kwenye msimbo wa mwambaa wa Localino na inaweza kusomwa na zana ya "usanidi wa localino".

Kumbuka nafasi katika X, Y, Z na vitambulisho vya nanga. Hii inahitajika kwa Programu ya Msindikaji wa Localino na inapaswa kubadilishwa katika faili ya "localino.ini" kwenye folda "LocalinoProcessor"

Nanga zinapaswa kuelekeza juu au chini katika Z (wakati eneo la XY limefunikwa), lakini sio kwa mwelekeo wa eneo lililofunikwa. Nanga hizo pia hazipaswi kufunikwa na chuma au vifaa vingine vyovyote vinavyosumbua ishara ya waya. Ikiwa hii haiwezekani, inapaswa pia kuwa na pengo fulani la hewa kati ya nyenzo yoyote na nanga.

… Zaidi ijayo.

Hatua ya 4: Badilisha programu ya Python

endelea kufuatilia. zaidi ijayo.

Ilipendekeza: