Taula de continguts:

Inspector Roomba: 6 passos (amb imatges)
Inspector Roomba: 6 passos (amb imatges)

Vídeo: Inspector Roomba: 6 passos (amb imatges)

Vídeo: Inspector Roomba: 6 passos (amb imatges)
Vídeo: CS50 2015 – 10-я неделя 2024, Juliol
Anonim
Image
Image
Connexió de peces electròniques
Connexió de peces electròniques

La majoria de nosaltres fem servir robots iRobot Roomba només per aspirar, però pocs saben que és una base excel·lent per a nous projectes robotitzats. Tots els fabricants haurien de provar la Roomba Open Interface (OI) per esbrinar el fàcil que és controlar aquest robot. En aquesta instrucció aprendreu com afegir algunes funcions útils al vostre Roomba. Al principi, descriuré com controlar remotament Roomba mitjançant bluetooth i aplicació per a Android. Més endavant us mostraré com executar la transmissió de vídeo basada en el RPi i, finalment, esbossaré el pla per al desenvolupament d’aquest projecte.

Parts necessàries en aquest projecte:

  1. Mòdul bluetooth BTM-222 o un altre que funcioni a una velocitat de transmissió 115200 x1
  2. Regulador de tensió reduït 5V D24V6F5 x1
  3. mini tauler de x1
  4. Uns quants cables

versió amb carcassa:

  1. Mini connector DIN de 8 pins x1
  2. interruptor d’alimentació x1
  3. led de 3 mm x1
  4. resistència 10k x1
  5. carcassa petita 50x40x20 mm x1

versió extesa:

  1. Raspberry Pi 3 x1
  2. Dissipador de calor de coure RPi x1
  3. Adaptador WiFi USB x1
  4. targeta micro SD de 8 GB o superior x1
  5. Càmera RPi: l'objectiu Fisheye x1
  6. Funda per a RPi x1
  7. Bateria d'alta capacitat 5V (com a mínim 10 Ah) x1
  8. Un tros de suport de plàstic x1
  9. Femelles i cargols M2 x4

Pas 1: connexió de peces electròniques

Connexió de peces electròniques
Connexió de peces electròniques
Connexió de peces electròniques
Connexió de peces electròniques
Connexió de peces electròniques
Connexió de peces electròniques

Aquesta vegada, aquest pas és molt senzill perquè només necessitem connectar dos mòduls per poder controlar el nostre Roomba. El primer és un mòdul Bluetooth que pot funcionar a 115200 bps. El segon és el regulador de tensió descendent 5V D24V6F5. La bateria Roomba carregada té un voltatge d’uns 14,4 V i el nostre mòdul bluetooth necessita 5 V, de manera que hem de reduir el voltatge de la bateria al nivell de 5 V mitjançant el regulador de voltatge. El regulador D24V6F5 té una eficiència entre el 80 i el 90%, un valor molt bo en comparació amb els reguladors lineals clàssics que normalment tenen una eficiència inferior al 40%. La manera més senzilla de connectar aquests dos mòduls és col·locar-los en mini taulers de connexió i cablejat d'acord amb el diagrama de cablejat anterior. A més, totes les connexions es mostren en fotos numerades. Aneu amb compte en connectar-vos als terminals de la bateria. Un curtcircuit accidental pot danyar la bateria.

Pas 2: fer servir l'aplicació Android Control

Image
Image
Amb l’aplicació Android Control
Amb l’aplicació Android Control
Amb l’aplicació Android Control
Amb l’aplicació Android Control
Amb l’aplicació Android Control
Amb l’aplicació Android Control

He desenvolupat una aplicació per a Android que us permet controlar el buit robòtic de la sèrie Roomba 500 mitjançant bluetooth. Podeu descarregar la meva aplicació gratuïtament des de Google Play - Roomb Control. Funciona tant amb telèfons intel·ligents com amb tauletes.

Com s'utilitza l'aplicació Roomb Control:

  • toca l'extrem superior dret de la pantalla (3 punts verticals)
  • seleccioneu la pestanya "Connecta"
  • toqueu la pestanya "BTM222" i al cap d'un temps hauríeu de veure el missatge "Connectat a BTM222"
  • després de connectar-vos, podeu controlar el Roomba
  • si no veieu el dispositiu bluetooth, toqueu el botó "Cerca de dispositius"
  • en el primer ús del mòdul bluetooth, recordeu-lo de pair-lo amb el telèfon intel·ligent introduint el codi predeterminat especificat a l’especificació del mòdul bluetooth

Pas 3: Interfície oberta de Roomba en exemples

En aquest pas trobareu exemples d’ordres habituals que s’utilitzen per controlar la Roomba sèrie 500. Podeu trobar més informació sobre Roomba Open Interface en aquest document.

Roomba 500+ pot funcionar en un dels quatre modes següents:

  • El mode complet us proporciona un control complet sobre Roomba (sense restriccions de seguretat, ja que és el mode segur i passiu)
  • El mode segur introdueix algunes excepcions relacionades amb la seguretat quan no es poden controlar tots els actuadors:

    • detecció d'una caiguda de roda
    • detecció d’un penya-segat mentre es mou cap endavant o cap enrere
    • carregador endollat i alimentat
  • El mode passiu us permet demanar i rebre dades del sensor, però en aquest mode no podeu controlar els actuadors Roomba (motors, llums, altaveus)
  • Mode apagat quan s’encén l’alimentació per primera vegada o després d’un canvi de bateria (esperant l’ordre Inici)

Un mode d’operació segur i totalment funcional és el mode segur que és el mode preferit per al control remot. Per executar el mode segur en primer lloc, hem d’enviar l’ordre 128 que inicia la interfície oberta i, a continuació, l’ordre 130 (o 131) per posar Roomba en mode segur. Si volem executar un dels modes de neteja integrats (netejar, localitzar, ancorar, etc.) hauríem d’enviar la tercera ordre amb el codi adequat (Clean-135, Spot-134, Dock-143). La seqüència sèrie completa per a aquests modes és la següent:

  • Estableix el mode segur: (128, 130)
  • Spot - (128, 130, 134)
  • Neteja - (128, 130, 135)
  • Moll - (128, 130, 143)

Si Roomba es troba en mode segur, podem controlar les rodes motrius de Roomba mitjançant l’ordre 137. La seqüència sèrie completa de 5 bytes és la següent: (137, Velocity high byte, Velocity low byte, Radius byte high, Radius low byte). Exemples de seqüències en sèrie per al control de moviment de Roomba:

  • Avança - (137, 100, 0, 128, 0)
  • Torna enrere - (137, 254, 12, 128, 0)
  • Gireu a la dreta - (137, 100, 0, 255, 255)
  • Gireu a l'esquerra - (137, 100, 0, 0, 1)

Alternativament, per controlar el moviment del robot, podem utilitzar l’ordre 146. Aquesta ordre ens permet controlar PWM (Pulse-Width Modulation) per a la roda dreta i esquerra: (146, PWM dret byte alt, PWM dret byte baix, PWM esquerre byte alt, PWM esquerre byte baix). Exemple de control PWM:

  • Mou a la part superior dreta (146, 0, 130, 0, 255)
  • Mou a la part superior esquerra - (146, 0, 255, 0, 130)

L'ordre 139 controla els colors dels LED. Podem canviar el color del LED de neteja / alimentació configurant el valor de byte de color en seqüència sèrie: (139, bits LED, color, intensitat). Si el byte de color s’estableix a 0 obtindrem color verd. En augmentar aquest valor obtenim colors intermedis (taronja, groc, etc.) i color vermell per al valor màxim 255. Exemples de control de LED:

  • verd - (139, 0, 0, 128)
  • taronja - (139, 0, 128, 128)
  • vermell - (139, 0, 255, 128)

L'últim comandament que voldria mencionar és l'ordre 140 que us permet reproduir cançons senzilles. Exemples de seqüències en sèrie per reproduir cançons:

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

Pas 4: Càmera web remota RPi

Càmera web remota RPi
Càmera web remota RPi

Per poder veure la transmissió de vídeo des de la càmera en qualsevol dispositiu connectat a la meva xarxa local (PC, telèfon intel·ligent, tauleta, etc.), he instal·lat el servei de càmera web Motion. Podeu trobar detalls sobre com fer-ho en aquest document instructiu. Els passos principals són els següents:

  1. Edita: sudo nano / etc / modules: afegeix al final del fitxer: bcm2835-v4l2
  2. Instal·lar moviment: sudo apt-get install motion
  3. Obriu el fitxer motion.conf escrivint: sudo nano /etc/motion/motion.conf i configureu els paràmetres de vídeo (per exemple: dimoni activat, amplada 640, alçada 480, marc fotogràfic 30, webcam_localhost desactivat)
  4. Activeu el dimoni (servei): sudo nano / etc / default / motion i cerqueu i canvieu start_motion_daemon = yes.
  5. Inici del servei: sudo service motion start o sudo motion -n -c /etc/motion/motion.conf
  6. Ara obriu el navegador web a l’ordinador o al telèfon intel·ligent i escriviu: RPi IP: 8081 (on “RPi IP” és l’IP del vostre Raspberry Pi i el port per defecte és 8081). Exemple: 192.168.1.14:8081. Si tot funciona bé al cap d’un temps, hauríeu de veure la vista de la càmera al navegador web.

Pas 5: Plans de desenvolupament posterior

Plans de desenvolupament posterior
Plans de desenvolupament posterior
Plans de desenvolupament posterior
Plans de desenvolupament posterior
Plans per al desenvolupament posterior
Plans per al desenvolupament posterior
Plans de desenvolupament posterior
Plans de desenvolupament posterior

Actualment, el meu Roomba està equipat amb un petit braç robotitzat descrit en aquesta instrucció. Aquest braç robotitzat es pot controlar remotament mitjançant bluetooth des de l'aplicació Android. En el següent pas utilitzaré la vista de la càmera per agafar i moure objectes remots a l’espai marcat (operació en mode semi-autònom).

Si voleu veure els meus altres projectes relacionats amb la robòtica, visiteu:

  • el meu lloc web: www.mobilerobots.pl
  • facebook: robots mòbils

Pas 6: Connexió de peces electròniques - Versió 2 amb carcassa

Connexió de peces electròniques - Versió 2 amb carcassa
Connexió de peces electròniques - Versió 2 amb carcassa
Connexió de peces electròniques - Versió 2 amb carcassa
Connexió de peces electròniques - Versió 2 amb carcassa
Connexió de peces electròniques - Versió 2 amb carcassa
Connexió de peces electròniques - Versió 2 amb carcassa

Si voleu construir el vostre propi receptor extraïble per controlar Roomba, aquest pas addicional és el vostre. Afegim uns quants elements més i els tancarem tots en una carcassa prima. El component principal que necessitarem en aquest pas és un connector mini DIN de 8 pins. A més, necessitarem l’interruptor i l’indicador d’alimentació basats en LED i resistència 10k.

Ara no us heu de preocupar de treure els cables. El receptor bluetooth està tancat en una petita carcassa amb unes dimensions de 50x40x20 mm. Quan no el vulgueu utilitzar, podeu eliminar-lo fàcilment del Roomba tirant del mini endoll DIN.

Recomanat: