Buenas a todos y todas Ardublogeros!!!

La primera versión del software ya esta lista así que en esta entrada voy a explicar el código ya que esta vez he optado por estructurar el software por pestañas como vimos en la entrada anterior: Ejemplos Arduino: Trabajando con pestañas en el Sketch.
Es algo que ya había visto en algún proyecto y no le había hecho mucho caso, pero en programas donde hay muchas lineas y funciones se ha convertido en algo fundamental para poder organizar el programa.
Otra de las ventajas es que podemos reutilizar el código para otros proyectos solo importando el *.ino y añadiéndolo al proyecto.
Estructura de archivos
XboxRC24 Transmitter esta estructurado en 8 pestañas y son las siguientes:
- Transmisor_XboxRC.ino
- Calibracion.ino
- Caracteres.ino
- Comunicacion.ino
- LCD.ino
- Memoria.ino
- Menu.ino
- Modo_tanque.ino


Calibración es el apartado encargado de establecer los máximos y mínimos de los joysticks y gatillos.

Caracteres.ino:
Como la memoria del LCD solo nos permite tener 8 caracteres personalizados y para este proyecto quería tener algunos más, he creado esta pestaña con los caracteres predefinidos que se cargaran antes de entrar a la función a la que estén asignados.
radio.read() recibe 5 datos que aun están por definir pero que incluirán voltaje, temperatura, etc...
LCD.ino:
El mando cuenta con una pantalla LCD 16x2 con un módulo de control i2C y esta pestaña como su nombre indica muestra en el LCD los datos enviados y recibidos, las posiciones de los joysticks, estado de la transmisión de los datos, etc...
Memoria.ino:
El apartado Memoria.ino se encarga de cargar y borrar los datos de la memoria EEPROM. Las instrucciones que utiliza son:
- EEPROM.read() un bucle for leerá los bancos de memoria y los cargara en el array varJoyMin y varJoyTop.
- EEPROM.write() con un bucle for pondremos a 0 los bancos de memoria.
Menu.ino:
Los diferentes menús están en esta pestaña por el momento son dos:
- void menu() Aquí tenemos los diferentes opciones que podemos controlar. Lo seleccionaremos con "switch case" y apuntaran a las pestañas donde estarán predefinidos los diferentes vehículos.
- void menuCal() Con este menu nos movemos entre la configuración de las diferentes entradas analógicas y a punta a las funciones almacenadas en la pestaña "Calibracion.ino".

Modo_tanque.ino:
Esta pestaña es para conducir un vehículo con tracción de oruga. Este lo controlaremos mediante el gatillo derecho para acelerar y el joystick izquierdo para las diferentes direcciones. También tenemos configurado el botón A para encender y apagar luces u otro dispositivo.
![]() |
XboxRC24 botones predefinidos para el modo tanque |
Esta versión esta aún en desarrollo así que puede que tenga algunos bugs, pero a la misma vez que iré añadiendo vehículos, también iré puliendo el código ;)
Descargar Transmisor XboxRC24 desde GitHubTambién te puede interesar el código para el receptor:
XboxRC24 Receptor Coche V0.3 desde GitHub
Y puedes revisar las otras entradas relacionadas con el mando XboxRC24 Transmitter:
XboxRC24 Transmitter: Un mando Radio Control con corazón Arduino Parte 1
XboxRC24 Transmitter: Un mando Radio Control con corazón Arduino Parte 3
Arduino: Coche RC Maisto Drift XboxRC24
**Versión 0.5**
- Añadido el modo coche
- Añadido Debug.ino para la visualización en el monitor serial
- --Datos enviados/recibidos.
- --Estado de la memoria: valores mínimos y máximos.
- --Mejora en la función Calibración
Espero que os guste y que os sea de utilidad tanto el programa en si como la parte de código que podáis utilizar para realizar vuestros proyecto.
Saludos a todos y todas!!!
No hay comentarios :
Publicar un comentario