Mostrando entradas con la etiqueta RC. Mostrar todas las entradas
Mostrando entradas con la etiqueta RC. Mostrar todas las entradas

viernes, 25 de octubre de 2024

ESP32 oled 128x32 velocímetro RC Dashboard

Muy buenas a todos Arduineros y Arduineras!!!

Librería Adafruit
Ya os presente uno de los mejores proyectos para Radio Control el ESP32 Engine sound. En este proyecto una de las últimas opciones que implementaron fue la pantalla con velocímetro o dashboard

En ese apartado, se sincroniza una pequeña pantalla de 160x80 con conexión SPI. Simplemente genial.

¿Cual es mi problema con esto? Pues en principio ninguno, pero no disponía de una pantalla SPI, pero si una OLED de 128x32 y

conexión I2C

Librería U8g2Lib

El panel original viene un frok del ESP32 Engine Sound original al que como hemos comentado, se le añadió la pantalla con cuatro relojes, Velocidad, RPM, Gasolina y ADblue y los iconos de las funciones más comunes en todos los vehículos.

Como me pareció sencillo, decidí probar si ese código se podría portar a una pantalla I2C. Para la comunicación I2C con la pantalla he probado las 2 librerías más famosas para la pantalla SSD1306, la librería U8g2Lib y la librería Adafruit_SSD1306 siendo esta última la que me mejor a funcionado.

El proyecto lo he dividido en 2 partes, la primera es para usarlo de manera independiente y la segunda es con la pantalla ya integrada en el sistema ESP32 Engine Sound.

Los componentes que se han utilizado para el proyecto son los siguientes:

  • ESP32 WROOM Dev Kit V1
  • Oled SSD1306 128x32 I2C

Para no liar con lo que ya esta hecho, primero he renombrado los archivos dashboardc.cpp y dashboard.h a dashboardi2c.cpp dashboardi2c.h. y borrar todo lo que no esta relacionado con la pantalla "Garimaldi"

Para el manejo de la pantalla he usado la librería de Adafruit_SSD1306.h y Adafrit_GFX.h. Esto ha llevado cambios en la inicialización del programa y los tamaños de las esferas. Estos valores los cambiamos en el archivo dashboardi2c.h

En este archivo encontraremos los valores predefinidos como el radio de las esferas, iconos, colores o la posición de los iconos en la pantalla. Después de las definiciones, esta la clase "Dashboard" sustituida por "DashboardI2c" junto con sus funciones, menos la función "drawLogo()" que no afecta al funcionamiento normal del programa.

Puedes encontrar los archivos para su descarga al final de este articulo.

Una vez que ya he probado las funciones y parece que todo funciona bien, añado un puerto para el I2c en la placa con el programa RC Engine Sound ESP32 y copio los archivos a la carpeta "RC_Engine_Sound_ESP32/src/src/"

En el archivo 9_Dashboard.h añado la siguiente linea para poder activar o desactivar la pantalla:


#define I2C_DASHBOARD 

Con la definición creada ya podemos añadir los cambios en el archivo "src.ino". Primero declaramos el objeto dashboard:


// Other objects -----
// Dashboard

#ifdef I2C_DASHBOARD
  DashboardI2c dashboard;
#else
  Dashboard dashboard;
#endif

En la función void setup() tenemos que desactivar los pines que correspondes al puerto I2C que en la placa DOIT ESP32 DEVKIT V1 corresponden a los pines GPIO21 (SCL) y GPIO22(SDA) y en el programa a las funciones "Beacon1" y "Cab light":


// Added for I2c dashboard
#if not defined I2C_DASHBOARD
  beaconLight1.begin(BEACON_LIGHT1_PIN, 9, 20000);  // Timer 9, 20kHz
  cabLight.begin(CABLIGHT_PIN, 12, 20000); // Timer 12, 20kHz
#endif

Un poco más abajo en la misma función setup() ponemos un mensaje para mostrar en el monitor serial que la pantalla esta activada:


#if defined I2C_DASHBOARD
  // Dashboard setup
  Serial.printf("I2C_DASHBOARD enabled. Pins 21 (beacon1), 22 (cablights) not usable!\n");
  Serial.printf("-------------------------------------\n");
  dashboard.init(dashRotation);
#endif

Como la tasa de refresco de la pantalla es bastante baja, el tiempo en el que se muestra tiene que ser mayor, si no gastará mucho tiempo "dibujando" y el programa ira excesivamente lento, para esto añadimos en la función "updateDashboard()" lo siguiente:


#ifdef I2C_DASHBOARD
  if (millis() - lastFrameTime > 300) // We need to save processing time!
#else
  if (millis() - lastFrameTime > 40) // 40) // We need to save processing time!
#endif
  

Y por último actualizamos la pantalla en la función loop():


#ifdef I2C_DASHBOARD
    updateDashboard();
#endif

Por supuesto todo esto ha sido para poder implementar la pantalla junto con su código en el programa original RC Engine Sound, pero no solo de código vive el hombre, así que este es el diagrama de conexiones que utilizo actualmente:


Al conservar los nombres que le dieron a las funciones en la clase Dashboard original, solo con unos pocos cambios podemos hacer compatibles esta pantalla I2C con el sistema RC Engine Sound ESP32. Si bien no dispone de todo el colorido y la rapidez de la pantalla SPI. Quedará muy bien en cualquier vehículo RC.

Como comente al principio, la librería U8G2Lib que, aunque si que dibuja la pantalla, la tasa de refresco es muy inferior a la tasa de refresco de la librería Adafruit. Esto hace que la pantalla no muestre los datos de una manera fluida e incluso produzca cuelgues en el ESP32.


Tenéis más información sobre el sistema en el artículo:Man Kat con Rc Engine Sound esp32.

Los archivos, tanto para la librería Adafruit como para U8g2Lib, para el velocímetro los puedes descargar en:

Descargar ESP32 oled i2c 128x32_dashboard desde GitHub

El programa original, en ingles, lo podéis encontrar en el siguiente enlace:

Repositorio oficial de RC Engine Sound ESP32 en GitHub

Puedes hacer las placas para RC Engine Sound ESP32 de una manera profesional desde el repositorio PCBway.com de "Thediyguy

Espero que os guste esta pequeña modificación para este excelente programa y para los que os gusta trastear, esta es una manera más clara de aprender a como dibujar en una pantalla de estas características.

Saludos!!

miércoles, 9 de octubre de 2024

Primer barco RC Zhong Shan Gunship

Muy buenas a todos marineros!!

Ya sabéis que nos encantan los vehículos RC, generalmente son vehículos terrestres Pero el verano pasado decidí comprar un kit para un barco, y mirando por mi web chinesca de confianza encontré este modelo de plástico para montar: Zhongshan Gunboat. lo que más me llamo la atención es que estaba medio preparado con motor. Como no entiendo de barcos, me dije, pues este mismo, y esto es lo que pasó...

 

Pero antes, un poco de la historia sobre el barco Zhongshan Gunboat:

 

Según wikipedia este barco cañonero de 65,8 metros de longitud y 8,8 metros de manga, pertenecía a la Marina China y fue construido en Japón en 1913 e irónicamente hundido por esta misma armada japonesa durante un bombardeo en la segunda guerra Sino-Japonesa (1937-1945) en el rio Yangtze el 24 de octubre de 1938.

En 1986, cuando decidieron recuperar los restos del naufragio, recuperación que se llevo a cabo en 1997, 59 años después de su hundimiento. En 2001 recuero su apariencia de 1925 pero decidieron conservar daños sufridos durante su hundimiento-

El Zhongshan restaurado ahora se encuentra en el Museo de Buques de Guerra Zhongshan en Wuhan.

Fin de un poquito de historia :)

No soy experto en montar maquetas de barcos ni en barcos en general, asi que primero mis disculpas a los que si por que me imagino que no estaré usando las palabras técnicas del mundillo. Y casi con seguridad podría decir que es la primera maqueta de plástico que monto.

¿La experiencia? Ha sido entretenida y sobre todo montar el Zhong Shan Gunboat ha sido muy divertido.

Para montar el kit de plastico he utilizado las siguientes herramientas:

  • Cuter
  • Lima
  • Alicates de corte
  • Taladro manual
  • Vaselina o grasa
  • Pinturas en spray

Como el motor ya viene prácticamente montado, solo lo he desmontado para aplicar un poco de grasa en los piñones interiores. Y la primera parte que he mecanizado es el timón.

 

Para poner el timón primero he cortado la parte que va en el interior de barco, después con una broca de 1.5mm he agrandado el agujero para poder introducir un tornillo de 35mm. En la parte superior he puesto el enganche que conectará con el servo que mueve el timón.

Antes de poner el timón en su posición definitiva hay que aplicar grasa en todo el tornillo hasta que todo el hueco quede estanco. Esto evitará que el agua pueda introducirse en el interior del barco.

Para colocar las helices primero tenemos que quitar los 4 tornillos que sujetan el motor, de esta manera se trabaja con mayor comodidad. Después hay que introducir la vaselina en los tubos (¿bocinas?) antes de meter los ejes donde colocaremos las helices. Como los tubos son algo pequeños, apliqué la vaselina, primero calentando un poco al baó maría y aplicandola con una jeringa. Al empujar, tiene que salir parte de esta vaselina hasta que salga el eje. Con esto, igual que con el timón, evitamos que el agua se filtre al interior de la embarcación

Con esto hecho, poniendo el receptor para la radio Taranis y un par de ajustes rápidos, ya estaba preparado su primera prueba de navegación





Una vez termine de probar que todo funcionaba correctamente desmonte la electrónica y pase al segundo paso, pintar.

Pintar no es algo que se me de especialmente bien, aún así primero pinte todo de negro, para darle opacidad al platico, esto es por que el plástico es bastante fno y la otra pintura al ser gris, no creo que sea capaz de no dejar pasar la luz del ESC o del receptor desde el interior y es algo que no me gusta.

Para el casco he usado color rojo claro para la parte inferior y el gris oscuro para la parte que va sobre el agua. Si bien hay una franja blanca, ya me había quedado bien el corte de rojo a gris y no quise arriesgar

Para el puente he usado una especie de marrón y el mismo gris oscuro que he usado en el casco. Al ser escala 1/150 me ha venido vien para ponerle un personaje en el puente como timonel.

Electrónica y reglaje:


Para la electrónica he probado varias emisoras. Primero probé con la radio "Taranis" pero hay un fallo que no supe arreglar y es que al desconectar la radio, el servo se pone en una posición que hace que el timón estuviera forzado.

Imagino que no le he dedicado el suficiente tiempo a esta radio, por que no lo logre quitar. Curiosamente también me pasa con otros receptores de la misma marca.

En la prueba con GT5 la cosa mejoró notablemente. Ahora el servo siempre esta en su sitio.

  • Receptor: FS2A AFHDS 2A de 4 canales
  • ESC: Genérico motor escobillas
  • Baterías: 2 x 18650
  • Motor: Genérico 130
  • Servo: Servo 9G genérico

Recuerda que puedes hacer tus propios packs de baterías 2S en este enlace.

 

Una vez que ponemos las baterías el barco pierde estabilidad así que probé a poner más peso en la parte posterior. En total se han añadido 30g extra que sumados a los 110g de la batería, 10g del servo y 20g del ESC hacen un total de 170g.

Como primera experiencia de navegación ha sido bastante fácil de poner en marcha e incluso de subsanar pequeños errores que han ido surgiendo durante el montaje y pruebas.


 

ARRR!!! Marineros!!!! Si esta entrada gusta, compraré otro diferente para montar y compartir mis experiencias. A ver si para el próximo consigo hacer funcionar la "Taranis y probamos. Además si encuentro el fallo comento como corregirlo.

Saludos!!!

Fuentes:

Wikipedia: Chinese gunboat Zhongshan


miércoles, 28 de agosto de 2024

ManKat con RC Engine Sound ESP32

Rc Engine Sound
Una de las cosas que más realismo le da a un coche R/C de este tipo (camiones) es que puedan configurar de una manera sencilla y que que suene... que suene de verdad...

Si bien hay muchos "emuladores de sonido" para coches y camiones R/C. Aunque uno que alguno modelos sean asequibles para el bolsillo, parece que estemos en un juego de coches de los 80's en un 386...  Los modelos más caros suelen tener un buen sonido, pero suelen rondar los 50€~60€. Y pueden sonar bien, pero no tienen la cantidad de accesorios que incluye el repositorio del que vamos a tratar.

Empecemos!

Pues bien, navegando por GitHub encontré un proyecto llamado Rc_Engine_Sound_ESP32 de TheDIYGuy999, no solo cumple con las expectativas de sonido, Además también incluye todos los controles para luces como intermitencias o luces de freno y varios accesorios como 5ª rueda y el cabestrante.

PAM8403

En el apartado de sonido lo mejor que tiene esta amplificado con el módulo basado en el chipset PAM8403 altavoces de hasta 3W que dispone de dos canales de audio y hace que no tenga que parar un sonido para reproducir otro. 

Y la verdad es que suena muy bien, tanto en potencia como en calidad. Se pueden usar 2 altavoces  pueden usar cualquier potencia siempre que no supere los 3W. 

En mi caso use unos altavoces de algún pequeño equipo para móviles que tenía por casa. 

Además incluye una gran cantidad de sonidos para motores de muchos vehículos diferentes. En mi caso uso la motorización del MAN KAT y las luces como intermitencias y frenos. Una cosa que me gusto mucho es que con un motor se puede hacer que simule la vibración del motor. También simula el panel de control con un pequeño Oled de 80*160 al que se le puede cambiar la apariencia.

domingo, 23 de julio de 2023

Packs 2S y 3S con baterías 18650

Buenas a todos!!!

El tema de las baterías es un tema complicado, capacidades, voltajes, ¿litio, lipo, 2S, 3S...?

Packs 2S con 18650
Pues bien lamentablemente no voy a explicar en que consisten cada una, pero si un


pequeño truco para poder hacer packs de 2 y 3 celdas de baterías 18650 del tipo Litio. Hay en el mercado muchos tipos de BMS (Battery Management System) para cargar baterías desde 1S ( 1 celda) hasta... no sabría decir, pero muchas.

Los packs de baterías más grandes suelen usarse en patinetes eléctricos, bicicletas e incluso vehículos más grandes como coches eléctricos como los Tesla que pueden llevar mas de 8000 celdas de baterías 18650. Casi podríamos afirmar que estas baterías mueven el mundo eléctrico en general.


18650 Litio

El problema de estos BMS para baterías 18650 es que suelen estar limitados a 1A o 2A. Si bien esto no es un problema para una emisora, cuando tienes mucha carga como un motor de RC del tipo 370 o 390, junto con la electrónica y luces, se suele quedar corto.

 

Batería Lipo

 

Las baterías de Lipo son mucho mejores en eso. Lamentablemente son más caras y no tan fáciles de adquirir como las baterías de Litio. Tengo muchas, casi todas de ordenadores portátiles, incluido el portátil desde el que escribo.

Pero si estaba rota ¿por que así si funciona?

domingo, 28 de junio de 2020

Arduino NRF24L01 Walkera RC modificación

Muy Buenas a todos los Arduineros!!!

Hace un tiempo dando una vuelta me encontré con este mando de radio control para un ¿Helicoptero? el modelo creo que es el WK-2401 2,4GHz. No tengo ni idea de sus características y la verdad poco importa... mi interés era el mando en si, los mandos iban bien y tenia posibilidades para ampliar los canales con huecos en la parte superior y a los lados de la pantalla.

En total me costo 10€ aunque de la web que saque la foto del original lo tienen por 23$ (unos 20€).

Una vez en casa, toda la electrónica fue removida sin problemas, los gimbal iban conectados con un cable a la placa y solo tuve que desconectar.

3 de los 4 canales tienen resorte, es decir vuelven a la posición central y 1 de ellos no, siendo este para aviones y helicópteros ya que mantiene la posición.

Después de quitar la electrónica original le hice un hueco al Arduino NANO y al módulo NRF24L01. El esquema es prácticamente el mismo que he usado para el RC Xbox con algunas modificaciones como pueden ser los pulsadores que los he cambiado por interruptores y los dos pulsadore son para moverse por el menú.

Ademas de 4 interruptores de palanca le he añadido dos pulsadores que serán las teclas "Atras" y "Selección.

También lleva la batería de 2 celdas, estas baterías se cargan desde la parte posterior con el interriptor principal en posición OFF. Así las funciones para el interruptor principal son: ON para uso normal y OFF para apagado o carga de la batería.



Si buscas un poco en internet, veras que tener una buena configuración, pero otros apartados a tener en cuenta son:

  • Aislamiento del módulo NRF24L01
  • Alimentación estable 3.3V
  • Añadir condensador de 47uF lo más cercano a la alimentación del módulo



Con esos sencillos puntos veras como mejora el rango de recepción y transmisión.

Otro de los puntos a tener en cuenta es el canal en el que transmitimos, en este caso el 50, ya que, según leí mientras solucionaba problemas de comunicación, los canales más altos daban más problemas (no se hasta que punto sera esto cierto).

Como dato curioso, hubo un día que salí a pleno sol y todo iba fatal, hasta me enfade un poco por que no entendía nada. Al entrar a casa y probar, todo funcionaba bien. No se hasta que punto la radiación solar puede afectar a estos módulos, o si fue algo que toque sin darme cuenta. Bueno yo ahí lo dejo como dato curioso, Ah y cuando digo sol, me refiero a solanero gordo, 38-40ºC...

El programa viene dividido en diferentes archivos:

  • Walkera_RC24
  • Axis.ino
  • Calibratión.ino
  • Config.h
  • Memory.ino
  • Model.ino
  • Oled.ino

También hace uso de la librería U8Glib para la pantalla oled y usando solo un par de fuentes, ya que son un coladero de memoria.

Se conserva la estructura del mando XboxRC24, pero cambia totalmente la interfaz ya que pasamos de una pantalla LCD a una pantalla oled

Esto hace que haya mychos cambios en la lógica y porsupuesto, dispara el consumo de memoria, almenos en micricontroladores tan justitos como el Arduino NANO.

La configuración del modulo esta en la pestaña Config.h ahí podremos cambiar diferentes parametros del módulo como:.

  • Pines CE y CS
  • Nivel amplificador de potencia (PA)
  • Velocidad de transmisión
  • ACK
  • ACKPAYLOAD
  • delayRF
  • countRF
  • Canal de transmisión (canal50 por defecto)

Otra de las cosas es que se puede ajustar el trim de los canales 1,2,3 y 4, este igual que el mínimo y máximo, también se almacena en la memoria EEprom y se leen al entrar en el modelo.

Seguramente más avanzado cambiare la interfaz ya que es lo que más memoria consume.

Receptor nRF24L01 Gaz66 desde GitHub

sábado, 18 de enero de 2020

JJRC Q64 Man Kat Luces Led cortas y largas

Ahora empiezo con el MAN KAT 1 de JJRC. En cuanto a compatibilidad con la marca WPL es casi 100%. Aún así, sigue siendo un juguete. Para eso estoy añadiendo modificaciones para añadir al receptor, tales como intermitencias o luces cortas y largas, también la marcha atrás y el freno.  Para las luces largas y cortas voy a utilizar un led SMD de los "gordos". Cómo se ve en la imagen este Led tiene 3 leds en su interior y un cátodo común ( - ). De esta forma tengo las luces cortas encendiendo solo uno, y al encender los tres será la luz larga.


martes, 17 de diciembre de 2019

WPL B-24 Modelo Gaz-66 modificaciones

Buenas a todos!!! Hace unos meses cayó en mis manos este pequeño camión RC de la marca WPL, más concretamente, el modelo B-24.

Por suerte lo compre con pensamiento de hacerle algunas modificaciones, o todas las que se me han ido ocurriendo...
Bien el modelo es el de la siguiente fotografía:

En la caja original viene el modelo listo para cargar las baterías de 6v 700mA y poner 2 pilas AA en el transmisor y a correr!!! O eso pensé... Sinceramente fue bastante decepcionante, el camión no andaba casi nada de tiempo y el poco que hacía lo hacía mal, no pudiendo, por ejemplo, girar y avanzar al mismo tiempo.

Así que lo primero que hice fue cambiar la electrónica...

sábado, 19 de octubre de 2019

XboxRC24 Transmitter Un mando Radio Control con corazón Arduino (Parte 3)

Muy buenas a todos y todas!!!

Mucho ha llovido desde la ultima publicación en el blog, como compensación he estado trabajando en el mando que hice con el mando de Xbox. Los resultados han sido muy satisfactorios.

Primero me di un buen repaso por la librería "RF24.h" y lo segundo fue darle un repaso a la electrónica y descubrí un par de fallos.

La parte de programación:

He añadido partes de la librería NRF24l01 que antes no había usado tales como "SetChannel(uint8_t)" para cambiar de canal y getPALevel(uint8_t). También he añadido una pestaña llamada Config.h para que configurar el módulo NRF24l01


Transmisor:

Receptor:

A esta función la llamaremos desde el setup() con la función setupRadio();

Con estos pequeños retoques tendremos mucho más a mano la configuración tanto del emisor como del receptor.

He quitado algunas animaciones, por que no les veía un uso practico, no se a día de publicar esto estarán aun en el código, pero sin uso real.

En el receptor se ha añadido una rutina también para que en caso de que se corte la comunicación con el emisor, vuelva a unos valores predefinidos.

resetData en Receptor NRF2401

Ahora los datos se mandan en formato de 0 a 1023 y es el receptor el que se encarga de mapear después los datos de esta manera siempre tendremos la máxima resolución en los valores analógicos.

Otra cosa con respecto a los potenciómetros encontré una web donde tenia una manera muy buena de controlar los valores analógicos, incluso la inversión de los mismos.

Así que ahora en el menú de calibración tendremos la posibilidad de invertir el eje.


Con esto nos devolverá la posición del eje según:

  • int valor : lectura actual de la posición del eje.
  • int bajo : valor mínimo del eje almacenado en la memoria.
  • int medio : valor medio. (este parámetro se calcula según los valores max y min).
  • int alto : valor máximo del eje almacenado en la memoria.
  • bool inversión : indica si el eje esta en posición normal (0) o invertida (1).

Y por comodidad he movido el eje para navegar por los diferentes menús al lado derecho, lo he hecho por comodidad.

Hay nuevos vehículos disponibles aunque no están del todo probados salvo por el coche/camión que ha sido uno de los que me han animado a desempolvar el mando y darle un poco de brillo.

Descargar transmisor XboxRC24 desde GitHub

Descargar Receptor_Camión_ESC desde GitHub


También 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 2

Arduino: Coche RC Maisto Drift XboxRC24


Saludos a todos y todas!!!

viernes, 1 de diciembre de 2017

Arduino: Coche RC Maisto Drift XboxRC24

Buenas a todos los Arduineros y Arduineras!!

Ahora le toca el paso a los coches RC!!! Estos son los que siempre ha sido mi preferencia en cuanto a radio control. Y ahora voy a ver que tal le sienta a Arduino el control de este tipo de vehículos. En principio con todo lo visto en el blog sobre los módulos de comunicación nRF2401 podríais montar uno sin ningún tipo de problemas.

En los archivos para la descarga incluyo también el del mando de Xbox modificado ya que también esta modificado para soportar nuevas funciones y ajustes que voy incluyendo poco a poco.

Bueno para este proyecto voy a utilizar la misma plantilla del archivo .ino que use con el tanque RC.

Esto me obliga también ha hacer cambios en casi todo lo que tengo así que iré publicando los archivos cuando crea que la versión esta lista.

La base de este proyecto es un coche RC que me cayo en mis manos hace años y haremos que vuelva a andar como el primer día... o mejor ;)

Arduino Maisto Monster Drift Arduino Maisto Monster Drift

Se llama Maisto Monster Drift y ya le hice unas modificaciones anteriormente, bueno viendo la fecha... hacer bastante tiempo.

Lo primero que había que modificar era la dirección. Así que lo primero que tenemos que hacer es quitar la electrónica original para dar cabida al servo, al Arduino NANO y al driver L293.

Del integrado L923 solo usaremos la mitad del chip ya que solo tenemos que alimentar uno de los motores.


Arduino Maisto Monster Drift
Quitar la parte superior

Arduino Maisto Monster Drift
Electrónica que tenemos que no vamos a usar


Arduino Maisto Monster Drift
Maisto Monster Drift sin electrónica

lunes, 13 de noviembre de 2017

Arduino: Driver L293, DHT 11, nRF2401 (parte2)

Buenas a todos ya esta listo el programa para sus primeras pruebas.

El Programa esta dividido de dos partes, el archivo "XboxRC24_Receptor_Tanque" y el archivo "NRF2401Receptor". Este ultimo sera común a partir de ahora que lo use en mis proyectos sin que sufra muchas modificaciones, es la mejor manera de "reciclar" código.

Explicare ese código mas detalladamente en una próxima entrada, tanto la del receptor como la del emisor.

Como ya explique su construcción y diagrama de conexiones en Arduino: driver L293, DHT11 y nRF2401 (parte 1) voy a poner directamente el código:

Arduino: Driver L293, DHT 11, nRF2401 (parte1)

Muy buenas a todos!!

Esto va sobre ruedas, y nunca mejor dicho, ya tengo la primera versión del mando XboxRC24 transmitter y para sus pruebas he utilizado un vehículo que construí cuando trabajaba con los microcontroladores 16f, que buenos recuerdos, siempre liado con los puertos COM del portátil...

Lo termine (todos sabemos que estos proyectos nunca terminan) y al poco tiempo empecé con Arduino.

Arduino nRF2401
Arduino nRF2401

Hace un tiempo lo actualice a esta plataforma utilizando el HC-06 encargado de la transmisiones de datos, ahora se encargará el nRF2401. Con un mayor alcance, un consumo casi de risa y siendo realmente estable es la mejor solución que he visto hasta ahora en el tema de radio control.


La base de este proyecto es completamente artesanal, realizado en aluminio y plástico reciclado.

La estructura de aluminio son unos separadores de los que se utilizan en la obra en cocinas y baños.

La base sobre la que va montada la electrónica son de una caja registradora.

Cuenta con una batería Ni-Cd de 9,6V y 900mAh, como ya he comentado y seguramente vuelva a comentar, el tema de las baterías tengo que estudiarlo más a fondo ya que es algo que a día de hoy esta muy avanzado. Es un diseño sencillo pero muy robusto, ideal para cacharrear con el.

Tenéis mas fotos de su construcción original en la entrada que escribí en su momento: Oruga cebek C-6083 V2

A partir de esas todo lo demás pertenece a la ultima actualización.

La electrónica:

Esquema de conexiones pata Tanque XboxRC24
Esquema de conexiones para Tanque XboxRC24

viernes, 10 de noviembre de 2017

XboxRC24 Transmitter Un mando Radio Control con corazón Arduino (Parte 2)

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:

  1. Transmisor_XboxRC.ino
  2. Calibracion.ino
  3. Caracteres.ino
  4. Comunicacion.ino
  5. LCD.ino
  6. Memoria.ino
  7. Menu.ino
  8. Modo_tanque.ino

viernes, 3 de noviembre de 2017

XboxRC24 Transmitter Un mando Radio Control con corazón Arduino (Parte 1)

Buenas a todos y todas los fanáticos y fanáticas de Arduino!!!

Desde siempre me ha gustado el radio control, coches, aviones, barcos... todo lo que se pueda controlar remotamente, simplemente me encanta.

Arduino ha hecho un gran trabajo con esto, ha puesto a disposición del consumidor muchos módulos con un coste realmente bajo y un efectividad realmente alta.

Ya no solo por que puedas construir tu propio emisor/receptor (como va a ser este caso) si no por la cantidad de información que puedes enviar y recibir (Temperatura, GPS, imagen, etc..)

Después de estar hablando con un amigo bastante "gamer" y fan de Xbox de siempre, me recomendó que si hacia algo así lo hiciera con un mando de Xbox, sobre todo por los gatillos y la comodidad de agarre.

Aunque como todos sabemos esto es muy subjetivo, no quiero crear un debate sobre que mando de video consola es mejor o peor.

En resumen, elegí este mando por los consejos de mi amigo y por el tamaño del mismo, en el se pueden meter todas las piezas, aunque lamentablemente la batería que tendrá que quedarse fuera.


¿Que vamos a utilizar?





Esquema RCXbox LCD Infotronikblog
Esquema RCXbox LCD