Construye tu Propio Tanque Autónomo: Walabot, Arduino, Raspberry Pi y Alexa
Componentes y materiales
- Walabot Creator ×1
- Arduino MKR1000 ×1
- Raspberry Pi 3 Model B ×1
- Amazon Alexa (Echo o echosim.io) ×1
- Driver de motor dual TB6612FNG (SparkFun) ×1
- Chasis de tanque (con 2 motores DC) ×1
- Servos Tower Pro MG996R ×3
- Kit de construcción metálico ×1
- Motor paso a paso 28BYJ-48 + driver ×1
- Batería LiPo 7.4V ×1
- Cargador LiPo 7.4V ×1
- Potenciómetro rotativo 10kΩ ×1
- LED (segmento de tira LED) ×2
- Hilo de pesca ×1
- Plástico fino o cartón duro para cubierta ×1
- Circuito BEC 5V ×1
- Resistencias: 10kΩ, 22.1kΩ, 2.21kΩ ×1 cada una
- Transistor Darlington de alta potencia ×1
- Reglas de madera 30 cm ×2
- Voltímetro (opcional) ×1
- Mando RC con receptor (opcional) ×1
- Cerveza ×1 (¡para el constructor!)
Herramientas necesarias
- Soldador
- Pistola de pegamento caliente
- Sierra
- Taladro
- Lima
Aplicaciones y servicios online
- Arduino IDE
- AWS IoT
- AWS Lambda
- Alexa Skills Kit
- Walabot SDK
- Python
Sobre el proyecto
Resumen
Un tanque controlado por voz que te lleva una cerveza, con modo “sígueme” autónomo (gracias al sensor Walabot) y control manual por RC. ¡El tanque cervecero de tus sueños!
Chasis
Se compró un chasis de tanque barato en Banggood. Llegó dañado por el embalaje; se reparó con mucho pegamento y paciencia.
Grúa para la cerveza
La cerveza se esconde en el interior y se eleva mediante una grúa accionada por un motor paso a paso 28BYJ-48 y hilo de pesca. La estructura inicial se doblaba; se reforzó con dos reglas de madera de 30 cm.
Carcasa
El Walabot (versión Developer) actúa como “ojo” del tanque, montado magnéticamente en el frontal. La cubierta se hizo con cartulina negra y láminas de plástico. Una trampa superior (dos servos) oculta la cerveza y se abre al elevar la grúa.
Circuito
El esquema completo está en la sección de esquemáticos. El Arduino MKR1000 controla motores (TB6612FNG), servos, grúa, LEDs y lectura de batería. Se usa el MKR1000 por sus 3 pines con interrupción externa (necesarios para leer 3 canales PWM del receptor RC).
Arduino – Control por radio
El MKR1000 lee 3 canales PWM (1000–2000 µs):
- Canal 1 (vertical): velocidad base
motorSpeedBase = (pulse - 1500) / 2 - Canal 2 (horizontal): giro
motorSpeedChange = (pulse - 1500) / 3 - Canal 3 (interruptor): grúa/trampa
elevated = (pulse < 1500)
Velocidades finales: right = base + change, left = base - change (limitado a ±255). La grúa se mueve según la lectura del potenciómetro (feedback de posición).
Comunicación Arduino – Raspberry Pi
Conectados por USB (serie). Comandos desde la Raspberry:
s– desactiva control RC, acepta solo serie (responde “OK”)r– reactiva control RCe– eleva grúa y abre trampad– baja grúam X Y– fija velocidades (X=base, Y=change)b– devuelve voltaje batería ×100l/o– enciende/apaga luces
El canal 3 del RC sigue activo como interruptor de seguridad en modo autónomo.
Walabot
Sensor 3D por microondas (ve a través de paredes, detecta respiración, visión nocturna). Se usa en modo Moving Target Identification (MTI) para detectar objetivos en movimiento hasta 1.5 m. El SDK requiere aumentar la corriente USB de la Raspberry Pi (max_usb_current=1 en /boot/config.txt) y alimentar el Walabot por su segundo puerto micro-USB (modificando un jumper interno).
Modo “Sígueme”
El algoritmo: el usuario se sitúa a 80 cm frente al Walabot. El objetivo más cercano con amplitud suficiente se considera la persona. En cada iteración, la nueva posición de la persona es el objetivo más cercano a la posición anterior. Si el salto es muy grande, el tanque se detiene. El tanque intenta mantener a la persona en una zona objetivo (rectángulo rojo en la vista Arena).
Limitación: la tasa de frames del Walabot es ~6 FPS, por lo que el movimiento es lento y no combina giro + avance simultáneo.
Control por voz (Alexa)
Skill “Beer Tank” (ID: amzn1.ask.skill.a7453502-b1aa-47fa-a552-ed8e2c792b2e). Comandos:
- “inicia beer tank”
- “enciende/apaga las luces”
- “abre/cierra la bodega”
- “empieza/para de seguirme”
- “stop/cancel”
La skill usa AWS Lambda + AWS IoT (MQTT) para comunicarse con la Raspberry Pi. Se usó el cliente Paho MQTT en Python. Tutoriales recomendados: canal de YouTube de Kurt Braun.
Parte cancelada: Tacómetros
Se probaron tacómetros ópticos (papel blanco/negro en ruedas + sensor IR reflexivo) para medir velocidad de giro, pero se descartaron por falta de pines GPIO y porque no eran necesarios.
Conclusión
Proyecto divertido, útil y buena base para futuras mejoras. El control por voz funciona y el Walabot es un gran sensor para seguimiento. ¡Gracias por leer!
Código
Repositorio con código para MKR1000 y Raspberry Pi 3 B:
https://github.com/abysmalsb/Beer-Tank
Esquemáticos
Archivo Fritzing: beer_tank_YN88vVuS9b.fzz
Proceso de manufactura
- Fabricación de Tanques de Oxígeno: De Materias Primas a Aseguramiento de Calidad
- Circuitos integrados (CI): chips compactos y potentes que impulsan la electrónica moderna
- Controla tu Chromecast con Amazon Alexa usando Raspberry Pi y Python
- Construcción de un Tanque Lego Autónomo de Bajo Coste con NVIDIA Jetson Nano e Isaac SDK
- Proyecto Dados Digitales Arduino: Construye tu Propio Generador de Números Aleatorios con LCD
- Kit MOSMusic: Control de Iluminación de Alta Potencia Sincronizada con Música vía MOSFET y Arduino
- Componentes Esenciales de una Taladradora: Visión General Completa
- Componentes Clave del Motor de Combustión Interna
- Dominando la sintaxis de netlist SPICE: Nomenclatura de componentes, elementos pasivos y activos, y definición de fuentes
- Microelectrónica Explicada: La Ciencia de la Electrónica Miniatura
- Depósitos de reserva (reserve tanks): autonomía extra para combustible, agua y aceite