Roomberry: Robot de Vigilancia con Roomba y Raspberry Pi Zero W
Roomberry es un robot de vigilancia personalizado que transforma un iRobot Roomba en una plataforma de cámara móvil alimentada por Raspberry Pi Zero W y módulo cámara CSI.
En esta guía aprenderás a cablear la Open Interface (OI) del Roomba, alimentar la Pi desde la batería del Roomba, configurar la Raspberry Pi para operación headless y construir un recinto compacto que dé acceso a todos los puertos.
Para ver Roomberry en acción, mira el video demo que muestra movimiento del robot, cámara en streaming y interfaz de control web.
Entendiendo la Open Interface del Roomba
Las series Roomba 600/700/800 exponen un conector mini‑DIN que implementa la Open Interface (OI). La OI es un enlace serie TTL bidireccional (115 200 baud) que permite enviar comandos de movimiento, leer datos de sensores y controlar LEDs y altavoz del robot.
La OI soporta cuatro modos:
- Off – Estado por defecto. El robot espera comando
Start. - Passive – Puedes leer sensores pero no controlar motores.
- Safe – Control total de motores con comprobaciones de seguridad (acantilado, caída de ruedas, cargador).
- Full – Control total sin comprobaciones de seguridad – usar con precaución.
En modo Passive el robot duerme automáticamente tras cinco minutos de inactividad. Los modos Safe y Full mantienen el robot despierto indefinidamente, así que recuerda volver a Passive u Off al terminar para proteger la batería.
Conexión Serie y Conversión de Nivel Lógico
El pin TxD del Roomba entrega 5 V, lo que puede dañar la lógica de 3,3 V de Raspberry Pi Zero W. Usa un conversor de nivel lógico bidireccional (p. ej., bidirectional level shifter de Adafruit) o divisor resistivo para datos de baja velocidad. El conversor debe manejar 115 200 baud, así que se recomienda dispositivo activo.
Alimentar la Raspberry Pi desde el Roomba
Usar directamente los pines de alimentación 7 del mini‑DIN (Vcc – Gnd) está limitado a 200 mA por un fusible PTC reiniciable. La Pi Zero W sola consume 150‑180 mA, pero la cámara añade picos de 300‑450 mA, que disparaban el fusible repetidamente.
La solución es saltar el fusible y tomar energía de los pads de batería en la placa base del Roomba. Tras desmontar parcialmente, suelda un par de cables al pad de batería. Esto da la salida completa de 10‑20,5 V, que debe reducirse a 5 V regulados.
Recomendamos un regulador buck switching como el Pololu D24V5F5. Acepta hasta 36 V, entrega 5 V con eficiencia 85‑90 % y soporta 500 mA –suficiente para Pi Zero y cámara. Conecta la salida del regulador a un cable micro‑USB que enchufa en la entrada de alimentación de la Pi.
Recinto y Distribución Hardware
Para construcción limpia usamos un PCB de 12 × 10 pines como pequeño HAT que aloja el conversor de nivel, botón de reset momentáneo y la Pi Zero W. La carcasa es una caja estándar de Raspberry Pi modificada con muesca para cable micro‑USB y agujero para conector CSI.
El botón de reset va cableado al pin RUN de la Pi, permitiendo reiniciar sin desconectar alimentación.
Configurar Raspbian (Stretch Lite)
1. Deshabilita consola serie: raspi-config –> Interfacing Options –> Serial (pon “No” para login shell, “Yes” para UART). O edita /boot/config.txt comentando console=serial0,115200 y añadiendo enable_uart=1.
2. Habilita cámara: raspi-config –> Interfacing Options –> Camera o establece start_x=1, gpu_mem=128, disable_camera_led=1 en /boot/config.txt.
3. Deshabilita swap y monta /tmp como disco RAM de 50 MB. Ajusta /etc/fstab y commit_time=30 para reducir desgaste de la SD.
4. Ajustes opcionales de ahorro: deshabilita HDMI (tvservice -o), deshabilita LED de actividad, deshabilita Bluetooth (dtoverlay=pi3-disable-bt).
Probar la Interfaz Serie
Instala minicom (sudo apt-get install minicom) y conecta al puerto serie del Roomba:
minicom -b 115200 -o -D /dev/serial0
Si el robot está en base, deberías ver stream de datos de sensores en vivo. Pulsa Ctrl‑A luego X para salir.
Ejecutar Roomberry
Con la Pi alimentada, cámara habilitada y enlace serie establecido, ya puedes lanzar el script de control Roomberry (no incluido aquí). La interfaz web permite mandar movimiento, capturar imágenes y streaming de video.
Para recorrido completo, mira el video demo y sigue las instrucciones paso a paso arriba.
Consejos de Seguridad
- Siempre devuelve el robot a modo Passive u Off tras uso para evitar descarga profunda de batería.
- Usa regulador buck de marca; clones chinos baratos pueden ser poco fiables.
- Al tocar pads de batería, verifica polaridad y mantén cableado ordenado para evitar cortos.
- Proporciona microSD fresca de alta capacidad para alargar su vida.
Proceso de manufactura
- ROCR: Robot ligero y eficiente que trepa paredes como un gibón
- Construcción de un robot con Arduino y Raspberry Pi: Guía paso a paso
- BrickPi Bookreader: Automatice la lectura de Kindle con Raspberry Pi y LEGO Mindstorms
- Robot DIY inspirado en Wall‑E con Raspberry Pi y caja de CD
- Robot Despertador Rodante: Sistema Inteligente y Móvil de Despertar con Raspberry Pi y Google Calendar
- Construye un Robot Creeper de Minecraft Motorizado con Arduino
- Arquímedes: El Búho Robot Sensor de Emociones con IA
- Roomberry: Robot de Vigilancia con Roomba y Raspberry Pi Zero W
- Construye un Robot de Visión Artificial Controlado por Voz en Windows 10 IoT Core
- Robot ROS: Navegación Controlada por Terminal en Raspberry Pi
- Simple Pi Robot: Construye un Rover Autónomo 2‑WD con Raspberry Pi