Inhoudsopgave:

Inspecteur Roomba - Ajarnpa
Inspecteur Roomba - Ajarnpa

Video: Inspecteur Roomba - Ajarnpa

Video: Inspecteur Roomba - Ajarnpa
Video: Inspector Roomba 2024, Juli-
Anonim
Image
Image
Aansluiting van elektronische onderdelen
Aansluiting van elektronische onderdelen

De meesten van ons gebruiken iRobot Roomba-robots alleen om te stofzuigen, maar weinigen weten dat het een uitstekende basis is voor nieuwe robotprojecten. Alle makers zouden de Roomba Open Interface (OI) moeten proberen om erachter te komen hoe gemakkelijk het is om deze robot te besturen. In deze instructie leert u hoe u enkele handige functies aan uw Roomba kunt toevoegen. In het begin zal ik beschrijven hoe je Roomba op afstand kunt bedienen via bluetooth en Android-app. Later zal ik je laten zien hoe je videostreaming uitvoert op basis van de RPi en tot slot schets ik het plan voor de verdere ontwikkeling van dit project.

Onderdelen nodig in dit project:

  1. BTM-222 bluetooth-module of andere werken op 115200 baudrate x1
  2. 5V step-down spanningsregelaar D24V6F5 x1
  3. mini breadboard x1
  4. Een paar draden

uitvoering met behuizing:

  1. 8-pins mini-DIN-connector x1
  2. aan / uit-schakelaar x1
  3. led 3mm x1
  4. weerstand 10k x1
  5. kleine behuizing 50x40x20 mm x1

uitgebreide versie:

  1. Raspberry Pi 3x1
  2. RPi koperen koellichaam x1
  3. USB WiFi-adapter x1
  4. micro SD-kaart 8 GB of meer x1
  5. RPi-camera - Fisheye-lens x1
  6. Behuizing voor RPi x1
  7. Accupack met hoge capaciteit 5V (minimaal 10 Ah) x1
  8. Een stuk plastic beugel x1"
  9. Moeren en bouten M2 x4

Stap 1: Aansluiting van elektronische onderdelen

Aansluiting van elektronische onderdelen
Aansluiting van elektronische onderdelen
Aansluiting van elektronische onderdelen
Aansluiting van elektronische onderdelen
Aansluiting van elektronische onderdelen
Aansluiting van elektronische onderdelen

Deze keer is deze stap heel eenvoudig omdat we maar twee modules hoeven aan te sluiten om onze Roomba te kunnen bedienen. De eerste is een Bluetooth-module die kan werken op 115200 bps. De tweede is 5V Step-Down Voltage Regulator D24V6F5. Een opgeladen Roomba-batterij heeft een spanning van ongeveer 14,4 V en onze Bluetooth-module heeft 5 V nodig, dus we moeten de batterijspanning verlagen tot het niveau van 5 V met behulp van een spanningsregelaar. De D24V6F5-regelaar heeft een efficiëntie tussen 80 en 90%, wat een zeer goede prijs is in vergelijking met klassieke lineaire regelaars die doorgaans een efficiëntie hebben van minder dan 40%. De eenvoudigste manier om deze twee modules aan te sluiten, is door ze in een mini-breadboard te plaatsen en te bedraden volgens het bedradingsschema zoals hierboven. Daarnaast zijn alle aansluitingen op genummerde foto's weergegeven. Wees voorzichtig bij het aansluiten op de accupolen. Onopzettelijke kortsluiting kan de batterij beschadigen!

Stap 2: De Android Control-app gebruiken

Image
Image
De Android Control-app gebruiken
De Android Control-app gebruiken
De Android Control-app gebruiken
De Android Control-app gebruiken
De Android Control-app gebruiken
De Android Control-app gebruiken

Ik heb een Android-app ontwikkeld waarmee je de robotstofzuiger uit de Roomba 500-serie via bluetooth kunt bedienen. U kunt mijn app gratis downloaden van Google Play - Roomb Control. Het werkt met zowel smartphones als tablets.

Hoe de Roomb Control-app te gebruiken:

  • tik op de rechterbovenhoek van het scherm (3 verticale stippen)
  • selecteer het tabblad "Verbinden"
  • tik op het tabblad "BTM222" en na een tijdje zou u het bericht "Verbonden met BTM222" moeten zien
  • na het aansluiten kunt u uw Roomba. bedienen
  • als je je bluetooth-apparaat niet ziet, tik je op de knop "Scannen naar apparaten"
  • Vergeet bij het eerste gebruik van uw Bluetooth-module niet om deze te koppelen met uw smartphone door de standaardcode in te voeren die wordt vermeld in de specificatie van de Bluetooth-module

Stap 3: Roomba Open Interface in voorbeelden

In deze stap vindt u voorbeelden van veelvoorkomende opdrachten die worden gebruikt om de Roomba serie 500 te bedienen. Meer informatie over Roomba Open Interface vindt u in dit document.

Roomba 500+ kan in een van de vier modi werken:

  • De volledige modus geeft u volledige controle over Roomba (geen veiligheidsbeperkingen zoals in de veilige en passieve modus)
  • Veilige modus introduceert enkele veiligheidsgerelateerde uitzonderingen wanneer u niet alle actuatoren kunt bedienen:

    • detectie van een wieldruppel
    • detectie van een klif tijdens het vooruit of achteruit bewegen
    • oplader aangesloten en gevoed
  • In de passieve modus kunt u sensorgegevens opvragen en ontvangen, maar in deze modus kunt u Roomba-actuators (motoren, lichten, luidspreker) niet bedienen
  • Uit-modus wanneer de stroom voor het eerst wordt ingeschakeld of na een batterijwissel (wachten op startopdracht)

Een veilige en volledig functionele bedieningsmodus is Veilige modus, de voorkeursmodus voor afstandsbediening. Om de veilige modus uit te voeren, moeten we eerst opdracht 128 verzenden die de Open Interface start en vervolgens opdracht 130 (of 131) om Roomba in de veilige modus te zetten. Als we een van de ingebouwde opschoningsmodi (clean, spot, dock, etc.) willen gebruiken, moeten we de derde opdracht met de juiste code verzenden (Clean-135, Spot-134, Dock-143). De volledige seriële volgorde voor deze modi is als volgt:

  • Veilige modus instellen - (128, 130)
  • Vlek - (128, 130, 134)
  • Schoon - (128, 130, 135)
  • Dok - (128, 130, 143)

Als de Roomba in de veilige modus staat, kunnen we de aandrijfwielen van Roomba besturen met commando 137. De volledige reeks van 5 bytes is als volgt: (137, Velocity high byte, Velocity low byte, Radius high byte, Radius low byte). Voorbeelden van de seriële sequenties voor Roomba motion control:

  • Ga vooruit - (137, 100, 0, 128, 0)
  • Ga terug - (137, 254, 12, 128, 0)
  • Sla rechtsaf - (137, 100, 0, 255, 255)
  • Sla linksaf - (137, 100, 0, 0, 1)

Als alternatief kunnen we commando 146 gebruiken om de robotbeweging te besturen. Met dit commando kunnen we PWM (Pulse-Width Modulation) voor het rechter- en linkerwiel besturen: (146, Rechter PWM hoge byte, Rechter PWM lage byte, Links PWM hoge byte, Links PWM lage byte). Voorbeeld van PWM-besturing:

  • Verplaats rechtsboven - (146, 0, 130, 0, 255)
  • Naar linksboven verplaatsen - (146, 0, 255, 0, 130)

Het commando 139 regelt de kleuren van de LED's. We kunnen de Clean/Power LED-kleur wijzigen door de waarde van Color byte in seriële volgorde in te stellen: (139, LED Bits, Color, Intensity). Als Color byte is ingesteld op 0, krijgen we een groene kleur. Door deze waarde te verhogen krijgen we tussenkleuren (oranje, geel, etc) en rode kleur voor de maximale waarde 255. Voorbeelden van LED's controle:

  • groen - (139, 0, 0, 128)
  • oranje - (139, 0, 128, 128)
  • rood - (139, 0, 255, 128)

Het laatste commando dat ik wil noemen is het commando 140 waarmee je eenvoudige liedjes kunt spelen. Voorbeelden van de seriële sequenties voor het afspelen van liedjes:

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

Stap 4: RPi externe webcam

RPi externe webcam
RPi externe webcam

Om videostreaming van de camera te kunnen bekijken op alle apparaten die zijn aangesloten op mijn lokale netwerk (pc, smartphone, tablet, enz.), heb ik Motion webcam serwer geïnstalleerd. U kunt details vinden over hoe u dit kunt doen in deze Instructable. De belangrijkste stappen zijn als volgt:

  1. Bewerken: sudo nano /etc/modules - voeg aan het einde van het bestand toe: bcm2835-v4l2
  2. Beweging installeren: sudo apt-get install motion
  3. Open motion.conf-bestand door te typen: sudo nano /etc/motion/motion.conf en stel videoparameters in (bijv.: daemon aan, breedte 640, hoogte 480, framerate 30, webcam_localhost uit)
  4. Schakel de Daemon (service) in: sudo nano /etc/default/motion en zoek en wijzig start_motion_daemon=yes.
  5. Start service: sudo service motion start of sudo motion -n -c /etc/motion/motion.conf
  6. Open nu de webbrowser op uw computer of smartphone en typ: RPi IP:8081 (waarbij "RPi IP" het IP-adres van uw Raspberry Pi is en 8081 de standaardpoort). Voorbeeld: 192.168.1.14:8081. Als alles na een tijdje goed werkt, zou je het beeld van je camera in je webbrowser moeten zien.

Stap 5: Plannen voor verdere ontwikkeling

Plannen voor verdere ontwikkeling
Plannen voor verdere ontwikkeling
Plannen voor verdere ontwikkeling
Plannen voor verdere ontwikkeling
Plannen voor verdere ontwikkeling
Plannen voor verdere ontwikkeling
Plannen voor verdere ontwikkeling
Plannen voor verdere ontwikkeling

Momenteel is mijn Roomba uitgerust met een kleine robotarm die in deze instructie wordt beschreven. Deze robotarm is op afstand te bedienen via bluetooth vanuit de Android app. In de volgende stap ga ik het beeld van de camera gebruiken voor het op afstand grijpen en verplaatsen van objecten naar de gemarkeerde ruimte (bediening in de semi-autonome modus).

Als je mijn andere projecten met betrekking tot robotica wilt zien, ga dan naar:

  • mijn website: www.mobilerobots.pl
  • facebook: mobiele robots

Stap 6: Aansluiting van elektronische onderdelen - versie 2 met behuizing

Aansluiting van elektronische onderdelen - versie 2 met behuizing
Aansluiting van elektronische onderdelen - versie 2 met behuizing
Aansluiting van elektronische onderdelen - versie 2 met behuizing
Aansluiting van elektronische onderdelen - versie 2 met behuizing
Aansluiting van elektronische onderdelen - versie 2 met behuizing
Aansluiting van elektronische onderdelen - versie 2 met behuizing

Als u uw eigen verwijderbare ontvanger wilt bouwen om de Roomba te bedienen, is deze extra stap iets voor u. We voegen nog een paar elementen toe en sluiten ze allemaal in een slanke behuizing. Het belangrijkste onderdeel dat we in deze stap nodig hebben, is een 8-pins mini-DIN-connector. Daarnaast hebben we de aan / uit-schakelaar en indicator nodig op basis van LED en weerstand 10k.

Nu hoef je je geen zorgen te maken over het uitsteken van draden. De bluetooth ontvanger is gesloten in een kleine behuizing met afmetingen van 50x40x20 mm. Als u hem niet wilt gebruiken, kunt u hem eenvoudig van uw Roomba verwijderen door aan de mini-DIN-stekker te trekken.

Aanbevolen: