Inicio » Aula » Kirara(绮良良) Robot Caja-Gato

Kirara(绮良良) Robot Caja-Gato

🐾 Kirara Robot: cómo diseñar, programar y controlar un robot inspirado en Genshin Impact

Bienvenido a este recorrido por el desarrollo de Kirara Robot, un proyecto que combina diseño 3D, electrónica y programación en Arduino para traer a la vida real a Kirara, uno de los personajes más carismáticos de Genshin Impact.

                             

 

En este blog encontrarás todo: desde la inspiración y el modelado CAD, hasta la electrónica, la lógica de control, la animación de expresiones y la app para manejarlo a distancia.


📌 Índice

1️⃣ Diseño del prototipo
2️⃣ Electrónica del sistema
3️⃣ Programación en Arduino
4️⃣ Aplicación móvil para control remoto


🎨 Diseño del prototipo

El diseño de Kirara Robot está inspirado en Kirara del juego Genshin Impact. Para replicar su estética felina y expresiva, todo el modelo se creó cuidadosamente en SolidWorks.

                       

📐 CAD

Cada parte del robot se diseñó con piezas articuladas que permiten movimiento y expresiones faciales realistas. La estructura interna aloja los servos MG90S para la movilidad y una pantalla OLED SSD1309 para mostrar la cara de Kirara con animaciones dinámicas, simulando parpadeos, miradas y emociones.


⚡ Electrónica: la base que da vida a Kirara

🔑 Placa principal: ESP32

El ESP32 es el cerebro del robot. Esta placa controla todos los componentes:

  • Gestiona el movimiento de los servos.
  • Controla la pantalla OLED para mostrar expresiones y datos.
  • Se conecta a internet para consultar la API meteorológica y mostrar el clima en tiempo real.

🎚️ Controlador PWM: PCA9685PW

El PCA9685PW es un controlador PWM que se comunica con el ESP32 por I2C. Este módulo permite controlar múltiples servos simultáneamente de forma precisa, ideal para que Kirara mueva varias partes a la vez sin sobrecargar la placa principal.


🖥️ Pantalla OLED SSD1309

La pantalla OLED es la “cara” de Kirara. Inspirada en el robot Anki Vector, esta pequeña pantalla muestra animaciones rápidas:

  • Ojos que parpadean y miran a distintos lados.
  • La hora actual.
  • Información meteorológica extraída de la API.

La comunicación entre la pantalla y el ESP32 se realiza vía SPI, lo que garantiza una actualización fluida y sin retardos.


🔧 Servo MG90S

Cada MG90S es un micro servo robusto con engranajes metálicos, capaz de girar de 0° a 180°. Trabaja con tensiones de 4.8 V a 6 V, generando un par de hasta 1.8 kg·cm a 6 V, suficiente para soportar el peso de cada articulación del robot.

Un cálculo rápido muestra que cada servo puede sostener 0.44 kg, por lo que cuatro servos distribuyen bien el peso de 1.44 kg del robot completo.


🔋 Alimentación

Para alimentar el sistema, se utiliza una batería de ion de litio 18650 (3.6 V nominal, entre 2000 y 3500 mAh) — ideal por su alta densidad energética.

Un adaptador step-up de 5 V 2 A eleva la tensión de la batería para alimentar la placa y los servos con la corriente adecuada, asegurando autonomía y estabilidad.


💻 Programación: el cerebro lógico de Kirara

✅ Control de servos con ESP32 y PCA9685

El ESP32 se comunica con el PCA9685 usando el bus I2C. Cada servo se asigna a un canal y se controla mediante señales PWM precisas. Así, se puede mover cada articulación a un ángulo deseado sin sobrecargar el procesador principal.


✅ Consulta de datos meteorológicos con API

Kirara se conecta a internet usando la librería WiFi.h. Luego, mediante HTTPClient, envía una solicitud GET a OpenWeatherMap para obtener datos como la temperatura y el estado del clima.

Estos datos se procesan en formato JSON usando ArduinoJson.h.


✅ Sincronización de hora, fecha y día de la semana

En Kirara Robot, la librería time.h se usa para sincronizar y mostrar la hora actual, la fecha completa y el día de la semana en la pantalla OLED.

Esto permite que el robot siempre muestre información de tiempo real de forma precisa, sin necesidad de actualizarla manualmente. La sincronización se realiza automáticamente mediante NTP (Network Time Protocol), asegurando que siempre esté al día cada vez que se enciende o se conecta a internet.

  • Hora actual

  • 📅 Fecha completa

  • 📆 Día de la semana

Todo de forma clara y actualizada en su pequeña pantalla OLED.


✅ Animación de la cara

La cara de Kirara cobra vida gracias a la librería U8g2:

  • Se definen vectores y patrones que representan ojos y expresiones.
  • Se dibujan usando primitivas gráficas como círculos y líneas.
  • Se actualizan cuadro a cuadro para simular parpadeos y cambios de mirada de forma natural.

✅ Lógica principal (Main)

El programa principal funciona como una máquina de estados. El robot recibe comandos desde la aplicación móvil vía Bluetooth y, según el mensaje recibido, cambia de estado: moverse, saludar, descansar o cambiar de expresión.


📱 Aplicación móvil: el mando a distancia

La APK es una app sencilla y funcional que permite controlar a Kirara Robot vía Bluetooth. La interfaz muestra botones que, al pulsarse, envían comandos de texto al ESP32 para ejecutar acciones como:

  • Movimiento: hacia adelante, atrás, girar o detenerse.
  • Expresiones: mostrar emociones en la pantalla OLED.
  • Modo reposo o saludo: mover servos a posiciones predefinidas.
  • Balanceo: simular gestos dinámicos.

Cada botón corresponde a un bloque de comandos que garantiza que el Bluetooth esté conectado antes de enviar la orden.

                     


🎥 Demostración y agradecimientos

El proyecto concluye con una demostración práctica: Kirara se mueve, muestra emociones, consulta el clima y responde a cada orden enviada desde la app.

 

¡Gracias por tu atención y apoyo a este proyecto que une creatividad, ingeniería y pasión por la robótica y los videojuegos!


🚀 ¡Anímate a crear tu propio robot!

Kirara Robot prueba que cualquiera puede dar vida a sus ideas con diseño 3D, Arduino y un poco de creatividad. No hace falta ser experto: basta con tener ganas de aprender y experimentar.

Atrévete a imaginar, diseñar y programar tu propio robot. ¡No hay límites, solo oportunidades para innovar y divertirte construyendo! 🤖✨