Pasar al contenido principal

Construyendo un barco RC usando un ESP32

En la última Metacamp de Metadrop, donde nos juntamos durante una semana centrándonos en contribuciones, proyectos internos y juegos varios, organizamos una actividad muy especial: construimos un barco de control remoto. 

El objetivo era fomentar la cooperación, estimular la creatividad y fortalecer las habilidades para resolver desafíos de forma conjunta. Durante la actividad, cada integrante del equipo se involucró activamente en todas las etapas del proceso, desde el diseño y la planificación hasta la construcción y el emocionante momento de la prueba en el agua. Esta experiencia no solo impulsó la resolución de problemas y la colaboración, sino que también sirvió para estrechar los lazos entre compañeros, creando un ambiente de confianza y camaradería. Además, estas jornadas presenciales permiten a los colaboradores salir de la rutina diaria, compartir ideas en un entorno relajado y conocer de manera más cercana a sus compañeros, lo que contribuye a una cultura organizacional sólida y un equipo más unido y motivado, especialmente porque trabajamos totalmente en remoto.

Barcas presentación trasera
Detalle de los barcos: timón, rotor principal y circuitería.

En línea con nuestro compromiso en Metadrop con la sostenibilidad y la filosofía DIY, se animó a utilizar materiales reciclados para crear la estructura del barco. Cada equipo recibió un motor y un timón. El reto era convertir esos componentes básicos en un vehículo funcional, estético y divertido.

De acuerdo con los valores de Metadrop, entre los que se destaca el compromiso con el Open Source, ¡al final del artículo encontrarás las instrucciones para reproducir el proyecto!

Competición y valores: cooperación e innovación

Puede que lo más complicado de la competición fuera elegir los materiales y el diseño, pues estábamos limitados a nuestra papelera de reciclaje, aquí se puede apreciar el ingenio de cada equipo.

Además el desafío no sólo estaba en la limitación de materiales, si no en conseguir una estabilidad a la vez de no comprometer la maniobrabilidad y la agilidad del vehículo. Algunos compañeros, para conseguir la flotabilidad esperada, optaron por un catamarán usando bricks de zumo.

Katamaran
El catamarán.

Otros eligieron usar una botella únicamente, dónde el peso debía estar bien distribuido si no querían que su barco se hundiera en cualquier giro. Otros escogieron construir una lancha pirata usando una bandeja de poliespan cómo el cascarón del barco.

Barcas Presentación
De izquierda a derecha: Curro, Lancha Pirata y Mr. Potato.

Tras una intensa sesión de montaje y adaptación, pusimos a prueba los barcos en dos desafíos:

  • Circuito de maniobrabilidad: había que pilotar el barco sobre un pequeño “trazado acuático” y demostrar su habilidad de giro y control dónde, en algunos tramos debido a la poca profundidad debido a las rocas, este podía quedar encallado si el piloto no tenía la suficiente destreza.
  • Velocidad en línea recta: competencia de sprint a máxima potencia para ver cuál era el más rápido.

Además, como bonus, también se premió la apariencia más original y creativa. El resultado fue una actividad muy divertida, en la que la cooperación y el ingenio de cada equipo destacaron más incluso que el resultado de la competición en sí.

Aquí tienes un vídeo con el resultado de la experiencia:

Los barcos en acción.

¿Cómo hacer tu propio barco? Principios básicos de la construcción

Seguro que después de ver los resultados expuestos necesitas saber cómo hacer tú propio barco. Por suerte uno de los pilares de Metadrop es compartir el conocimiento de forma abierta y libre. Por tanto, para cualquiera que se anime a reproducir la experiencia, dejamos a continuación una guía explicando el proyecto ESP32 BLE Motor and Servo Control , en el cual colaboraron activamente Metadrop y Omnia Makers.

1. Componentes clave

Componentes
Los diferentes componentes del barco.
  • Driver L298N mini: controla la dirección y la velocidad del motor.
  • Motor: un motor con escobillas.
  • ESP32 Mini C3: este microcontrolador, con capacidad BLE, es el “cerebro” que envía las órdenes al motor y al servo para orientar el barco. El software también es compatible con el controlador ESP32, pero hemos elegido el mini para que no tenga un consumo alto de energía.
  • Servo 9g Motor: permite el giro del timón.
  • Fuente de alimentación: asegura la potencia necesaria, especialmente si tu motor es exigente en consumo, debe proporcionar entre 3.7V y 12V.
  • Dirección del barco: los archivos están disponibles para ser descargados desde MakerWorld.
Dirección del barco
La pieza timón con el motor y el servo ya insertado.
  • Carcasa flotante y material reciclado: botellas, bricks de zumo, bandejas de comida o corcho pueden servir como base para crear la estructura flotante.

2. Cableado y conexiones

El ESP32 Mini C3 se debe conectar al Driver L298N y al servo siguiendo las siguientes pautas:

  • Motor: el L298N necesita dos pines de control para el motor de propulsión (GPIO 0 => H-Bridge IN1 y GPIO 10 => H-Bridge IN2), se puede cambiar los pines en el fichero power.cpp y la alimentación puede ser de 3.7V a 12V.
  • Servo: requiere un pin de señal PWM (por ejemplo GPIO 2) se puede cambiar el pin en el fichero servo.cpp, más conexiones de alimentación (5V y GND compartidos con la placa).
  • Alimentación y tierras comunes: es vital que al menos la tierra (GND) sea común entre el ESP32, la alimentación al driver y el servo, para asegurarnos de que las señales funcionen correctamente.

3. Configuración del software

El software originalmente estaba basado en ESP-IDF que es el framework soportado por Espressif para los microcontroladores ESP32, pero el proyecto se ha traducido a Arduino para que el desarrollo y el seguimiento fueran más sencillos.

El repositorio incluye un sketch principal (connect.ino) que configura la comunicación BLE (Bluetooth Low Energy), que en español se traduce como Bluetooth de baja energía, este procesa los comandos que llegan desde un cliente web o aplicación móvil compatible y los traduce para mover el servo y el motor.

Además, la carpeta client proporciona un sencillo cliente web que utiliza la API de Web Bluetooth para buscar el dispositivo y mandar las instrucciones. El código separa la lógica en varios archivos:

  • DataParser: para interpretar los comandos entrantes.
  • power: control del motor a través del L298N.
  • servo: manejo del servo mediante señales PWM.
  • bluetooth: gestiona la conexión Bluethooth.

Nombre del dispositivo: METALANCHA (configurable en bluetooth.h). Si hay varios dispositivos simultáneos, este nombre debe ser único para cada dispositivo.

4. Control remoto y puesta en marcha

  1. Subir el sketch a la placa: carga connect.ino en tu ESP32, esto se puede hacer usando en IDE de Arduino.
  2. Fuente de alimentación: conecta tu barco a una fuente de entre 3.7V y 12V.
  3. Cliente web o app BLE: desde tu teléfono o un ordenador con Bluetooth, conéctate al ESP32 utilizando el cliente proporcionado (o uno propio) y empieza a mandar los comandos. El cliente facilitado en el repositorio ofrece dos joysticks uno de dirección y otro de control del motor.



    Commandos disponibles en la API:

    • on / off para encender o apagar el motor.
    • y 200 para establecer la potencia del motor.
    • x 45 para girar el servo a 45° y controlar el timón.
    • testservo para comprobar que funciona el servo
    • testpower para comprobar que funciona el motor.
       
  4. Pruebas de flotabilidad y ajuste: verifica que la estructura de tu barco es estable y que el timón (servo) gira con amplitud suficiente para maniobrar.

Conclusiones

La experiencia de montar barcos controlados remotamente nos ha enseñado mucho sobre el trabajo en equipo, creatividad e ingenio técnico. Además, la actividad resultó ser un éxito en cuanto a participación e implicación de los asistentes, reforzando los valores de colaboración que tanto destacamos en Metadrop.

Te invitamos a que pongas en práctica estos pasos, experimentes con diferentes materiales reciclados y compartas tus logros. Ya sea para un proyecto personal o para un evento en tu organización, enseñar a los participantes a crear sus propios dispositivos y competir sanamente es una gran manera de aprender y divertirse al mismo tiempo.

Si algo no te funciona o quieres mejorarlo, ¡anímate a contribuir! O si simplemente quieres dejar tu comentario o anécdota, siéntete libre de enviarnos tu feedback.

¡Atrévete a construir el tuyo y a unirte a la comunidad maker!

Recursos
Repositorio con el código compatible con ESP32
Archivos para imprimir en 3D la dirección del barco

Eduardo Morales Alberti

Eduardo Morales

Senior Drupal developer

Cursos de formación para grupos

Capacitación presencial y online para equipos de desarrollo y producto.