miércoles, 4 de marzo de 2020

Actualización #02

Recibiendo datos del X8R por SoftwareSerial


Objetivo

Establecer una comunicación por software con el X8R y obtener datos significativos.
Probado en una placa UNO y MEGA 2560.

Resultado

He realizado una modificación de la librería SoftwareSerial para que funcione con 8E2 en lugar de 8E1.  Antes de intentar la conexión con el módulo receptor, he probado a usar dos arduinos para ver cómo responden a 100000 baudios. Si se introducen pausas, funciona sin problemas. Pero cuando se usa la línea a plena capacidad la placa se satura y se vuelve inútil. Sabiendo esto, la viabilidad de SoftwareSerial dependerá de que el receptor tenga un tiempo entre tramas lo suficientemente largo.

Ahora sí, lo enlazo con el receptor. El Arduino se conecta a las señales SBUS OUT y SBUS IN por pines digitales usados como RX y TX respectivamente.
Para mostrar de forma más visible los datos, he escrito un pequeño sketch que muestra los bytes recibidos de 25 en 25. La trama comienza en un byte con el valor 15 y termina 25 bytes más a delante en 0.

El resultado ha sido todo un éxito, cuando el transmisor varía el primer canal se observa un cambio en el segundo byte y parte del siguiente como cabría esperar. Aunque ocurren problemas, cada cierto tiempo la posición del inicio de la trama retrocede, eso indica que se pierden bytes. Pese a esto, que es fácilmente corregible en la librería SBUS, el resultado es muy bueno.

No hay comentarios:

Publicar un comentario