Vous êtes sur la page 1sur 19

Comunicacin RS485 con Arduino

1 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

Comunicacin RS485 con Arduino

Posted by

7 Comments

ago 23, 2015

feb 19, 2015

jun 04,

Explicaremos como usar los mdulos RS485 e implementaremos


varios ejemplos para comunicar 2 Arduino a travs de rs485,
desarrollaremos la comunicacin simplex, full dplex y half duplex.

2015

El protocolo RS485 es un protocolo industrial ampliamente utilizado


por su robustez, fcil implementacin y buenas prestaciones.
Utilizando RS485 como capa fsica es posible implementar un bus de
campo industrial tipo MODBUS y DMX para el control de luces.
Usando RS485 podemos alcanzar distancias de 1Km y conectarnos al
mimo bus hasta 32 dispositivos.
Para los ejemplos de este tutorial se usaran los siguientes
ago 06,
2016

jun 15, 2016

03/10/2016 18:42

Comunicacin RS485 con Arduino

2 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

may 25, 2016

Utiliza esta pequea


rueda para tu...
S/. 4,00 S/. 6,00

Este mdulo tiene acceso a todos los pines del max485 y tiene todos
los componentes adicionales para su correcto funcionamiento. Los
pines A B se pueden conectar tambin desde la bornera
Las salidas A y B son por donde se envan los datos, B es la negacin
de A, se envan los mismos datos pero en la lnea B estn negados,
de esta forma se pueden restar ambas seales y eliminar el ruido y
quedarnos solo con la seal de datos. El encargado de esta
transmisin diferencial es el max485.
Vindolo desde el microcontrolador o Arduino, la comunicacin se
trabaja como una comunicacin serial, trabajamos con los pines RX y
TX; y dependiendo del tipo de conexin se puede usar un pin ms
para especificar si estamos enviando o recibiendo datos.

En esta configuracin el modulo solo trabaja como transmisor, para


que el modulo sepa que las salida A B se van a comportar como
salida de datos, se tiene que conectar a 5V los pines RE y DE.
Desde el Arduino se envan los datos hacia el pin DI (Data Input) del
mdulo y este transmitir los datos por los pines AB

Pantalla Oficial LCD


Touch de 7 pulgadas
03/10/2016 18:42

Comunicacin RS485 con Arduino

3 de 19

S/. 470,00

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

Al conectar los pines RE y DE el modulo se comporta como Receptor,


y los datos recibidos por AB estarn presentes en el pin RO(Receiver
Output), conectando el pin RO del mdulo al RX de nuestro Arduino
podemos leer los datos recibidos.

Soporte para montaje


en superficies
paralelas a las guas
de 8mm dimetro
S/. 10,00

S/. 30,00

Una comunicacin simplex es una comunicacin unidireccional, en


este caso un Arduino se comporta solo como transmisor y el otro solo
como receptor, a nivel de programacin es como si estuviramos
trabajando con una comunicacin serial, pero en un solo sentido. Uno
enva y el otro solo recibe datos.
Veamos un ejemplo:
Desde un Arduino a travs de un potencimetro moveremos un
servomotor que estar conectado en otro Arduino, solo dos cables
(salidas A y B del RS485) unirn a los Arduinos, si la distancia es
larga se recomienda usar cable trenzado.

Rodamiento polimrico
para gua de 8mm de
dimetro
S/. 15,00

El cdigo del transmisor es el siguiente:


void setup()
03/10/2016 18:42

Comunicacin RS485 con Arduino

4 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

{
Serial.begin(9600);
}

Cristal oscilador de
16 MHz de
frecuencia. Utilizado
en Arduino Uno,...
S/. 2,00

void loop()
{
int lectura = analogRead(0);//leemos el valor del potenc
imetro (de 0 a 1023)
byte angulo= map(lectura, 0, 1023, 0, 180);
// escal
amos la lectura a un valor de ngulo (entre 0 y 180)
Serial.write(angulo); //enviamos el ngulo correspondien
te
delay(50);
}

El cdigo del Arduino receptor es el siguiente:


#include <Servo.h>
Ideal para unir los
extremos de nuestra
correa GT2.
S/. 10,00

Servo myservo;

// creamos el objeto servo

void setup()
{
Serial.begin(9600);
myservo.attach(9); // asignamos el pin 9 para el servo.
}
void loop()
{

El mdulo Relay te
permite controlar el
encendido/apagado
de equipos de...
S/. 6,00

Sensor capacitivo te
permite detectar
objetos metlicos y
no metlicos...

if (Serial.available()) {
int angulo = Serial.read(); //Leemos el dato recibido
if(angulo<=180) //verificamos que sea un valor en el r
ango del servo
{
myservo.write(angulo); //movemos el servomotor al n
gulo correspondiente.
}
}
}

Como se observa es una simple comunicacin serial, en el Arduino


transmisor se hace la lectura del potencimetro se lo escala y se lo
enva serialmente, en el receptor recibimos el dato y movemos el
servomotor.
De esta forma podemos realizar una comunicacin entre dos Arduino
pero en una sola direccin, para hacerlo en dos direcciones tenemos
dos formas, half-duplex y full-duplex
03/10/2016 18:42

Comunicacin RS485 con Arduino

5 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

S/. 40,00

En este caso necesitamos agregar otro par de lneas ms, en total


uniran a los Arduino 4 lneas, un par son para transmitir (TX) y otro
par para recibir (RX).
En el siguiente ejemplo desde un Arduino no solo enviaremos datos
para mover un servomotor sino tambin recibiremos datos de un
sensor, usaremos un potencimetro para simular el sensor.
Las conexiones seran las siguientes:

Al Arduino de la izquierda, lo llamaremos Maestro, pues es el Arduino


principal y quien administrara todas las rdenes, mientras que el
segundo Arduino
lo denominaremos Esclavo; esta no es
especficamente la definicin de Maestro/Esclavo en una
comunicacin RS485 pero usaremos estas denominaciones para
saber a qu Arduino nos estamos refiriendo.
El cdigo del Arduino Maestro.

const int ledPin = 13;


// Numero del pin para el Led
void setup()
{
Serial.begin(9600);
pinMode(ledPin, OUTPUT);//inicializamos el pin del Led c
omo salida
}
void loop()
{
if(Serial.available())
{
03/10/2016 18:42

Comunicacin RS485 con Arduino

6 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

if(Serial.read()=='i') //si recibimos el inicio de tra


ma
{
int dato=Serial.parseInt(); //recibimos valor numr
ico
if(Serial.read()=='f') //Si el fin de trama es el c
orrecto
{
funcion(dato); //Realizamos la accin correspond
iente
}
}
}
int lectura = analogRead(0);//leemos el valor del potenc
imetro (de 0 a 1023)
int angulo= map(lectura, 0, 1023, 0, 180); // escalamos
la lectura a un valor de ngulo (entre 0 y 180)
//---enviamos el ngulo para mover el servo-----Serial.print("I"); //inicio de trama
Serial.print("S"); //S para indicarle que vamos a mover
el servo
Serial.print(angulo); //ngulo o dato
Serial.print("F"); //fin de trama
//---------------------------delay(50);
//---solicitamos una lectura del sensor---------Serial.print("I"); //inicio de trama
Serial.print("L"); //L para indicarle que vamos a Leer e
l sensor
Serial.print("F"); //fin de trama
//-----------------------------------------------delay(50);
}
//esta funcin puede variar de acuerdo a su necesidad
void funcion(int dato)
{
if(dato>500)
digitalWrite(ledPin, HIGH);
else
digitalWrite(ledPin, LOW);
}

Cdigo del Arduino Esclavo:

03/10/2016 18:42

Comunicacin RS485 con Arduino

7 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

#include <Servo.h>
Servo myservo;

// creamos el objeto servo

void setup()
{
Serial.begin(9600);
myservo.attach(9); // asignamos el pin 9 para el servo.
}
void loop()
{
if(Serial.available()>0)
{
if(Serial.read()=='I') //Si recibimos el inicio de tra
ma
{
char funcion=Serial.read(); //leemos el carcter de
funcin
//---Si el carcter de funcin es una S entonces la
trama es para mover el motor----------if(funcion=='S')
{
int angulo=Serial.parseInt(); //recibimos el n
gulo
if(Serial.read()=='F') //Si el fin de trama es
el correcto
{
if(angulo<=180) //verificamos que sea un valo
r en el rango del servo
{
myservo.write(angulo); //movemos el servom
otor al ngulo correspondiente.
}
}
}
//---Si el carcter de funcin es L entonces el ma
estro est solicitando una lectura del sensor
else if(funcion=='L')
{
if(Serial.read()=='F') //Si el fin de trama es e
l correcto
{
int lectura = analogRead(0); //realizamos la
lectura del sensor
//----enviamos la respuesta----Serial.print("i"); //inicio de trama
Serial.print(lectura); //valor del sensor
Serial.print("f"); //fin de trama
//-----------------

03/10/2016 18:42

Comunicacin RS485 con Arduino

8 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

}
}
}
}
delay(10);
}

Como se observa se ha establecido una trama para la comunicacin:


[Inicio de trama][Funcin][Valor][Fin de trama]
En nuestro caso el inicio de trama es el carcter A , la funcin es el
carcter S o L para indicar que vamos a mover el servo o solicitar una
lectura del sensor, el [valor] solo estar presente cuando la funcin
necesite enviar una dato, y el fin de trama que usamos es el carcter
F. Unos ejemplos de esta trama serian: IS90F,IS120F,ILF, etc.
El esclavo interpreta esta trama y realiza la funcin correspondiente,
si es una funcin que necesite responder, la trama de respuesta es:
[Inicio de trama][Valor][Fin de trama] , como por ejemplo i865f,
i64f

En una comunicacin half dplex utiliza un solo canal para


comunicarse, en un momento por el canal se transmiten datos y en
otro momento se reciben datos, pero nunca podremos transmitir y
recibir a la vez.
Para realizar esta comunicacin los pines DE y RE del mdulo RS485
deben ir conectados al Arduino, con esto desde el programa podemos
establecer al mdulo como transmisor o receptor

El siguiente ejemplo hace lo mismo que el ejemplo anterior solo que


esta vez se usa un mdulo rs485 por Arduino y un par de cables para
comunicarse.

03/10/2016 18:42

Comunicacin RS485 con Arduino

9 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

Las conexiones seran las siguientes:

Al igual que en el caso anterior el Arduino de la izquierda ser el


maestro y el de la derecha ser el esclavo.

Cdigo del Maestro:

const int ledPin = 13; // Numero del pin para el Led


const int EnTxPin = 2; // HIGH:TX y LOW:RX
void setup()
{
Serial.begin(9600);
Serial.setTimeout(100);//establecemos un tiempo de esper
a de 100ms
//inicializamos los pines
pinMode(ledPin, OUTPUT);
pinMode(EnTxPin, OUTPUT);
digitalWrite(ledPin, LOW);
digitalWrite(EnTxPin, HIGH);
}
void loop()
{
int lectura = analogRead(0);//leemos el valor del potenc
imetro (de 0 a 1023)
int angulo= map(lectura, 0, 1023, 0, 180);// escalamos l
a lectura a un valor de ngulo (entre 0 y 180)
//---enviamos el ngulo para mover el servo-----Serial.print("I"); //inicio de trama

03/10/2016 18:42

Comunicacin RS485 con Arduino

10 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

Serial.print("S"); //S para indicarle que vamos a mover


el servo
Serial.print(angulo); //ngulo o dato
Serial.print("F"); //fin de trama
//---------------------------delay(50);
//---solicitamos una lectura del sensor---------Serial.print("I"); //inicio de trama
Serial.print("L"); //L para indicarle que vamos a Leer e
l sensor
Serial.print("F"); //fin de trama
Serial.flush();
//Esperamos hasta que se enven los d
atos
//----Leemos la respuesta del Esclavo----digitalWrite(EnTxPin, LOW); //RS485 como receptor
if(Serial.find("i"))//esperamos el inicio de trama
{
int dato=Serial.parseInt(); //recibimos valor numri
co
if(Serial.read()=='f') //Si el fin de trama es el co
rrecto
{
funcion(dato); //Realizamos la accin correspond
iente
}
}
digitalWrite(EnTxPin, HIGH); //RS485 como Transmisor
//----------fin de la respuesta----------}
void funcion(int dato)
{
if(dato>500)
digitalWrite(ledPin, HIGH);
else
digitalWrite(ledPin, LOW);
}

Cdigo de Esclavo:

#include <Servo.h>
Servo myservo; // creamos el objeto servo
const int EnTxPin = 2;
void setup()
{

03/10/2016 18:42

Comunicacin RS485 con Arduino

11 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

Serial.begin(9600);
myservo.attach(9); // asignamos el pin 9 para el servo.
pinMode(EnTxPin, OUTPUT);
digitalWrite(EnTxPin, LOW); //RS485 como receptor
}
void loop()
{
if(Serial.available())
{
if(Serial.read()=='I') //Si recibimos el inicio de tra
ma
{
char funcion=Serial.read();//leemos el carcter de f
uncin
//---Si el carcter de funcin es una S entonces la
trama es para mover el motor----------if(funcion=='S')
{
int angulo=Serial.parseInt(); //recibimos el n
gulo
if(Serial.read()=='F') //Si el fin de trama es
el correcto
{
if(angulo<=180) //verificamos que sea un valo
r en el rango del servo
{
myservo.write(angulo); //movemos el servom
otor al ngulo correspondiente.
}
}
}
//---Si el carcter de funcin es L entonces el ma
estro est solicitando una lectura del sensor--else if(funcion=='L')
{
if(Serial.read()=='F') //Si el fin de trama es e
l correcto
{
int lectura = analogRead(0); //realizamos l
a lectura del sensor
digitalWrite(EnTxPin, HIGH); //rs485 como tr
ansmisor
Serial.print("i"); //inicio de trama
Serial.print(lectura); //valor del sensor
Serial.print("f"); //fin de trama
Serial.flush(); //Esperamos hasta que se env
en los datos

03/10/2016 18:42

Comunicacin RS485 con Arduino

12 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

digitalWrite(EnTxPin, LOW); //RS485 como rece


ptor
}
}
}
}
delay(10);
}

Como se observa el cdigo cada vez que vamos a escribir o leer


datos activamos o desactivamos respectivamente el pin que va
conectado a DE y RE del mdulo RS485.
EL maestro siempre tiene activo la lnea como transmisin pudiendo
escribir en cualquier momento, mientras que el esclavo siempre est
en modo recepcin, escuchando los datos que le lleguen. Cuando el
maestro necesite una respuesta por parte del esclavo, despus de
enviar la consulta, debe cambiar a modo de receptor para que el
esclavo puede usar el canal para transmitir los datos, finalizado la
respuesta, el maestro nuevamente debe tener libre el canal para
transmitir.

Esta es la configuracin ms comn que se usa, todos los Arduinos


estn conectados al mismo bus RS485, Un Arduino es maestro y
todos los dems son Esclavos. Cada esclavo tiene una direccin el
cual le identifica, el maestro para que pueda comunicarse con un
esclavo usa esta direccin. El maestro enva la informacin por el bus
y solo el esclavo con la direccin correcta es quien interpreta o
procesa los datos.
A continuacin mostramos el mismo ejemplo que se est trabajando
anteriormente, pero enfocado une una conexin multipunto.
Las conexiones seran las siguientes

03/10/2016 18:42

Comunicacin RS485 con Arduino

13 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

El ejemplo solo se muestra para un esclavo pero para los otros


esclavos las conexiones son las mismas y en el cdigo solo hay que
tener en cuenta las direcciones de los esclavos.
La diferencia con los casos anteriores es en la trama para la
comunicacin, ahora es necesario enviar la direccin del esclavo,
quedando la trama de la siguiente forma:
[Inicio de trama][Direccin][Funcin][Valor][Fin de trama]
La direccin es un nmero entero e indica con cual esclavo nos
queremos
comunicar.
Ejemplos
de
esta
trama
serian:
I101S90F,I25S120F,I223LF, etc.
El esclavo interpreta esta trama y si coincide su direccin entonces
realiza la funcin correspondiente, si es una funcin que necesite
responder, en la trama de respuesta tambin agrega su direccin,
esto para que el maestro sepa que ha respondido el esclavo
correspondiente. La trama de respuesta es de la forma:
[Inicio de trama][Direccin] [, ] [Valor][Fin de trama]
En este caso entre la direccin y el valor enviamos una coma como
separador puesto que ambos son valores numricos, unos ejemplo de
trama serian: i101,865f, i26,64f

Cdigo del Maestro:

const int ledPin = 13; // Numero del pin para el Led


const int EnTxPin = 2; // HIGH:TX y LOW:RX
void setup()
{
Serial.begin(9600);
Serial.setTimeout(100); //establecemos un tiempo de espe
ra de 100ms
// inicializamos los pines
pinMode(ledPin, OUTPUT);
pinMode(EnTxPin, OUTPUT);
digitalWrite(ledPin, LOW);
digitalWrite(EnTxPin, HIGH); //RS485 como Transmisor
}
void loop()
{
int lectura = analogRead(0);//leemos el valor del potenc
imetro (de 0 a 1023)
int angulo= map(lectura, 0, 1023, 0, 180);// escalamos l

03/10/2016 18:42

Comunicacin RS485 con Arduino

14 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

a lectura a un valor de ngulo (entre 0 y 180)


//---enviamos el ngulo para mover el servo-----Serial.print("I"); //inicio de trama
Serial.print("101");//direccin del esclavo
Serial.print("S"); //funcin S para indicarle que vamos
a mover el servo
Serial.print(angulo); //ngulo o dato
Serial.print("F"); //fin de trama
//---------------------------delay(50);
//---solicitamos una lectura del sensor---------Serial.print("I"); //inicio de trama
Serial.print("101");//direccion del esclavo
Serial.print("L"); //L para indicarle que vamos a Leer e
l sensor
Serial.print("F"); //fin de trama
Serial.flush();
//Esperamos hasta que se enven los d
atos
//----Leemos la respuesta del Esclavo----digitalWrite(EnTxPin, LOW); //RS485 como receptor
if(Serial.find("i")) //esperamos el inicio de trama
{
int esclavo=Serial.parseInt(); //recibimos la direc
cion del esclavo
int dato=Serial.parseInt(); //recibimos el dato
if(Serial.read()=='f'&&esclavo==101) //si fin de tra
ma y direccion son los correctos
{
funcion(dato);
//realizamos la accin con el da
to recibido
}
}
digitalWrite(EnTxPin, HIGH); //RS485 como Transmisor
//----------fin de la respuesta---------}
void funcion(int dato)
{
if(dato>500)
digitalWrite(ledPin, HIGH);
else
digitalWrite(ledPin, LOW);
}

Cdigo del Esclavo:

#include <Servo.h>

03/10/2016 18:42

Comunicacin RS485 con Arduino

15 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

Servo myservo; // creamos el objeto servo


const int EnTxPin = 2; // HIGH:TX y LOW:RX
const int mydireccion =101; //Direccion del esclavo
void setup()
{
Serial.begin(9600);
Serial.setTimeout(100); //establecemos un tiempo de esp
era de 100ms
myservo.attach(9); // asignamos el pin 9 para el servo.
pinMode(EnTxPin, OUTPUT);
digitalWrite(EnTxPin, LOW); //RS485 como receptor
}
void loop()
{
if(Serial.available())
{
if(Serial.read()=='I') //Si recibimos el inicio de tra
ma
{
int direccion=Serial.parseInt(); //recibimos la di
reccion
if(direccion==mydireccion) //Si direccion es la nu
estra
{
char funcion=Serial.read(); //leemos el carct
er de funcin
//---Si el carcter de funcin es una S entonc
es la trama es para mover el motor----------if(funcion=='S')
{
int angulo=Serial.parseInt(); //recibimos
el ngulo
if(Serial.read()=='F') //Si el fin de tra
ma es el correcto
{
if(angulo<=180) //verificamos que sea u
n valor en el rango del servo
{
myservo.write(angulo); //movemos el
servomotor al ngulo correspondiente.
}
}
}
//---Si el carcter de funcin es L entonces
el maestro est solicitando una lectura del sensor--else if(funcion=='L')
{

03/10/2016 18:42

Comunicacin RS485 con Arduino

16 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

if(Serial.read()=='F') //Si el fin de tram


a es el correcto
{
int lectura = analogRead(0); //realizam
os la lectura del sensor
digitalWrite(EnTxPin, HIGH); //rs485 co
mo transmisor
Serial.print("i"); //inicio de trama
Serial.print(mydireccion); //direccion
Serial.print(",");
Serial.print(lectura); //valor del sens
or
Serial.print("f"); //fin de trama
Serial.flush(); //Esperamos hasta que s
e enven los datos
digitalWrite(EnTxPin, LOW); //RS485 com
o receptor
}
}
}
}
}
delay(10);
}

El cdigo para un segundo esclavo si se desea que tenga la misma


funcin, en el cdigo solo debe cambiar su direccin.
En un prximo tutorial implementaremos el protocolo Modbus en
Arduino.

Tags:
130

Compartir

03/10/2016 18:42

Comunicacin RS485 con Arduino

17 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

Diego
jul 14, 2016
Hola enhorabuena por el aporte de informacin. Quera
hacerle una pregunta sobre un proyecto en cuestin:1Quera controlar 3 motores brushless con un maestro y un
esclavo con comunicacin rs485. 2-En el maestro llevara
tres potencimetros para cada uno de los motores. 3Segn el valor se los potencimetros tendra mayo o
menor velocidad de los motores, cada uno de ellos
gobernados independientemente con cada potencimetro.
4- Llevara algn sensor en el esclavo adems de las
conexiones de los motores. 5-Tambin la posibilidad de
activar desde el maestro tres salidas en el esclavo.Es
decir, los valores que tenga en las entradas del maestro se
escriben en las salidas del esclavo.Gracias de antemano
Enhorabuena por vuestra web Un saludo Diego

Naylamp
jul 15, 2016
Hola diego, segn lo que explicas necesitas
una comunicacin maestro esclavo
bidireccional, puedes usar una comunicacin
full dplex si solo van a ser dos arduinos de
esta forma trabajas como si fuese una
comunicacin serial simple entre arduinos
(como en el ejemplo 2). Tambin puedes usar
una comunicacin half dplex como en los
ejemplos 3 y 4. Saludos.

roberto
sep 5, 2016
A mi me dejaron algo parecido,
pero tengo que disear mi propio
protocolo de comunicacion no se
si me darias algun consejo? te lo
agradeceria mucho

Alejandro
jul 19, 2016
Interesante artculo! Estoy en un proyecto similar al que
propone Diego, solo que en mi caso se trata de un
maestro y dos esclavos para controlar algunos motores de
paso, un servomotor y un sensor magntico. Me gustara
03/10/2016 18:42

Comunicacin RS485 con Arduino

18 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

saber si es mejor trabajar con un protocolo propuesto por


mi o trabajar con Modbus RTU (del cual no tengo mucho
conocimiento). Un cordial saludo!

Naylamp
jul 20, 2016
Alejandro, si en tu proyecto necesitas trabajar
con dispositivos industriales o piensas a futuro
agregar ms dispositivos al mismo bus es
mejor trabajar con un protocolo estndar como
el Modbus, de lo contrario puedes trabajar con
tu propio protocolo.

Rodrick Diaz
ago 5, 2016
Que buen tutorial, Gracias por compartir. Tengo una
inquietud, implemente el ejemplo nmero 3 que se detalla
en artculo, y quise modificar solo para pedir la lectura del
sensor y me funciona, el detalle es cuando quise pedir el
dato del senor cada X tiempo, no logro hacer que funcione
alguna idea. Gracias, Saludos

Naylamp
sep 2, 2016
Hola Rodrick, Te debera funcionar as la
transmisin sea cada X tiempo, verifica que
EnTxPin est habilitndose y deshabilitndose
en el momento correcto. Las modificaciones
de tiempo solo deben ser en el programa del
maestro. El esclavo debe de responder tan
pronto le solicite el Maestro, sin Ningn
retraso.

* Name:
* E-mail:
(Not
Published)

03/10/2016 18:42

Comunicacin RS485 con Arduino

19 de 19

http://www.naylampmechatronics.com/blog/37_Comunicacin-RS485...

Website:
(Site url
withhttp://)
* Comment:

Submit

Introduzca su direccin de correo electrnico

Naylamp Mechatronics,
Trujillo Per
Llmanos ahora:
997646858
Email:

03/10/2016 18:42