Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
De fleste av oss bruker iRobot Roomba -roboter bare for støvsuging, men få vet at det er en flott base for nye robotprosjekter. Alle produsenter bør prøve Roomba Open Interface (OI) for å finne ut hvor enkelt det er å kontrollere denne roboten. I denne instruksjonen lærer du hvordan du legger til noen nyttige funksjoner på Roomba. I begynnelsen vil jeg beskrive hvordan du fjernkontrollerer Roomba via bluetooth og Android -app. Senere vil jeg vise deg hvordan du kjører videostrømming basert på RPi, og til slutt skisserer jeg planen for videre utvikling av dette prosjektet.
Deler som trengs i dette prosjektet:
- BTM-222 Bluetooth-modul eller annet som arbeider med 115200 baudhastighet x1
- 5V Step-Down Spenningsregulator D24V6F5 x1
- mini brødbrett x1
- Noen få ledninger
versjon med foringsrør:
- 8 -pinners mini DIN -kontakt x1
- strømbryter x1
- LED 3 mm x1
- motstand 10k x1
- lite hus 50x40x20 mm x1
utvidet versjon:
- Bringebær Pi 3 x1
- RPi kobber kjøleribbe x1
- USB WiFi -adapter x1
- micro SD -kort 8 GB eller større x1
- RPi -kamera - Fisheye Lens x1
- Veske til RPi x1
- Batteripakke med høy kapasitet 5V (minst 10 Ah) x1
- Et stykke plastbrakett x1
- Muttere og bolter M2 x4
Trinn 1: Tilkobling av elektroniske deler
Denne gangen er dette trinnet veldig enkelt fordi vi bare trenger å koble til to moduler for å kunne kontrollere Roomba. Den første er en Bluetooth -modul som kan operere med 115200 bps. Den andre er 5V Step-Down Voltage Regulator D24V6F5. Ladet Roomba -batteri har en spenning på omtrent 14,4V og vår Bluetooth -modul trenger 5V, så vi må redusere batterispenningen til nivået på 5V ved å bruke spenningsregulator. D24V6F5 -regulatoren har effektivitet mellom 80 og 90% som er veldig god verdi sammenlignet med klassiske lineære regulatorer som vanligvis har en effektivitet under 40%. Den enkleste måten å koble disse to modulene på er å sette dem i mini -brødbrett og ledninger i henhold til koblingsskjemaet som ovenfor. I tillegg vises alle tilkoblinger på nummererte bilder. Vær forsiktig når du kobler til batteripolene. Utilsiktet kortslutning kan skade batteriet!
Trinn 2: Bruke Android Control App
Jeg har utviklet en Android -app som lar deg kontrollere Roomba 500 -serien robotstøvsuger via bluetooth. Du kan laste ned appen min gratis fra Google Play - Roomb Control. Det fungerer med både smarttelefoner og nettbrett.
Slik bruker du Roomb Control App:
- trykk på øvre høyre hjørne av skjermen (3 vertikale prikker)
- velg fanen "Koble til"
- trykk på "BTM222" -fanen, og etter en stund skal du se meldingen "Koblet til BTM222"
- etter tilkobling kan du kontrollere Roomba
- Hvis du ikke ser Bluetooth -enheten, trykker du på "Søk etter enheter" -knappen
- ved første bruk av Bluetooth -modulen, må du huske å koble den til smarttelefonen din ved å skrive inn standardkoden som er angitt i spesifikasjonen for Bluetooth -modulen
Trinn 3: Roomba Open Interface i eksempler
I dette trinnet finner du eksempler på vanlige kommandoer som brukes til å kontrollere Roomba -serien 500. Du finner mer informasjon om Roomba Open Interface i dette dokumentet.
Roomba 500+ kan operere i en av fire moduser:
- Full modus gir deg full kontroll over Roomba (ingen sikkerhetsbegrensninger som det er for sikker og passiv modus)
-
Sikker modus introduserer noen sikkerhetsrelaterte unntak når du ikke kan kontrollere alle aktuatorene:
- påvisning av hjulfall
- deteksjon av en klippe mens du beveger deg fremover eller bakover
- laderen plugget inn og slått på
- Passiv modus lar deg be om og motta sensordata, men i denne modusen kan du ikke kontrollere Roomba -aktuatorer (motorer, lys, høyttaler)
- Av -modus når strømmen slås på først eller etter et batteribytte (venter på Start -kommando)
En sikker og fullt funksjonell driftsmodus er Sikker modus som er den foretrukne modusen for fjernkontroll. For å kjøre sikker modus må vi først sende kommando 128 som starter det åpne grensesnittet og deretter kommando 130 (eller 131) for å sette Roomba i sikker modus. Hvis vi ønsker å kjøre en av de innebygde rengjøringsmodusene (clean, spot, dock, etc.), bør vi sende den tredje kommandoen med passende kode (Clean-135, Spot-134, Dock-143). Hele seriesekvensen for disse modusene er som følger:
- Angi sikkermodus - (128, 130)
- Spot - (128, 130, 134)
- Ren - (128, 130, 135)
- Dock - (128, 130, 143)
Hvis Roomba er i sikkermodus, kan vi kontrollere Roombas drivhjul ved hjelp av kommando 137. Hele 5 bytes seriesekvens er som følger: (137, Velocity high byte, Velocity low byte, Radius high byte, Radius low byte). Eksempler på seriesekvensene for Roomba bevegelseskontroll:
- Gå fremover - (137, 100, 0, 128, 0)
- Gå tilbake - (137, 254, 12, 128, 0)
- Sving til høyre - (137, 100, 0, 255, 255)
- Sving til venstre - (137, 100, 0, 0, 1)
Alternativt for å kontrollere robotbevegelse kan vi bruke kommando 146. Denne kommandoen lar oss kontrollere PWM (pulsbreddemodulering) for høyre og venstre hjul: (146, Høyre PWM høy byte, Høyre PWM lav byte, Venstre PWM høy byte, Venstre PWM lav byte). Eksempel på PWM -kontroll:
- Flytt øverst til høyre - (146, 0, 130, 0, 255)
- Flytt øverst til venstre - (146, 0, 255, 0, 130)
Kommandoen 139 styrer LED -fargene. Vi kan endre Clean/Power LED -fargen ved å sette verdien av Color byte i seriell rekkefølge: (139, LED Bits, Color, Intensity). Hvis Color byte er satt til 0 får vi grønn farge. Ved å øke denne verdien får vi mellomfarger (oransje, gul, etc) og rød farge for maksimumsverdien 255. Eksempler på LED -kontroller:
- grønn - (139, 0, 0, 128)
- oransje - (139, 0, 128, 128)
- rød - (139, 0, 255, 128)
Den siste kommandoen jeg vil nevne er kommandoen 140 som lar deg spille enkle sanger. Eksempler på seriesekvensene for å spille sanger:
- sang 1 - (140, 0, 5, 72, 32, 74, 32, 76, 32, 77, 32, 79, 32, 141, 0)
- sang 2 - (140, 1, 5, 69, 16, 71, 16, 72, 16, 74, 16, 76, 16, 141, 1)
Trinn 4: RPi Remote Webcam
For å kunne se videostreaming fra kameraet på alle enheter som er koblet til mitt lokale nettverk (PC, smarttelefon, nettbrett, osv.) Har jeg installert Motion webcam -server. Du finner detaljer om hvordan du gjør dette i denne instruksjonsboken. De viktigste trinnene er som følger:
- Edit: sudo nano /etc /modules - legg til på slutten av filen: bcm2835 -v4l2
- Installer bevegelse: sudo apt-get install motion
- Åpne motion.conf -filen ved å skrive: sudo nano /etc/motion/motion.conf og sett videoparametere (f.eks. Daemon på, bredde 640, høyde 480, framerate 30, webcam_localhost av)
- Aktiver Daemon (service): sudo nano/etc/default/motion og finn og endre start_motion_daemon = ja.
- Start service: sudo service motion start eller sudo motion -n -c /etc/motion/motion.conf
- Åpne nå nettleseren på datamaskinen eller smarttelefonen og skriv: RPi IP: 8081 (der "RPi IP" er IP -en til Raspberry Pi og 8081 er standardporten). Eksempel: 192.168.1.14:8081. Hvis alt fungerer bra etter en stund, bør du se utsikten fra kameraet i nettleseren din.
Trinn 5: Planer for videre utvikling
For øyeblikket er Roomba utstyrt med en liten robotarm beskrevet i denne instruksjonen. Denne robotarmen kan fjernstyres via bluetooth fra Android -appen. I det neste trinnet skal jeg bruke visning fra kameraet for fjern griping og bevegelse av objekter til det merkede rommet (drift i semi-autonom modus).
Hvis du vil se mine andre prosjekter relatert til robotikk, vennligst besøk:
- nettstedet mitt: www.mobilerobots.pl
- facebook: mobile roboter
Trinn 6: Tilkobling av elektroniske deler - versjon 2 med foringsrør
Hvis du ønsker å bygge din egen flyttbare mottaker for å kontrollere Roomba, er dette ekstra trinnet for deg. Vi legger til noen flere elementer og lukker dem alle i et slank hylster. Hovedkomponenten vi trenger i dette trinnet er en 8 -pinners mini DIN -kontakt. I tillegg trenger vi strømbryteren og indikatoren basert på LED og motstand 10k.
Nå trenger du ikke bekymre deg for å stikke ut ledninger. Bluetooth -mottakeren er lukket i et lite hus med dimensjoner på 50x40x20 mm. Når du ikke vil bruke den, kan du enkelt fjerne den fra Roomba ved å trekke i mini -DIN -kontakten.