Hola a todos.
Estoy tratando de recibir en el ordenador los datos tomados a partir de un sensor. El sensor transmite en RS232. A traves de un cable DB9 he sido capaz de ver la trama de salida del sensor en el ordenador y es la correcta. Vendria a ser algo así (en hexadecimal):
FA FF 32 36 [36 bytes de datos] Checksum
Sin embargo, cuando quiero ver esta misma trama empleando el arduino me falla. Lo que hago es llevar la lectura del sensor a traves de una max232 a un arduino bluetooth, y que la arduino envie por bluetooth estos datos al ordenador. Lo que recibo es algo como:
FA FF 99 9B [mas cosas]
Ese 99 9B no tiene ningun sentido, en la documentacion del sensor no se contempla que se puedan recibir esos bytes. Sin embargo no se me ocurre ninguna explicacion logica de por qué recibo correctamente los 2 primeros bytes de cada trama (FA FF) y el resto me fallan.
Llegado a este punto, esta claro que el problema es el arduino, o la programacion de arduino. Quiza estoy usando mal la funcion Serial.print, aunque he hecho todos los experimentos que se me ocurren con ella. Esta es una parte del codigo:
void loop()
{
if (Acelerometro.available()) {
Serial.print(Acelerometro.read(), BYTE);
}
}
en este caso dentro de Serial.print estoy usando BYTE, pero he probado con HEX, DEC... el resultado sigue siendo erróneo. Si estoy usando mal la libreria de enviar por puerto serie, o se os ocurre cualquier motivo por el que pueda fallar, cualquier ayuda es bien recibida.
Un saludo