Arduino como puente RS-232

Vale acabo de encontrar el otro ejemplo
pero solo vale para el arduino mega debe de ser por que el one solo tiene un puerto serie
entiendo que debo de poner los dos adaptadores del puerto serie.
El codigo es muy facil de adpatar.
En cuanto los consiga pondre mis avances y si he conseguido hacer lo que quiero.

Se aceptan sugerencias.

Gracias

No necesariamente el arduino solo puede tener un puerto serie.

Mira esto:
http://arduino.cc/hu/Tutorial/SoftwareSerial

Hola a todos.
Gracias a los que me han intentado ayudar.
De momento mintras me llegan los modulos RS-232 y el modulo blootouch para hacer el puente y enviar los datos por blootouch
he recibido un modulo de estos:

http://www.ebay.es/itm/Arduino-DB9-RS232-Wireless-Bluetooth-Module-Slave-Serial-4Pin-DB9-Male-Female-/160799222877?
pt=LH_DefaultDomain_0&hash=item2570616c5d

y no consigo que funcione.

Se supone que es un modulo bloutouch normal pero para capturar datos que lleguen por el puerto serie (de cualquier aparato qeu tenga dicha conexion,video, termometro, etc. y enviarlo por bloutouch para recogerlo por un ordenador o telefono

como se ve en el video:

Yo pensaba que podria sertvirme para lo qeu yo quiero incluso sin usar un arduino.
Es decir si lo interpongo entre el aparato y el ordenador al que tengo conectado mi aparato enviaria los datos por bloutouch

Pero es qeu no consigo ni que se encienda

Si lo conecto al arduino como si fuese un blootouch normal VCC GRN RX y TX y le pongo los codigos que he encontrado por ahy no hay manera que los compile bien
algunos usan librerias que instalaen su sitio pero todas me dan problemas

hay algun ejemplo que pueda usar para probarlo y que no me de problema?

Podeis ayudamre?

Saludos.

Perdon se me olvido el video:

y otro para que se vea el parato:

Saludos.

Me da que ha venido roto porque solo con alimentarlo al del video se le enciende un led.
el mio no hay manera lo he probado todo a cambiarlo incluso de sitio los cables
pero nada no se ha cosacado.

se os ocurre algo?

Saludos.

Heke:
SI no la han quitado, en los ejemplos del ide tienes uno que coge los datos del puerto serie y los envia a otro.

Se llama MultiSerialMega.pde

Luego a nivel hardware te hace falta cacharrines como este que adaptan nivel ttl a rs232:

Gracias Heke.

Segun lo que me indicastes he comprado 2 modulos como el que me indicas, parecidos.
He intentado hacer una primera prueba para lo que quiero
de momento he conectado el aparato en cuestion a uno de los modulos y de momento este se enciende el led luego funciona.
he conectado el modulo a GND y a 5 v y por otro lado el TX del modulo al pin 2 y el RX del modulo al pin 3 (al principio lo hice con el 0 y 1) pero no se encendia el led de recepcion

he compilado varios ejemplos que se suponia funcionarian parecia todo facil
pero algunos ejemplos que requieren de algunas librerias mejoradas no me han funcionado bien errores de compilacion

y con los mas sencillos que no habia problemas de compilacion cambiado los pines a los apropiados he intentado recibir del aparato al arduino y ver el resultado en la consola y nada
no se recibe nada

Me han dicho que no podre porque el arduino solo tiene un puerto serie y que deberia enviar los datos a un LCD (con esto no tengo problema pero aun no he tenido tiempo de probarlo.)
es asi? no podre leerlo en la consola?
hay manera de hacerlo?

se supone que lso datos vienen en cadenas de 21 bytes

Bueno no se si tu o alguien mas me puede ayudar con esto.
Hasta que no reciba nada o no vea lo que recibo no puedo seguir con el tema de interpretar lo qeu me llega

Gracias de antemano y saludos.

anggar:
Me han dicho que no podre porque el arduino solo tiene un puerto serie y que deberia enviar los datos a un LCD (con esto no tengo problema pero aun no he tenido tiempo de probarlo.)
es asi? no podre leerlo en la consola?
hay manera de hacerlo?

¿Has probado con la librería SoftwareSerial como te dijo Heke?

Esta librería crea el puerto serie que necesitas para leer los datos del dispositivo en el Arduino.

El ejemplo que ponen es lo que quieres hacer: Pasar los datos de un dispositivo conectado por un puerto serie al PC a través del USB de Arduino

Después solo tendrías que añadir el tratamiento que quieres hacer de esos datos en la placa de Arduino, si quieres hacer algo con ellos. Pero para probar que funciona puedes utilizar este ejemplo.

Si no te sirve esto, pon el código que has probado y un esquema de la conexión que haces para poder encontrar los fallos y las posibles soluciones

Hola de nuevo Jordi y compañia

estoy leyento la referencia sobre softwareserialPrintln
http://arduino.cc/es/Reference/SoftwareSerialPrintln

y tengo una duda

con la sentencia

SoftwareSerial serial(6, 7);

estamos estableciendo los pines 6 y 7 como los puntos de entrada de RX y
TX no?

como es que despues dice:

// read the analog input on pin 0:
valorAnalogico = analogRead(0);

parece que ahora lee el pint 0

es un error del ejemplo? o es que yo estoy equivocado?

Saludoss

Es un ejemplo en el que leen la entrada analógica A0 para después enviar su valor por puerto serie con la librería.

Ya no se que probar. Estoy desesperado.

Desde que compre el Arduino con un completo Kit de sensores no he hecho mas que probar cosas y desde el primer dia encantado con los resultados.

Los ejemplos de los sensores mas variados me salen pero ahora me he quedado estancado intentando leer un aparato que trasmite datos por Puerto Serie.

He probado de todo todos los ejemplos librerias y codigos que he visto por hay y nada que no va.

Pongo algunas fotos y el codigo con que lo estoy probando ahora por si alguiien puede echarme una manita (que no sea al cuello)

No soy capaz de insertar fotos ni el codigo html del blog que uso para escribir rapidamente en los blog con imagnes.
Os pongo el enlace a las fotos y al codigo en un blog que he creado para mis avances (parones) con el tema Arduino.
si no os importa hasta que sepa como hacerlo en este foro os pongo el enlace.

Saludos y gracias a todos.

Por cierto os pasa a vosotros que en cuanto pasais de 10-12 lineas en estos post no hay quien los edite porque se va continuamente al principio?

Gracias de nuevo

Para empezar yo quitaría toda la parafernalia de LCDs, etc y programaría para que Arduino encienda un led si recibe datos de tu cacharro.
Con eso nos aseguramos que el tema hardware esta OK.

Hola yOPERO

Gracias por leertelo y contestar.

El tema del LCD lo puse para ver lo que se leia en caso de que se leyese ya que el echo del Rs-232 en el ordenador no pued efuncionar a la vez que esta conectado el Rs-232-

sigo sin poder conectarlos no se si sera tema de los valores con lo que emite mi cacharro cuentavueltas.

Mira te dejo un enlace a un blog que he abierto para ir poniendo lo que vaya consiguiendo hay puedes ver algo de lo que quiero conseguir.

Saludos y gracias de nuevo

Hola de nuevo
como no me salia el tema de leer los datos me dediqeu a otro montaje que necesitaba hacer
Ahora he retomado el tema de leer datos por el puerto serie.

Ya tengo el aparatito para conectar el rs-232 con el arduino conectado a los puertos Rx y TX

pero no consigo leer los datos que envia el cuentavueltas.
he probado todos los codigos he intentado crear al mio propio pero nada no lo consigo.

Os pongo en antecedentes,
lo qeu necesito es lo minimo para despues cuando pueda leer los datos ya los tratare como necesite

Lo que necesitaria por si alguien me puede ayudar es leer un puerto serie que conecto a los pines 0 y 1 (supongo que esto esta bien)

ahora le digo que mientras que exista buffer me lo lea y lo mande echo serie del puerto virutal del arduino

los datos los envia el cuentavueltas en secuencias de 21 bytes

alguien podria ayudarme con este tema?

Gracias por adelantado.

Hola despues d emiles de pruebas sigo sin poder leer mi cuentavueltas
alguna idea?
Gracias.

Prueba lo que te dijo yopero, y si no te funciona, pon el código para que podamos verlo

Hola masteron
mira te pongo el codigo que estoy intentando ahora auqneu he probado con otras librerias.

Este es el codigo que he probado para enviar codigos a traves del puerto serie, funciona perfectamente con lo que el modulo serie esta bien y bien conectado, lo corro con el arduino independiente para poder enviar por cable al ordenador y en este con el Dockling lo recibo perfectamente.

#include <SoftwareSerial.h>
// software serial #1: TX = digital pin 2, RX = digital pin 3
SoftwareSerial portOne(2, 3);

// software serial #2: TX = digital pin 4, RX = digital pin 5
// SoftwareSerial portTwo(4, 5);

void setup()
{
// Start the hardware serial port
// Serial.begin(9800);

// Start each software serial port
portOne.begin(4800);
// portTwo.begin(4800);
}

void loop()
{
// ESCRIBIR POR EL PUERTO SERIE1

for (int i=0; i <= 255; i++){

portOne.write (i);

}

}

Este es el de recibir el qeu no me funciona.

monto el cronometro como entrada conectado al mismo puerto serie, se encienden los led y aparte estaba probado con el montaje anterior.

lo unico que recibo es -1 -1 -1 -1 -1 nada de lo que tenia que recibir

#include <SoftwareSerial.h>

#define rxPin 2
#define txPin 3
#define ledPin 13

// configura un nuevo puerto
SoftwareSerial miSerial = SoftwareSerial(rxPin, txPin);
byte pinEstado = 0;

void setup() {
// define el modo para los pines tx, rx, led:
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
pinMode(ledPin, OUTPUT);
// configura el ratio de datos para el puerto SoftwareSerial
miSerial.begin(2400);
Serial.begin(9600);
}

void loop() {
// escucha la llegada de nuevos datos serie:

// if (miSerial.available()) {

char unChar = miSerial.read();
// imprime el caracter:
// miSerial.print(unChar);
Serial.print(unChar,DEC);
Serial.println();
Serial.print(unChar,HEX);
Serial.println();

// Comunta un LED para que veas que la cosa viva
// este LED se enciende con cada NUEVO caracter recibido:
toggle(13);
// }
}

void toggle(int pinNum) {
// Establece el pin del LED usando la variable pinEstado:
digitalWrite(pinNum, pinEstado);
// si el pinEstado = 0, lo establece a 1, y vice versa:
pinEstado = !pinEstado;
// Serial.println(pinEstado);

delay (500);
}

y por ultimo os pongo lo que recibo si conecto el cronometro directamnente al PC a traves de Docklight o sea que el crono tambien funciona ya que recibo lo que tenia que recibir aunque no se porque por triplicado.

son tiras de 21 bites.

A ver si con esto me podeis ayudar o detectar que es lo que hago mal.

Saludos y Gracias.

10/12/2012 20:51:05.997 [RX] -
224 INICIO SECUENCIA 001 021 002 000 002 000 062 161 000 005 000 000 000 080 000 000 000 078 000 235 FINAL SECUENCIA
224 INICIO SECUENCIA 001 021 002 000 002 000 062 161 000 005 000 000 000 080 000 000 000 078 000 235 FINAL SECUENCIA
224 INICIO SECUENCIA 001 021 002 000 002 000 062 161 000 005 000 000 000 080 000 000 000 078 000 235 FINAL SECUENCIA
10/12/2012 20:51:08.534 [RX] -
224 INICIO SECUENCIA 002 021 002 000 002 000 000 162 000 000 000 000 000 000 000 000 000 189 000 235 FINAL SECUENCIA
224 INICIO SECUENCIA 002 021 002 000 002 000 000 162 000 000 000 000 000 000 000 000 000 189 000 235 FINAL SECUENCIA
224 INICIO SECUENCIA 002 021 002 000 002 000 000 162 000 000 000 000 000 000 000 000 000 189 000 235 FINAL SECUENCIA
10/12/2012 20:51:11.034 [RX] -
224 INICIO SECUENCIA 003 021 002 000 002 000 000 163 000 000 000 000 000 000 000 000 000 191 000 235 FINAL SECUENCIA
224 INICIO SECUENCIA 003 021 002 000 002 000 000 163 000 000 000 000 000 000 000 000 000 191 000 235 FINAL SECUENCIA
224 INICIO SECUENCIA 003 021 002 000 002 000 000 163 000 000 000 000 000 000 000 000 000 191 000 235 FINAL SECUENCIA
10/12/2012 20:51:13.982 [RX] -
224 INICIO SECUENCIA 004 021 002 000 002 000 027 169 000 000 000 000 000 170 171 170 171 139 000 235 FINAL SECUENCIA
224 INICIO SECUENCIA 004 021 002 000 002 000 027 169 000 000 000 000 000 170 171 170 171 139 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 004 021 002 000 002 000 027 169 000 000 000 000 000 170 171 170 171 139 000 235 FINAL SECUENCIA
10/12/2012 20:51:21.030 [RX] - 224 INICIO SECUENCIA 005 021 002 000 002 000 027 169 168 000 000 000 001 000 007 002 112 004 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 005 021 002 000 002 000 027 169 168 000 000 000 001 000 007 002 112 004 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 005 021 002 000 002 000 027 169 168 000 000 000 001 000 007 002 112 004 000 235 FINAL SECUENCIA
10/12/2012 20:51:27.876 [RX] - 224 INICIO SECUENCIA 006 021 002 000 002 000 027 169 168 000 000 000 002 000 006 131 096 118 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 006 021 002 000 002 000 027 169 168 000 000 000 002 000 006 131 096 118 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 006 021 002 000 002 000 027 169 168 000 000 000 002 000 006 131 096 118 000 235 FINAL SECUENCIA
10/12/2012 20:51:32.499 [RX] - 224 INICIO SECUENCIA 007 021 002 000 002 000 027 169 168 000 000 000 003 000 004 097 048 036 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 007 021 002 000 002 000 027 169 168 000 000 000 003 000 004 097 048 036 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 007 021 002 000 002 000 027 169 168 000 000 000 003 000 004 097 048 036 000 235 FINAL SECUENCIA
10/12/2012 20:51:38.259 [RX] - 224 INICIO SECUENCIA 008 021 002 000 002 000 027 169 000 000 000 000 004 000 005 117 032 131 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 008 021 002 000 002 000 027 169 000 000 000 000 004 000 005 117 032 131 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 008 021 002 000 002 000 027 169 000 000 000 000 004 000 005 117 032 131 000 235 FINAL SECUENCIA
10/12/2012 20:51:41.847 [RX] - 224 INICIO SECUENCIA 009 021 002 000 002 000 000 164 000 000 000 000 000 000 000 000 000 198 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 009 021 002 000 002 000 000 164 000 000 000 000 000 000 000 000 000 198 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 009 021 002 000 002 000 000 164 000 000 000 000 000 000 000 000 000 198 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 010 021 002 000 002 000 027 169 168 000 000 000 005 000 003 096 096 087 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 010 021 002 000 002 000 027 169 168 000 000 000 005 000 003 096 096 087 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 010 021 002 000 002 000 027 169 168 000 000 000 005 000 003 096 096 087 000 235 FINAL SECUENCIA 224 INICIO SECUENCIA 011 021 002 000 002 000 028 169 000 000 000 000 005 000 039 131 064 216 000 235 FINAL SECUENCIA
224 INICIO SECUENCIA 011 021 002 000 002 000 028 169 000 000 000 000 005 000 039 131 064 216 000 235 FINAL SECUENCIA
224 INICIO SECUENCIA 011 021 002 000 002 000 028 169 000 000 000 000 005 000 039 131 064 216 000 235 FINAL SECUENCIA

Hola soy nuevo en la pagina un saludo a todos.

Espero puedan ayudarme la verdad creo que es simple os explico lo que quiero hacer:
Con un arduino nano quiero almacenar los datos de un puerto serie y luego llevar mi
Arduino nano como un "pendrive" a otro puerto serie y mediante un boton re transmitir
esos datos continuamente, se podra? Gracias po su tiempo. :slight_smile: