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

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, 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