Como usar el Serial.begin() para el flujo de datos con arduino Y Java. ?

Buenos Dias les comento mi problema. :confused: para que por favor me ayuden.
He realizado una aplicacion en Java para conectar arduino y mi aplicacion, usando las librerias RXTX y sus .dll .
La aplicacion consta de un boton que al hacer clic sobre el, se envía un '1' para accionar la bobina de un relay que hará accionar una cantonera (abrir una puerta) para permitir el acceso a las personas.
Al principio tuve problemas porque tenia conectada la arduino directamente a la PC y la alimentacion del relay la sacaba desde la misma arduino, ese tipo de conexion me presentaba problemas, pues el microcontrolador de la arduino se reiniciaba, la aplicacion java se cerraba y nada funcionaba...
Despues decidí alimentar externamente la arduino y el relay.. y esos problemas se me solucionaron, pero quedo uno más... Sucede que en algunos momentos al hacer clic en el boton de la aplicacion, funciona bien... pero en otros momentos la aplicacion java deja de funcionar y me toca cerrarla y empezar de nuevo.
Mi pregunta es ¿ La velocidad en baudios de 9600 que tengo en la configuracion de mi arduino afecta en algo ? El problema que se me presenta puede radicar en eso? Si le añado un valor mas alto al Serial.begin() mejora el flujo de datos entre la arduino y el puerto serial??

Tus drivers estan correctamente instalados? Tienes conectado un regulador o no-break a tu arduino y/o a tu pc?

La comunicacion serie es asincronica, quiere decir que no hay forma de saber si el receptor leyó los dados.
Si haces un simple Serial.print(1); y por cuestiones de ruido o lo que sea este no llega al destino tu accion no se ejecutará.

Para ello debes establecer un protocolo de comunicacion. En este caso es simple, envio un 1 y espero que me contesten si llegó, si en unos milisegundos no paso nada, entonces reenvio, si no aviso que algo va mal.

A mas velocidad mejor respuesta pero mayores los niveles de ruido que pueden afectar. Todo depende la distancia que recorra.

Pero para mi hacer esto es matar una mosca con un cañon.
Puedes directamente controlar el rele desde el mismo puerto rs232 desde la pc con un transistor, una fuente pequeña y controlando la linea rts o cts del puerto.

seriatorelay.png