Skip to content

OPRobots/IRTimer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IRTimer: Maze & Line StopWatch

IRTimer Cronómetro para MicroMouse y LineFollower con conectividad WiFi para visualización de interfaz gráfica web, permitiendo una simple integración con OBS y softwares similares. Además, tambien posee integración con nuestro sistema de inicio de robots IRStart, desde el cual se podrá detener y reiniciar el cronómetro a distancia.

🔀 Dos modos, una PCB

IRTimer se construye sobre una única PCB de 6 capas. Lo que determina su función es el firmware que se le cargue:

Modo Main Modo Aux
Disciplina LineFollower Micromouse
Rol Host central + cronómetro Sensor de pared (START o FINISH)
Display TFT ✅ ST7789 135×240
WiFi Servidor web + SSE Escaneo de canal
ESP-NOW Recibe comandos Envía comandos
RC5 IR ✅ Mando a distancia

Modo Main — Cronómetro de LineFollower

IRTimer

El modo Main está pensado para situarse cerca de la línea del circuito para detectar el paso de los robots detectando su paso a través de un sensor infrarojo situado en la parte posterior del mismo.

Este modo es el encargado de conectarse a la red WiFi local y montar un servidor web para la visualización de cronos en tiempo real. Este servidor web está pensado para poder integrarse de forma simple a modo de overlay en programas de streaming como OBS Studio para mostrar de forma más dinamica a la audiencia los tiempos de los robots. También será el encargado de recibir los comandos de inicio y parada desde los módulos en modo Aux mediante ESP-NOW.

Hardware

  • Microcontrolador: ESP32-C3 supermini
  • Pantalla: LCD de 135x240 RGB TFT (ST7789)
  • Sensor: Sharp GP2Y0D815Z0F (15cm)
  • Receptor IR 38kHz: TSSP77038TR
  • LEDs: 2x LEDs RGB (WS2812B)
  • LiPo: Batería 1S 1500mAh 523450

Modo Aux — Cronómetro de Micromouse

IRTimer

El modo Aux comparte la misma PCB pero prescinde de pantalla y botones. En este caso, el sensor está embebido dentro del propio poste para interferir lo mínimo posible con las lecturas del robot. Además, el diseño del poste permite multitud de colocaciones para facilitar el montaje en el laberinto.

Las paredes se comunican mediante ESP-NOW con el Main enviando los comandos de START y STOP del cronómetro. Una vez la pared de inicio ha dado la señal, se queda inactiva hasta que se mantenga el sensor detectando por unos segundos para evitar que se inicie una nueva vuelta si el robot vuelve a la casilla inicial (sobre todo en reconocimiento).

Hardware

  • Microcontrolador: ESP32-C3 supermini
  • Sensor: Sharp GP2Y0D815Z0F (15cm)
  • LEDs: 2x LEDs RGB (WS2812B)
  • LiPo: Batería 1S 1500mAh 523450

PCB

IRTimer

Tiene un tamaño muy reducido, menos de 50x50mm, que permite encargarse en los principales fabricantes de PCB con acabado en Oro para más alucinancia. Además, también tiene un total de 6 capas, siendo la primera PCB de OPRobots en tener más de 2 capas.

Contiene los componentes necesarios para cargar la LiPo mediante el conector USB-C del propio ESP32, además de un lector de batería para avisar en caso de que la batería esté baja. Permite la conexión de los RGB tanto en vertical para el modo Main como en horizontal para los módulos en modo Aux.

📚 Documentación

  • Hardware — MCU, PCB 6 capas, pinouts, display, chasis 3D, tabla comparativa Main/Aux
  • Arquitectura Software — Main loops, máquinas de estado, ISR RC5, callback ESP-NOW, diferencias entre modos
  • Comunicaciones — ESP-NOW, WiFi/SSE, RC5 IR, Serial
  • Sensores — Sharp GP2Y0D815Z0F (ambos modos), batería ADC
  • Menú — Navegación, botones, control RC5 (solo Modo Main)
  • Debug — Salida serie, LEDs de estado en cada modo
  • Batería y LEDs — Monitorización LiPo, carga, WS2812B en ambos modos
  • Problemas Conocidos — 14 issues (4 críticos, 7 moderados, 3 leves)

🔧 Stack Tecnológico

Componente Detalle
Microcontrolador ESP32-C3 supermini
Framework Arduino (espressif32)
Entorno PlatformIO
Lenguaje C++17
PCB KiCad (6 capas, < 50×50 mm) — misma para ambos modos
Carcasa Onshape (STL disponibles)
Licencia GPL v3

About

Cronómetro para Micromouse y Linefollower con interfaz gráfica en web para integración con OBS

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors