Simple Pi Robot: Construye un Rover Autónomo 2‑WD con Raspberry Pi
Simple Pi Robot es una guía práctica que convierte una Raspberry Pi en una plataforma móvil autónoma totalmente funcional. Tanto si eres aficionado como educador, este tutorial te guía en cada paso —desde la selección de componentes hasta la escritura de código de control y streaming de vídeo en tiempo real.
Lista de Componentes
- Raspberry Pi (cualquier modelo, se recomienda Pi B+ o Pi Zero)
- Cable plano GPIO de 40 pines (para Pi B+ o Pi 2)
- Protoboard estándar
- Chasis de 2 ruedas (ej. kit Ellipzo 2‑WD)
- Sensor de distancia ultrasónico HC‑SR04
- Powerbank para la Pi
- Pilas AA recargables (2100 mAh o superior)
- Cables jumper macho y hembra, resistencias
- Adaptador Wi‑Fi (EDUP o EDIMAX)
- Tarjeta microSD de 4 GB+ para el SO
- Placa driver de motor dual L298
- Motor servo (ej. Futaba S3003)
- Varios: bridas, cinta de espuma para montaje
Paso 1 – Elección del Driver de Motor
El L298 es una opción probada y económica que proporciona una alimentación regulada de 5 V tanto para motores como para servos. También soporta pines enable separados para control de velocidad. Otras opciones incluyen el RTK Motor Controller Shield, Pololu DRV8835 o Adafruit DC/Stepper Motor HAT, pero la simplicidad del L298 lo hace ideal para principiantes.
Paso 2 – Cableado del L298
Conecte la placa al chasis de la siguiente forma:
- Motor DC A:
OUT‑A+→OUT‑A‑ - Motor DC B:
OUT‑B+→OUT‑B‑ - Servo:
+5V(regulado) →Servo +,GND→Servo – - Pin enable: mantenga el jumper puesto para velocidad máxima; quítelo para control PWM de velocidad.
- Conecte cuatro cables jumper desde las entradas de control a los pines GPIO de la Pi (ver diagrama de pinout).
- Conecte un cable jumper desde la línea de control del servo a otro pin GPIO.
Paso 3 – Configuración del Servo
El servo requiere alimentación constante de 5 V y una señal de control PWM. En esta construcción usamos un Futaba S3003 (4,8‑6 V). Use la librería RPIO.PWM para control fiable del servo vía DMA:
sudo apt-get install python-setuptools
sudo easy_install -U RPIO
Más sobre RPIO.PWM.
Paso 4 – Montaje del Chasis
Usamos el kit de chasis Ellipzo 2‑WD, que incluye motores, soporte pan/tilt para servo y todo el hardware necesario. Siga las instrucciones del kit para fijar la Pi, el L298 y los componentes de alimentación.
Paso 5 – Añadir Sensor de Distancia HC‑SR04
Conecte VCC a +5 V y GND a tierra. Los pines TRIG y ECHO van a pines GPIO (ej. 18 y 17). Añada una resistencia de 1 kΩ en la línea echo para proteger la Pi. El siguiente fragmento Python mide la distancia:
TRIG = 18
ECHO = 17
# (inicializar GPIO y realizar medición)
Paso 6 – Cámara y Streaming en Vivo
Conecte el módulo oficial Pi Camera. Instale VLC para streaming:
sudo apt-get install vlc
Transmita vía RTSP:
raspivid -o - -t 0 -n | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264
Abra el stream en cualquier dispositivo con VLC: rtsp://<IP‑PI>:8554/.
Paso 7 – Pinout y Código de Control en Python
El script Python completo a continuación controla el movimiento del robot, detección de distancia y servo. Usa RPi.GPIO para lógica de motores y RPIO.PWM para PWM del servo.
from RPIO import PWM
import RPi.GPIO as GPIO
import time
from subprocess import call
GPIO.setmode(GPIO.BCM)
# Configurar pines GPIO
GPIO.setup(19, GPIO.OUT)
GPIO.setup(26, GPIO.OUT)
GPIO.setup(16, GPIO.OUT)
GPIO.setup(20, GPIO.OUT)
GPIO.setup(21, GPIO.IN)
GPIO.setup(8, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)
GPIO.setup(9, GPIO.OUT)
TRIG = 18
ECHO = 17
# Funciones de movimiento
def fwd():
GPIO.output(19, True)
GPIO.output(26, False)
GPIO.output(16, True)
GPIO.output(20, False)
# (otras funciones de movimiento y sensor omitidas por brevedad)
while True:
inp = raw_input()
if inp == "1":
fwd()
print("robot moving forward")
# ... (manejo de otros comandos)
GPIO.cleanup()
Paso 8 – Fotos del Montaje
Consulte las imágenes adjuntas para guía visual sobre cableado, montaje y ensamblaje final.
Para el código fuente completo y recursos adicionales, visite la página original de Simple Pi Robot.
Proceso de manufactura
- Servicios profesionales de reparación de servomotores Fanuc
- Reparación Profesional de Servomotores Siemens: Servicio Rápido y Fiable
- Guía Experta: Reparación y Diagnóstico de Servomotores
- Robot evasor de obstáculos con servo: Construcción con Arduino y HC-SR04
- Joy Robot: Robot Inteligente con Arduino y ESP8266
- Kit de Robot de Navegación Interior Inteligente para Proyectos Arduino
- Por Qué los Reductores Planetarios Mejoran el Rendimiento de Motores Servo
- Motores servo: funcionamiento, tipos y por qué son importantes
- Entendiendo los reductores para servomotores: funciones, beneficios y aplicaciones
- Maximizando la precisión: Acoplamiento de reductores con servomotores
- Impulse Operaciones Robóticas con Tecnología de Movimiento Servo Precisa