Turinys:

Inspektorius Roomba: 6 žingsniai (su nuotraukomis)
Inspektorius Roomba: 6 žingsniai (su nuotraukomis)

Video: Inspektorius Roomba: 6 žingsniai (su nuotraukomis)

Video: Inspektorius Roomba: 6 žingsniai (su nuotraukomis)
Video: CS50 2015 - Week 10 2024, Lapkritis
Anonim
Image
Image
Elektroninių dalių prijungimas
Elektroninių dalių prijungimas

Daugelis iš mūsų naudoja „iRobot Roomba“robotus tik siurbimui, tačiau retas žino, kad tai puiki bazė naujiems robotams. Visi gamintojai turėtų išbandyti „Roomba Open Interface“(OI), kad sužinotų, kaip lengva valdyti šį robotą. Šioje instrukcijoje sužinosite, kaip pridėti keletą naudingų „Roomba“funkcijų. Pradžioje aprašysiu, kaip nuotoliniu būdu valdyti „Roomba“per „Bluetooth“ir „Android“programą. Vėliau aš jums parodysiu, kaip paleisti vaizdo transliaciją pagal RPi, ir galiausiai apibūdinu tolesnio šio projekto plėtros planą.

Šiam projektui reikalingos dalys:

  1. „BTM-222“„Bluetooth“modulis ar kitas, veikiantis 115200 baudų sparta x1
  2. 5V žemesnės įtampos reguliatorius D24V6F5 x1
  3. mini duonos lenta x1
  4. Keletas laidų

versija su korpusu:

  1. 8 kontaktų mini DIN jungtis x1
  2. maitinimo jungiklis x1
  3. LED 3 mm x 1
  4. rezistorius 10k x1
  5. mažas korpusas 50x40x20 mm x1

Prailginta versija:

  1. Raspberry Pi 3 x1
  2. RPi varinis radiatorius x1
  3. USB WiFi adapteris x1
  4. „micro SD“kortelė 8 GB ar didesnė x1
  5. RPi kamera - „Fisheye Lens x1“
  6. Dėklas RPi x1
  7. Didelės talpos akumuliatorius 5V (mažiausiai 10 Ah) x1
  8. Plastikinio laikiklio gabalas x1
  9. Veržlės ir varžtai M2 x4

1 žingsnis: Elektroninių dalių prijungimas

Elektroninių dalių prijungimas
Elektroninių dalių prijungimas
Elektroninių dalių prijungimas
Elektroninių dalių prijungimas
Elektroninių dalių prijungimas
Elektroninių dalių prijungimas

Šį kartą šis žingsnis yra labai paprastas, nes mums tereikia prijungti du modulius, kad galėtume valdyti savo „Roomba“. Pirmasis yra „Bluetooth“modulis, galintis veikti 115200 bps greičiu. Antrasis yra 5 V žemyn įtampos reguliatorius D24V6F5. Įkrauto „Roomba“akumuliatoriaus įtampa yra apie 14,4 V, o mūsų „Bluetooth“moduliui reikia 5 V, todėl naudojant įtampos reguliatorių turime sumažinti akumuliatoriaus įtampą iki 5 V lygio. D24V6F5 reguliatoriaus efektyvumas yra nuo 80 iki 90%, o tai yra labai gera vertė, palyginti su klasikiniais linijiniais reguliatoriais, kurių efektyvumas paprastai yra mažesnis nei 40%. Lengviausias būdas sujungti šiuos du modulius yra įdėti juos į mini lentą ir prijungti laidus pagal prijungimo schemą, kaip nurodyta aukščiau. Be to, visos jungtys rodomos sunumeruotose nuotraukose. Būkite atsargūs jungdami prie akumuliatoriaus gnybtų. Atsitiktinis trumpasis jungimas gali sugadinti akumuliatorių!

2 veiksmas: „Android“valdymo programos naudojimas

Image
Image
„Android“valdymo programos naudojimas
„Android“valdymo programos naudojimas
„Android“valdymo programos naudojimas
„Android“valdymo programos naudojimas
„Android“valdymo programos naudojimas
„Android“valdymo programos naudojimas

Sukūriau „Android“programėlę, leidžiančią valdyti „Roomba 500“serijos robotų vakuumą per „Bluetooth“. Mano programą galite nemokamai atsisiųsti iš „Google Play“- „Roomb Control“. Jis veikia tiek su išmaniaisiais telefonais, tiek su planšetiniais kompiuteriais.

Kaip naudotis „Roomb Control“programa:

  • bakstelėkite viršutinį dešinįjį ekrano kampą (3 vertikalūs taškai)
  • pasirinkite skirtuką „Prisijungti“
  • bakstelėkite skirtuką „BTM222“ir po kurio laiko turėtumėte pamatyti pranešimą „Prisijungta prie BTM222“
  • prisijungę galite valdyti „Roomba“
  • jei nematote „Bluetooth“įrenginio, bakstelėkite mygtuką „Ieškoti įrenginių“
  • pirmą kartą naudodamiesi „Bluetooth“moduliu, nepamirškite suporuoti jo su savo išmaniuoju telefonu, įvesdami numatytąjį kodą, nurodytą „Bluetooth“modulio specifikacijoje

3 žingsnis: „Roomba“atvira sąsaja pavyzdžiuose

Šiame žingsnyje rasite bendrų komandų, naudojamų valdyti „Roomba series 500“, pavyzdžių. Daugiau informacijos apie „Roomba Open Interface“rasite šiame dokumente.

„Roomba 500+“gali veikti vienu iš keturių režimų:

  • Visas režimas suteikia galimybę visiškai valdyti „Roomba“(nėra jokių saugumo apribojimų, kaip tai daroma saugiam ir pasyviam režimui)
  • Saugus režimas pristato kai kurias su sauga susijusias išimtis, kai negalite valdyti visų pavarų:

    • rato kritimo aptikimas
    • skardžio aptikimas judant pirmyn arba atgal
    • įkroviklis prijungtas ir įjungtas
  • Pasyvus režimas leidžia prašyti ir gauti jutiklių duomenis, tačiau šiuo režimu negalite valdyti „Roomba“pavarų (variklių, žibintų, garsiakalbių)
  • Išjungtas režimas, kai pirmą kartą įjungiamas maitinimas arba pakeitus bateriją (laukiama pradžios komandos)

Saugus ir visiškai funkcionalus veikimo režimas yra saugus režimas, kuris yra pageidaujamas nuotolinio valdymo režimas. Norėdami paleisti saugųjį režimą, pirmiausia turime atsiųsti komandą 128, kuri paleidžia „Open Interface“, ir tada komandą 130 (arba 131), kad „Roomba“įjungtų saugųjį režimą. Jei norime paleisti vieną iš integruotų valymo režimų (švarus, taškas, dokas ir kt.), Turėtume išsiųsti trečiąją komandą su atitinkamu kodu („Clean-135“, „Spot-134“, „Dock-143“). Visa šių režimų serijų seka yra tokia:

  • Saugaus režimo nustatymas - (128, 130)
  • Taškas - (128, 130, 134)
  • Švarus - (128, 130, 135)
  • Prieplauka - (128, 130, 143)

Jei „Roomba“yra saugiuoju režimu, mes galime valdyti „Roomba“varančiuosius ratus naudodami komandą 137. Visa 5 baitų eilės seka yra tokia: (137, greitis didelis baitas, greitis žemas baitas, spindulys didelis baitas, spindulys žemas baitas). „Roomba“judesio valdymo serijos sekų pavyzdžiai:

  • Pirmyn - (137, 100, 0, 128, 0)
  • Grįžti atgal - (137, 254, 12, 128, 0)
  • Pasukite į dešinę - (137, 100, 0, 255, 255)
  • Pasukite į kairę - (137, 100, 0, 0, 1)

Arba roboto judėjimui valdyti galime naudoti komandą 146. Ši komanda leidžia valdyti dešiniojo ir kairiojo rato PWM (impulso pločio moduliaciją): (146, dešinysis PWM aukštas baitas, dešinysis PWM žemas baitas, kairysis PWM aukštas baitas, kairysis PWM mažas baitas). PWM valdymo pavyzdys:

  • Judėti viršuje į dešinę - (146, 0, 130, 0, 255)
  • Perkelti viršuje į kairę - (146, 0, 255, 0, 130)

139 komanda valdo šviesos diodų spalvas. Mes galime pakeisti „Clean/Power“šviesos diodo spalvą, nustatydami spalvų baitų vertę nuosekliai: (139, LED bitai, spalva, intensyvumas). Jei spalvų baitas nustatytas į 0, gauname žalią spalvą. Padidinę šią vertę, mes gauname tarpines spalvas (oranžinė, geltona ir tt) ir raudoną spalvą, kad maksimali vertė būtų 255. Šviesos diodų valdymo pavyzdžiai:

  • žalia - (139, 0, 0, 128)
  • oranžinė - (139, 0, 128, 128)
  • raudona - (139, 0, 255, 128)

Paskutinė komanda, kurią norėčiau paminėti, yra komanda 140, leidžianti groti paprastas dainas. Dainų grojimo serijos pavyzdžiai:

  • 1 daina - (140, 0, 5, 72, 32, 74, 32, 76, 32, 77, 32, 79, 32, 141, 0)
  • 2 daina - (140, 1, 5, 69, 16, 71, 16, 72, 16, 74, 16, 76, 16, 141, 1)

4 žingsnis: „RPi Remote Webcam“

RPi nuotolinė internetinė kamera
RPi nuotolinė internetinė kamera

Kad galėčiau peržiūrėti vaizdo transliaciją iš fotoaparato bet kuriame prie vietinio tinklo prijungtame įrenginyje (kompiuteryje, išmaniajame telefone, planšetiniame kompiuteryje ir tt), įdiegiau „Motion“kameros serverį. Išsamią informaciją apie tai, kaip tai padaryti, rasite šioje instrukcijoje. Pagrindiniai žingsniai yra šie:

  1. Redaguoti: sudo nano /etc /modules - pridėkite failo pabaigoje: bcm2835 -v4l2
  2. Įdiegti judesį: sudo apt-get install motion
  3. Atidarykite motion.conf failą įvesdami: sudo nano /etc/motion/motion.conf ir nustatykite vaizdo įrašo parametrus (pvz., Įjungtas demonas, plotis 640, aukštis 480, kadrų dažnis 30, webcam_localhost išjungtas)
  4. Įjunkite demoną (paslauga): sudo nano/etc/default/motion ir raskite bei pakeiskite start_motion_daemon = taip.
  5. Pradėti paslaugą: „sudo service motion start“arba „sudo motion -n -c /etc/motion/motion.conf“
  6. Dabar kompiuteryje ar išmaniajame telefone atidarykite žiniatinklio naršyklę ir įveskite: RPi IP: 8081 (kur „RPi IP“yra jūsų „Raspberry Pi“IP, o 8081 - numatytasis prievadas). Pavyzdys: 192.168.1.14:8081. Jei po kurio laiko viskas veikia gerai, žiniatinklio naršyklėje turėtumėte pamatyti savo fotoaparato vaizdą.

5 žingsnis: tolesnės plėtros planai

Tolesnės plėtros planai
Tolesnės plėtros planai
Tolesnės plėtros planai
Tolesnės plėtros planai
Tolesnės plėtros planai
Tolesnės plėtros planai
Tolesnės plėtros planai
Tolesnės plėtros planai

Šiuo metu mano „Roomba“yra su maža roboto ranka, aprašyta šioje instrukcijoje. Šią robotinę ranką galima nuotoliniu būdu valdyti „Bluetooth“ryšiu iš „Android“programos. Kitame žingsnyje aš naudosiu fotoaparato vaizdą, kad galėčiau nuotoliniu būdu sugriebti ir perkelti objektus į pažymėtą vietą (veikimas pusiau autonominiu režimu).

Jei norėtumėte pamatyti kitus mano projektus, susijusius su robotika, apsilankykite:

  • mano svetainė: www.mobilerobots.pl
  • facebook: mobilieji robotai

6 žingsnis: Elektroninių dalių prijungimas - 2 versija su korpusu

Elektroninių dalių prijungimas - 2 versija su korpusu
Elektroninių dalių prijungimas - 2 versija su korpusu
Elektroninių dalių prijungimas - 2 versija su korpusu
Elektroninių dalių prijungimas - 2 versija su korpusu
Elektroninių dalių prijungimas - 2 versija su korpusu
Elektroninių dalių prijungimas - 2 versija su korpusu

Jei norite sukurti savo nuimamą imtuvą, kad galėtumėte valdyti „Roomba“, šis papildomas žingsnis skirtas jums. Pridedame dar keletą elementų ir uždarome juos visus plonu korpusu. Pagrindinis komponentas, kurio mums reikės šiame žingsnyje, yra 8 kontaktų mini DIN jungtis. Be to, mums reikės maitinimo jungiklio ir indikatoriaus, pagrįsto LED ir 10k rezistoriumi.

Dabar jums nereikia jaudintis dėl laidų išstūmimo. „Bluetooth“imtuvas uždarytas mažame korpuse, kurio matmenys 50x40x20 mm. Kai nenorite jo naudoti, galite lengvai jį išimti iš „Roomba“, traukdami mini DIN kištuką.

Rekomenduojamas: