domingo, 28 de junio de 2020

Arduino NRF24L01 Walkera RC modificación

Muy Buenas a todos, 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 18€).



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 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 botones en vez de usar solo pulsadores.
Ademas de 4 interruptores de palanca le he añadido dos botones a modo de selección y atrás.
También lleva la batería de 2 celdas que se carga desde la parte posterior cambiando la posición a OFF en el mando (ON = uso normal - OFF = apagado o carga).




Lo que mas problemas me ha dado ha sido el modulo NRF, si buscas un poco en internet, veras que tener una buena configuración en el modulo es fundamental para una buena transmisión/recepción eso incluye aislar electricamente el módulo  y añadir el condensador de 47uF JUSTO en la salida del módulo.






Esto junto con una buena alimentación de 3,3V para que las interferencias sean mínimas, este va alimentado directamente desde al batería. Todo esto hace que las interferencias sean mínimas.
También he bajado del canal 108 al 50. Esto es por que según leí mientras solucionaba problemas de comunicación que 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... (si me pudo el ansia por probarlo jajajaja)




El archivo zip viene dividido en diferentes archivos .ino siendo el principal walkera_RCxx.ino, una vez clicamos en el se abrirán todos los demás. Este programa usa también la librería U8gLib para la pantalla oled, lo cual hace que la memoria del NANO valla JUSTA JUSTA. Tanto como un 94% del espacio de almacenamiento. Se conserva la estructura del mando RCXbox, pero cambia totalmente la interfaz (por eso esa burrada de memoria) y la configuración del modulo esta en la pestaña Config.h ahí podremos cambiar el canal y los pines, en el caso de que quieras usar otros.

Otra de las cosas es que se puede ajustar el trim de los canales 1,2,3y 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.

Pido disculpas de ante mano por que no he limpiado el código ni los comentarios, así que va un poco en bruto....

Descargar Walkera RC Oled 8 CH para arduino

Receptor Gaz66 para Arduino v03

Receptor Man Kat (Luces, intermitencias, efectos en luces) para Arduino

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)

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 otra 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 que antes no había usado tales como "SetChannel(uint8_t )" para cambiar de canal, getPALevel(uint8_t) .
También he añadido una pestaña llamada Config.h para que configurar el NRF24l01

Transmisor:



Receptor:


Esta función la llamaremos desde el setup() con 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. Si 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 inversion : 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. 



lunes, 5 de marzo de 2018

Programación directa del módulo ESP8266 con Arduino UNO o NANO

Buenas a todos!!!
Ultimamente no ando mucho por el blog ya que he estado liado con otros proyectos de mi otra web
lamaquetade.infotronikblog.com y un programa para Android llamado DCCpp Cab, para el control de maquetas ferroviarias en sistema digital.


ESP8266 con divisor de tensión en RX
y listo para ser usado como servidor
webSockets
La central utiliza la comunicación serial para recibir y mandar los datos y ahí es donde entra el
ESP8266 y aunque ya lo había usado en algunos proyectos tales como:
Como actualizar el firmware del ESP8266 con Arduino Nano.
Comandos AT para modulo ESP8266.
Arduino ESP8266 servidor web con DTH11 y sensor de humedad en tierra.
Pero en todos estos proyectos siempre programo Arduino para que sea él el que se comunica y daba las ordenes al ESP8266 tales como la red wifi, SSID y Password.
De la siguiente manera, todas esas ordenes quedaran guardadas directamente en la memoria del ESP8266.
Manos a la obra, ¿que necesitamos?

Antes de montar ningún circuito, tenemos que instalar en el IDE de Arduino  para ello lo primero es abrir el IDE de Arduino e ir a "archivos ==> Preferencias":


sábado, 23 de diciembre de 2017

Arduino: Reloj On Board con RTC i2C LCD 16x2 y DHT 11

Hola a todos!!!
Hace un tiempo se me rompió el reloj del coche, un viejito Clio de 2004. Estuve mirando el repuesto y estaba entre 20 y 40€ y su función en mi coche era solamente dar la hora, el sensor de temperatura era un extra que no puse en su momento. Bueno después de muchos años el reloj del coche paso a mejor vida...
Arduino ha sido una solución original y económica para este problema. Con menos de 10€ he montado un reloj con 2 sensores de temperatura/humedad DHT11 un LCD a juego con la iluminación interior de coche (rojo) y un modulo RTC D1307 i2C.
Este programa es una variación de otro que publique en este articulo  Arduino: Reloj calendario con RTC DS1307 i2C.


Los componentes han sido los siguientes:

  • 1 x Arduino NANO.
  • 1 x LCD 16x2.
  • 2 x DHT11.
  • 3 x Pulsadores
  • 1 x Divisor de tensión.

Arduino Reloj RTC para coche.

Related Posts Plugin for WordPress, Blogger...