Pages: [1]   Go Down
Author Topic: Problemas en los datos de un sensor con arduino  (Read 607 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 19
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:

Code:
   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
Logged

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,

Estas utilizando pines normales para emular puerto serie... ¿a que velocidad es la comunicación? Creo que estaras limitado a 57600 kbs si estas con clock de 16 Mhz en RX.

digitalread/write scrapped in favor of direct port I/O.  Revised routines now get perfect RX up to 57.6K on 16MHz processors and 31.25K on 8MHz processors.


¿Tienes las masas unidas del sensor y Arduino?


Saludos


Igor R.
« Last Edit: June 30, 2009, 08:54:47 am by igorreal » Logged


0
Offline Offline
Newbie
*
Karma: 0
Posts: 19
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La masa de arduino y el sensor si es comun.

Toda la comunicacion la estoy llevando a cabo a 115200. Entonces supongo que tengo que bajar la velocidad a 57k6 porque me parece que esta arduino va a 16mhz.

Gracias por la ayuda, si sigue dando problemas ya os contare
Logged

Pages: [1]   Go Up
Jump to: