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.
No hay comentarios :
Publicar un comentario