Problema Arduino TTL RS232 (SOLUCIONADO)

Buenas tardes,

Tengo un dispositivo que envía y recibe señales por un único cable en TTL.

conectandolo a través del FTDI con el que programo los Arduchips de @FM lo leo sin ningún problema.
Ahora quiero leerlo a través del UNO, pero no encuentro la forma. He usado un MAX232 para hacer la conversión y metiendolo directamente a los pines TX y RX, pero nada. También he usaso la libreria newsofterial, pero tampoco.

Es algo curioso, este dispositivo se alimenta a +12, luego GND y el cable TTL.

Este es el código que he utilizado, muy muy simple.

#include <NewSoftSerial.h>
NewSoftSerial mySerial(3, 4); 

NewSoftSerial gps(4,3);

byte incomingByte = 0;	// para el byte leido
byte ByteComp = 0x7F;

void setup() {
mySerial.begin(9600);	
  Serial.begin(9600);	// abre el puerto serie a 9600 bps
}

void loop() {

	// envia datos solamente cuando recibe datos
			// lee el byte entrante:
		incomingByte = mySerial.read();
                Serial.print(incomingByte);

		if (incomingByte==ByteComp){
                mySerial.print(68, HEX);
                mySerial.print(00, HEX);}}

Y estas son las conexiones:

Alimento el dispositivo con +12 y GND. La GND al arduino también.
Cable de TTL a pines 9 y 10. Al de transmisión le he puesto una resistencia de 270 ohms
MAX232 alimentado con +5 del propio UNO. La GND al ARDU, pines 7 y 8 del MAX232 al Arduino, pero en cuanto alimento el MAX232 se bloquea el dispositivo y no envía nada.

Se os ocurre que puedo mirar?????

Un saludo

Para comunicar las dos piezas tendras que:

  1. Conectar Tx-Rx y Rx-Tx
  2. Configurar en ambos extremos la misma velocidad de transmision.
  3. Aunque ambas placas usen diferentes alimentaciones, las masas tienen que estar conectadas entre si.

No necesitas el Max232 para nada, es mas el Max232 te va a meter una tension +-12V en la salida Rs232, si la enchufas al AVR en vez de a un PC o linea serie, es muy posible que se queme la entrada.

Gracias FM por contenstar.

Ya me parecía a mí que lo del MAX no era buena idea
Pero si el dispositivo al que quiero conectar sólo tiene un cable???

Un saludo

GabyCR:
Pero si el dispositivo al que quiero conectar sólo tiene un cable???

Y como leñes se alimenta? O mejor dicho, que usa como referencia de tierra?

Perdon, tiene +12, GND y el cable de datos

Podemos suponer que el cable de datos es pues Tx. Por lo tanto tendrás que conectarlo al Rx del AVR. En principio, ambos GNDs deben ser comunes aunque no alimentes el chisme con la misma fuente. De todas formas debería ver si el chisme te está dando values TTL o RS232 (por lo que cuentas son valores TTL ya que se los traga bien el conversor USB UART).

Los siguiente es ver a qué velocidad transmite el chisme para ajustar la velocidad de la UART del AVR e iniciar la linea serie correctamente.

Gracias por responder.

Utiliza el mismo cable para Rx y Tx. Es TTL y va a 9600baudios. Desde el PC lo puedo ver sin ningún problema.

El tema es que lo quiero para quitarme de enmedio una centralita. Digamos que el dispositivo le pregunta a su centralita...... ¿Que configuración tengo que tener? ¿7F? Y la centralita le tiene que responder exactamente a los 4ms.... pues esta "44".

Toda esta pregunta y respuesta la hace por el mismo cable. Lo que quiero es poner el UNO y quitarme la centralita que lo único que hace es responder "44".

Un saludo

Que cable usas para Rx y Tx? Como lo conectas?

Estoy utilizando un cable directo a la entrada del UNO.

Digamos que TX ----- cable ------- PIN datos dispositivo
RX--------------------- cable ------- PIN datos dispositivo

También he probado con la libreria newsoftserial utilizando la misma forma de conezión.

Un saludo

Ese cable lo conectas al pc?

O usas un conversor UART USB?

No te lio más Francisco,

Me he ido a cenar y a la vuelta he vuelto a rehacer todo.
Ya consigo leer con la libreria newsoftserial.

Ahora viene mi problema..... Si sólo tengo un cable que viene del dispositivo y se utiliza tanto para RX como para TX..... como lo puedo conectar??? He metido el mismo cable tanto para TX como para RX, pero esto me bloquea el dispositivo.

Un saludo

Pues solucionado, poniendo un diodo entre Tx y Rx ya me funciona perfecto. Me dieron las 2 de la mañana, pero ya está