Controla tu Roomba Create 2 con Arduino y Android: Guía Completa
Componentes y suministros
| iRobot Roomba Create 2 | ×1 |
| Arduino UNO | ×1 |
| Módulo Bluetooth HC-06 | ×1 |
| Pulsador | ×1 |
Aplicaciones y servicios
- App Android: MJRoBot BT Remote Control (gratis en Google Play, MIT App Inventor 2)
Sobre el proyecto
Ganador del Instructables Robotics Contest 2016. Control remoto del Roomba Create 2 (~200 USD) vía Arduino + Bluetooth + app Android. Explora comandos de movimiento, LEDs, display y sonido. Futuras entregas: sensores, Raspberry Pi, IoT.
Paso 1: Material
Create 2, Arduino UNO, HC-06, pulsador.
Paso 2: Roomba Create 2
Robot diferencial (2 ruedas + caster), 500 mm/s máx. Señalización: display 7 segmentos ×4, 5 LEDs (Clean, Spot, Dock, Warning, Dirt). Sensores: cliff (4), bump (2), encoders. Programación vía Open Interface (OI): modos Passive, Safe (seguridad activada), Full (control total).
Paso 3: Conexión serie
Roomba usa Mini-DIN de 7 pines. Baud rate por defecto 115200; cambiar a 19200 para Arduino:
- Mantener botón Clean apagado 10 s → tono descendente → 19200 hasta pérdida de alimentación.
- O pulsar pin 5 (Baud Rate Change) 3 veces (50-500 ms c/u) tras encender.
Conexión Arduino ↔ Mini-DIN: TX/RX cruzados, GND común, pin 5 (DD) para wake-up.
Paso 4: Iniciar Roomba
void wakeUp() {
digitalWrite(ddPin, HIGH); delay(100);
digitalWrite(ddPin, LOW); delay(500);
digitalWrite(ddPin, HIGH); delay(2000);
}
void startSafe() {
Roomba.write(128); // START
Roomba.write(131); // SAFE MODE
delay(1000);
}
Paso 5: LEDs y Display
- Power LED (bicolor): comando 139 + color (0=verde, 128=naranja, 255=rojo) + intensidad (0-255).
- Spot, Dock, Warning, Debris: comando 139 + bitmask.
- Display 7-seg: comando 163 (números) o 164 (ASCII aprox). Funciones helper:
setDigitLEDs(),writeLEDs('s','t','o','p').
Paso 6: Movimiento
Comandos principales: 137 (Drive: velocidad + radio), 145 (Drive Direct: vel. izq/der), 146 (Drive PWM). Funciones wrapper: drive(), driveWheels(), turnCW/CCW(), driveStop(), driveLeft/Right(). Clamp para límites.
Paso 7: Control por Bluetooth
HC-06 configurado a 19200 baudios (AT+BAUD5). App envía comandos de un carácter: