Construya un robot Raspberry Pi controlado por Bluetooth con retroalimentación de audio
En esta guía extendemos el clásico proyecto de robot Raspberry Pi añadiendo control por Bluetooth y efectos de sonido dinámicos. Conectaremos un Arduino Uno a un módulo Bluetooth, retransmitiremos comandos a una Raspberry Pi y usaremos Python para reproducir archivos .wav que correspondan a cada comando. El resultado es un robot que se mueve y «habla» en tiempo real.
Paso 1: Piezas y hardware
- Raspberry Pi (cualquier modelo con puertos USB, Pi 3 o superior recomendado)
- Arduino Uno
- Driver de motor (ej. L298N) y ruedas/ejes
- Batería de 9 V o pack Li‑Po (para la base del robot)
- Módulo Bluetooth serie (Silversilvermate o HC‑05)
- Altavoz alimentado con jack 3.5 mm
- Cables de conexión, resistencias y protoboard (si se necesita)
- Opcional: carcasa o chasis para el robot
Todos los componentes principales están cubiertos en la guía original de construcción de robot. El módulo Bluetooth puede comprarse en Zagros Robotics.
Paso 2: Preparar la Raspberry Pi
Use la última imagen NOOBS (v1.2.1 o posterior) para evitar problemas de jack de audio que afectaron versiones antiguas de Raspbian. Una vez arrancada la Pi:
- Abra una terminal y confirme Python 2.7 (o 3.x si prefiere).
python --version - Si necesita una versión específica, instálela vía
sudo apt-get install python2.6(aunque Python 2.7 tiene soporte completo). - Instale la librería serie requerida para comunicación con el Arduino:
sudo apt-get install python-serial - Habilite el jack de audio de 3.5 mm:
amixer cset numid=3 1 - Cree una carpeta
/home/pi/Soundsy descargue los siguientes archivos WAV:forward.wavbackward.wavleft.wavright.wavstop.wav
- Descargue el script Python zagbot-bt.py en
/home/piy hágalo ejecutable:sudo chmod +x /home/pi/zagbot-bt.py
Paso 3: Cableado Arduino y Bluetooth
Conecte el módulo Bluetooth al Arduino usando SoftwareSerial en pines 2 (TX) y 3 (RX). El diagrama de cableado es el siguiente:
- Arduino TX (pin 2) → Bluetooth RX
- Arduino RX (pin 3) → Bluetooth TX
- Arduino 5V → Bluetooth VCC
- Arduino GND → Bluetooth GND
- Bluetooth CTS → Arduino RTS (opcional, para control de flujo)
Suba el sketch zagbotbt.ino al Uno. Este sketch reenvía cualquier cadena recibida por Bluetooth al puerto serie USB conectado a la Raspberry Pi.
Paso 4: App de control Android
Descargue la APK de muestra Max_Control de Box. Transfíerala a la tarjeta SD de su dispositivo e instálela usando una app como ES File Explorer (tutorial). La app envía comandos de texto simples (ej. «FORWARD», «BACKWARD») por Bluetooth al Arduino.
Paso 5: Poner en marcha el sistema
- Alimente la base del robot y asegúrese de que el Arduino está conectado a la Pi vía USB.
- Inicie el listener Python en la Pi:
python /home/pi/zagbot-bt.py - Lance la app Android y empareje con el módulo Bluetooth.
- Presione un botón de movimiento y oiga el sonido correspondiente reproducirse en el altavoz de la Pi.
¡Felicidades – ahora tiene un robot Raspberry Pi totalmente funcional, controlado por Bluetooth, que reacciona audiblemente a cada comando! Siéntase libre de expandir el proyecto: añada más archivos de sonido, integre un acelerómetro para control por gestos, o cambie a Python 3 para mayor futuro.
Proceso de manufactura
- Robot DIY inspirado en Wall‑E con Raspberry Pi y caja de CD
- Construya un robot con streaming de vídeo controlado por Internet con Arduino y Raspberry Pi
- Robot Controlado por Gestos con Raspberry Pi
- Construye un Robot Controlado por WiFi con Raspberry Pi y Smartphone Android
- Construye un Robot Raspberry Pi Controlado por Wi‑Fi con Python – Guía Paso a Paso
- Vehículo Controlado por Android con Raspberry Pi, Arduino y Motor Shield: Guía Completa
- Controla LEDs con Alexa mediante Raspberry Pi – Guía paso a paso fácil
- Construye un robot controlado por voz con Arduino Nano
- MobBob: Robot Arduino Impreso en 3D, Controlado por Smartphone Android
- Electrodomésticos activados por voz: Control Bluetooth con Google Assistant
- PiBot: Robot Pianista con Arduino para Interpretación Musical de Precisión