Мазмұны:
Бейне: Localino Roomba IRobot -ты бақылайды, қоршаған ортаны көрсетеді және бақылауға мүмкіндік береді.: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
WiFi-UART көпірін салу үшін мына github репозиторийін тексеруге болады:
Мұны бастау үшін жақсы негіз бар. Нұсқаулықты жақсы оқығаныңызға көз жеткізіңіз, себебі зарядтау кезінде Roomba VCC 20 вольтке дейін артады! Егер сіз ESP8266-ді 20В дейін жұмыс істейтін және 3,3В-ке дейін төмен түрлендіретін тиісті ақша аударғышсыз қоссаңыз, сіз ESP-ге зақым келтіресіз.
5V UART логикалық деңгейін ESP қолданатын Roomba -дан 3.3В -ге ауыстыру үшін деңгей ауыстырғышты (мысалы, кернеу бөлгішті) қолданғаныңызға көз жеткізіңіз.
Тағы бір маңызды деталь - конвертерде 300 мА болуы керек, бірақ одан әлдеқайда аз немесе көп (Бак конвертерінің өзіне байланысты). Кейбіреулер бар, олар әлдеқайда көп ток істей алады, бірақ Roomba апатына әкеледі, себебі олар іске қосу кезінде тым көп ток алады. Біз Pololu 3.3V, 300mA төмендету кернеу реттегішінің (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}; Serial.print (c); }
void spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Serial.print (c); }
егер сіз луа тілінде жазсаңыз, ол басқаша көрінеді, солға бұрылу мысалы келесідей болады:
егер (_GET.pin == «LEFT») онда басып шығарыңыз ('\ 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 бағдарламасын компьютерден қашықтан басқара алатындықтан, үй ішіндегі локализация жетіспейді. Бұл бізге кері байланыс циклін жабу үшін қажет, себебі біздің мақсат - роботты белгілі бір бағытқа бағыттау болды. Мұны жасайық.
3 -қадам: Ішкі локализация жүйесін орнатыңыз
Кері байланыс циклін жабу үшін біз ішкі локализация жүйесін қолданамыз. Біз бұл үшін Localino қолданамыз. Localino жүйесі «якорь» мен «тегтерден» тұрады. Бекіткіштер бөлме ішіндегі бекітілген орындарға орналастырылады және қозғалатын тегтің орнын табады (ол Roomba -да орналастырылған). Орынды өңдеу ДК қосымшасында жүзеге асады. Бұл үлкен артықшылық, өйткені сіз Roomba -ны бір компьютерден басқара аласыз! Localino веб-сайтында ақысыз бастапқы код бар, ол питонда жазылған, сонымен қатар тегтің XYZ координаттарын ұсынатын нақты уақыттағы ағын бар. Деректер ағыны UDP желісі арқылы қол жетімді, бірақ сіз MQTT немесе сізге ұнайтын кез келген сәнді заттарды қоса аласыз. Егер сіз Python -ды білсеңіз, сізге көмектесетін көптеген кітапханалар бар.
Бұл бейнеде Roomba локализациясы көрсетілген. Сондықтан бізде бөлмеде бекітілген 4 жерде якорь орнатылған, бұл Roomba -ның 3D орналасуына мүмкіндік береді. Жалпы алғанда, бізге тек 3 якорь қажет болады, өйткені Roomba Z осінде қозғалмайды, сондықтан 2D жеткілікті болады. Зәкірлер айнымалы ток штепсельдерінің биіктігінде орналасқандықтан (ол жерден шамамен 30 см биіктікте), 2D қондырғы орнын бағалау кезінде қателіктерге әкелуі мүмкін. Сондықтан біз 4 якорь алып, 3D форматында локализациялауды шештік.
Енді бізде Roomba позициясы болғандықтан, келесі қадам - Roomba -ны сол қосымшадан басқару. Идея - бұл шындықты қолдану және робот үшін мінсіз тазалау жолын бағалау. Localino көмегімен біз кері байланыс циклін жабамыз және роботты ДК қосымшасынан басқара аламыз.
Орнату ескертулері
Localino якорьлерін бөлме ішіне әр түрлі x, y позициясында және олардың үшеуін бірдей z күйінде орналастырыңыз. Төрт зәкірдің біреуін әр биіктікке z орналастырыңыз. Локалино тегінен жақсы қамту бар екеніне көз жеткізіңіз, ол Roomba -мен бірге жүреді.
Барлық якорьлерде Localino штрих -кодында көрсетілетін және «localino конфигурациясы» құралының көмегімен оқуға болатын бірегей анкерлік идентификаторы бар.
X, Y, Z және якорь идентификаторларындағы позицияларды ескеріңіз. Бұл Localino процессорлық бағдарламалық жасақтамасы үшін қажет және оны «LocalinoProcessor» қалтасындағы «localino.ini» файлына бейімдеу қажет.
Бекіткіштер Z -де жоғары немесе төмен бағытталуы керек (XY аймағы жабылған кезде), бірақ жабылған аумақтың бағытында емес. Бекіткіштер сонымен қатар металл немесе басқа сымсыз сигналды бұзатын материалмен жабылмауы керек. Егер бұл мүмкін болмаса, кез келген материал мен якорь арасында белгілі бір ауа саңылауы болуы керек.
… алда тағы.
4 -қадам: Python бағдарламалық жасақтамасын бейімдеу
Бізбен бірге қалыңыз. тағы да келеді.
Ұсынылған:
Fitbit Charge 2 бірге түзетуге мүмкіндік береді. Экрандағы жолдар: 3 қадам
Fitbit Charge 2 бірге түзетуге мүмкіндік береді. Экрандағы сызықтар. Осылайша, мен бірінші Fitbit -ті сатып алғаннан кейін шамамен 13 рет орнатылдым, мен экранға өтетін сызықтарды ала бастадым. Күн сайын басқасы кейде бір күннен артық пайда болады. Мен Fitbit -ке өте жақсы қарадым, мен ойладым және неге басталғанын білмедім. бір рет
Sigfox арқылы электр энергиясын тұтыну мен қоршаған ортаны бақылау: 8 қадам
Sigfox арқылы электр энергиясын тұтыну мен қоршаған ортаның мониторингі: Сипаттама Бұл жоба сізге үш фазалы қуат тарату кезінде бөлменің электр энергиясын алуды, содан кейін оны Sigfox желісі арқылы әр 10 минут сайын серверге жіберуді көрсетеді. Қуатты қалай өлшеуге болады? Бізде үш ток қысқыштары бар
RGB Led Strip Bluetooth контроллері V3 + Музыканы синхрондау + Қоршаған ортаны басқару: 6 қадам (суреттермен)
RGB Led Strip Bluetooth контроллері V3 + Музыканы синхрондау + Қоршаған ортаны басқару: Бұл жоба bluetooth арқылы телефонмен RGB светодиодты басқару үшін arduino қолданады. Түсті өзгертуге, шамдарды музыкамен синхрондауға немесе оларды қоршаған жарықтандыруды автоматты түрде реттеуге болады
Esp8266: 5 қадамдарын қолдана отырып, құрылғыларды бақылауға және ауа -райын бақылауға арналған IoT құрылғысын қалай жасауға болады
Esp8266 көмегімен құрылғыларды бақылауға және ауа-райын бақылауға арналған IoT құрылғысын қалай жасауға болады: Интернеттегі заттар (IoT)-бұл физикалық құрылғылардың («қосылған құрылғылар» және «ақылды құрылғылар» деп те аталады), ғимараттардың, және электроника, бағдарламалық қамтамасыз ету, датчиктер, қозғағыштар мен басқа да қондырмалармен жабдықталған
MEMES үшін кеңейтілген шындық қосымшасын жасауға мүмкіндік береді!: 8 қадам
MEMES үшін кеңейтілген шындық қосымшасын жасауға рұқсат етіңіз!: Бұл нұсқаулықта біз Android API мен IOS үшін Unity3D -де мемлеттерді іздеу үшін Google API қолданатын кеңейтілген реалдылық қосымшасын жасаймыз. Біз Unity -де Vuforia -ның жердегі жазықтықты анықтауды қолданатын боламыз, сондықтан бұл мобильді қосымша