Comunicación de arduino a pc

Hola tengo un problema no logro conectar un arduino uno atraves del puerto serie con una PC
y aunque por usb funcionan correctamente no por rs232. necesito enviar y recibir datos Urgente!!!

Para conectar un Arduino via RS232 necesitas una interfaz TTL a RS232.
RS232 es una norma en la que los niveles van de +-12V aunque con el tiempo he visto que +-9V tmb funciona.

Pero de ninguna manera 0-5V van a provocar algo en un dispositivo con interfaz RS232.

Perfecto voy a ver dónde lo consigo o ver si consigo el diagrama eléctrico.
Imagino que me alcanza con conectar una al Arduino que va a la PC y desde ese conectar otros 9 más en serie??

Lo puedes hacer con un MAX232 de MAXIM o bien con alguna de sus variantes. Busca en GOOGLE.

Probé con varios modelos de circuito del max232 y nada bueno seguiré probando

Cómo nada bueno? El comprado usa un MAX232. Debes ser muy cuidadoso con las conexiones y no confundir RX y TX.
Lo mejor es probar todo usando un NULL MODEM, es decir pones RX y TX del MAX232 o sea la salida RS232 unidos.
Escribes un sketch donde lo que lees por el puerto lo envias y comprobaras si funciona todo correctamente.
AL enviar algo, ese algo vuelve por RX y lo lees a continuación. SI no lo lees tu interfaz esta mal.

Ahora todo esto no se donde lo conectas, si lo conectas a 0 1 de un UNO no podras escribir nada. Tienes que usar SoftwareSerial o bien algun puerto Serial 1..2..3 de un MEGA/DUE si lo estuvieras usando.

Se comprende?

He usado este diseño pero no a funcionado asi que probe poniendo RX en 8 y TX en 7 del max232 y use el 9 como TX y el 10 como RX uniendo las masas claro y lo mande al tx1 rx1 de un arduino mega

Para probar utilice el codigo de muestras

void setup() {
  // initialize both serial ports:
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  // read from port 1, send to port 0:
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.write(inByte);
  }

  // read from port 0, send to port 1:
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.write(inByte);
  }
}

no puedo creer que algo que parece tan fácil se me este complicando tanto :confused:

Ese código es para un MEGA que tiene 4 puertos serie pero desde ya el Serial1 no esta en 8 para RX y 7 para TX sino en

En el MEGA Serial1 RX = 19 y TX = 18 de modo que estas conectándolos mal!!

si lo se por eso puse: probe poniendo RX en 8 y TX en 7 del max232 y use el 9 como TX y el 10 como RX uniendo las masas claro y lo mande al tx1 rx1 de un arduino mega que claro estan en la pata 18 y 19

Pudiste resolverlo?
Tengo un problema similar, puedo leer lo que le escriba del serial al serial1, sin embargo no lo puedo realizar de manera inversa. Estoy utilizando Hyperterminal, para el serial1 como puerto y el monitor de arduino para el serial.

Sin embargo no logro escribir de hyperterminal al monitor de arduino.

Hilo cerrado.
No revivas hilos que tengan mas de 120 dias sin movimientos, tal como la advertencia te hizo.
Crea un nuevo hilo y haz la misma consulta.