Académique Documents
Professionnel Documents
Culture Documents
0
Buscar S/. 0,00
TUTORIALES
Tutorial sensor
de ujo de agua
abr 13, 2016
Con guración
del módulo
bluetooth HC-05
usando comandos AT ago 08,
2015
Tutorial
trasmisor de
celda de carga
HX711, Balanza Digital ago
23, 2015 Explicaremos como utilizar los Módulos RS485 e implementaremos
varios ejemplos para comunicar 2 Arduinos a través de RS485,
desarrollaremos la comunicación simplex, full duplex y half duplex.
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 1/39
2/10/2019 Comunicación RS485 con Arduino
ATmega328P DIP
Ese es microcontrolador
usado en las...
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 2/39
2/10/2019 Comunicación RS485 con Arduino
ETIQUETAS
sensor Fuente
hexagonal allen
screw V-Slot
regulador
NOVEDADES
Celda de carga 1Kg El módulo tiene acceso a todos los pines del chip MAX485 y tiene
Esta celda de 1Kg para todos los componentes adicionales para su correcto funcionamiento.
cargas pequeñas, Los pines "A" y "B" se pueden conectar también desde la bornera.
fabricado en aluminio y
con... Las pines A y B son por donde se envían y reciben los datos, B es la
negación en voltaje de A, se envían los mismos datos pero en la línea
S/. 18,00
B están negados, de esta forma se pueden restar ambas señales y
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 3/39
2/10/2019 Comunicación RS485 con Arduino
S/. 75,00
Usar le módulo RS485 como transmisor
En esta configuración 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 envían los datos hacia el pin DI (Data Input) del
módulo y este transmitirá los datos por los pines AB
S/. 1,20
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 4/39
2/10/2019 Comunicación RS485 con Arduino
Perfil de aluminio extruido Al conectar los pines RE y DE el modulo se comporta como Receptor,
para empezar a hacer
y los datos recibidos por AB estarán presentes en el pin RO(Receiver
estructuras mecánicas y...
Output), conectando el pin RO del módulo al RX de nuestro Arduino
S/. 1,70 podemos leer los datos recibidos.
S/. 1,24
S/. 0,66
void setup()
{
Serial.begin(9600);
myservo.attach(9); // asignamos el pin 9 para el servo.
}
void loop()
{
Per l C-beam 4080 L3.2m
Perfil de aluminio extruido
if (Serial.available()) {
para empezar a hacer
int angulo = Serial.read(); //Leemos el dato recibido
estructuras mecánicas y...
if(angulo<=180) //verificamos que sea un valor en el rango del servo
{
S/. 410,00
myservo.write(angulo); //movemos el servomotor al ángulo correspondient
e.
}
}
}
S/. 300,00 De esta forma podemos realizar una comunicación entre dos Arduino
pero en una sola dirección, para hacerlo en dos direcciones tenemos
dos formas, half-duplex y full-duplex
S/. 205,00
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 8/39
2/10/2019 Comunicación RS485 con Arduino
void loop()
{
if(Serial.available())
{
if(Serial.read()=='i') //si recibimos el inicio de trama
{
int dato=Serial.parseInt(); //recibimos valor numérico
if(Serial.read()=='f') //Si el fin de trama es el correcto
{
funcion(dato); //Realizamos la acción correspondiente
}
}
}
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 9/39
2/10/2019 Comunicación RS485 con Arduino
#include <Servo.h>
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 trama
{
char funcion=Serial.read(); //leemos el carácter de función
//---Si el carácter de función es una S entonces la trama es para mover
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 10/39
2/10/2019 Comunicación RS485 con Arduino
el motor-----------
if(funcion=='S')
{
int angulo=Serial.parseInt(); //recibimos el ángulo
if(Serial.read()=='F') //Si el fin de trama es el correcto
{
if(angulo<=180) //verificamos que sea un valor en el rango del s
ervo
{
myservo.write(angulo); //movemos el servomotor al ángulo corr
espondiente.
}
}
}
//---Si el carácter de función es L entonces el maestro está solicita
ndo una lectura del sensor
else if(funcion=='L')
{
if(Serial.read()=='F') //Si el fin de trama es el 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
//-----------------
}
}
}
}
delay(10);
}
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 11/39
2/10/2019 Comunicación RS485 con Arduino
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 12/39
2/10/2019 Comunicación RS485 con Arduino
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 13/39
2/10/2019 Comunicación RS485 con Arduino
digitalWrite(EnTxPin, HIGH);
}
void loop()
{
}
digitalWrite(EnTxPin, HIGH); //RS485 como Transmisor
//----------fin de la respuesta-----------
}
void funcion(int dato)
{
if(dato>500)
digitalWrite(ledPin, HIGH);
else
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 15/39
2/10/2019 Comunicación RS485 con Arduino
digitalWrite(ledPin, LOW);
}
Código de Esclavo:
#include <Servo.h>
void loop()
{
if(Serial.available())
{
if(Serial.read()=='I') //Si recibimos el inicio de trama
{
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 16/39
2/10/2019 Comunicación RS485 con Arduino
espondiente.
}
}
}
//---Si el carácter de función es L entonces el maestro está solicita
ndo una lectura del sensor---
else if(funcion=='L')
{
if(Serial.read()=='F') //Si el fin de trama es el correcto
{
int lectura = analogRead(0); //realizamos la lectura del senso
r
digitalWrite(EnTxPin, HIGH); //rs485 como transmisor
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
digitalWrite(EnTxPin, LOW); //RS485 como receptor
}
}
}
}
delay(10);
}
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 17/39
2/10/2019 Comunicación RS485 con Arduino
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 18/39
2/10/2019 Comunicación RS485 con Arduino
void loop()
{
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 20/39
2/10/2019 Comunicación RS485 con Arduino
//----------------------------
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 el sensor
Serial.print("F"); //fin de trama
Serial.flush(); //Esperamos hasta que se envíen los datos
//----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 direccion del esclavo
int dato=Serial.parseInt(); //recibimos el dato
if(Serial.read()=='f'&&esclavo==101) //si fin de trama y direccion son
los correctos
{
funcion(dato); //realizamos la acción con el dato 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);
}
#include <Servo.h>
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 21/39
2/10/2019 Comunicación RS485 con Arduino
void loop()
{
if(Serial.available())
{
if(Serial.read()=='I') //Si recibimos el inicio de trama
{
int direccion=Serial.parseInt(); //recibimos la direccion
if(direccion==mydireccion) //Si direccion es la nuestra
{
char funcion=Serial.read(); //leemos el carácter de función
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 23/39
2/10/2019 Comunicación RS485 con Arduino
8 ?? 2 0 ?? Compartir 5
53 Comments
Diego
jul 14, 2016
Reply
Naylamp
jul 15, 2016
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 24/39
2/10/2019 Comunicación RS485 con Arduino
Reply
roberto
sep 5, 2016
Reply
Reply
Alejandro
jul 19, 2016
Reply
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 25/39
2/10/2019 Comunicación RS485 con Arduino
Naylamp
jul 20, 2016
Reply
Rodrick Diaz
ago 5, 2016
Reply
Naylamp
sep 2, 2016
Reply
VICTOR
nov 20, 2016
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 26/39
2/10/2019 Comunicación RS485 con Arduino
Reply
victor
nov 23, 2016
ya encontre el error
Reply
Alejandro López
nov 23, 2016
Reply
Naylamp
nov 30, 2016
Reply
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 27/39
2/10/2019 Comunicación RS485 con Arduino
Joaquín Alarte
dic 6, 2016
Mejor, y más claro de explicar imposible, un gran post. Pero tengo una
cuestión, el módulo RS485 que ustedes proponen, trabaja con placas
compatibles (no oficiales de Arduino). Gracias por el post!!!
Reply
Naylamp
dic 14, 2016
Reply
Adrian Pugliesso
ene 2, 2017
Reply
Antonio C.
ene 15, 2017
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 28/39
2/10/2019 Comunicación RS485 con Arduino
Reply
Adal
mar 22, 2017
Reply
RAUL JORGE
ene 24, 2017
Reply
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 29/39
2/10/2019 Comunicación RS485 con Arduino
Naylamp
feb 17, 2017
Reply
Josue
ene 28, 2017
Reply
Ginno
mar 6, 2017
Reply
Naylamp
mar 21, 2017
Reply
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 30/39
2/10/2019 Comunicación RS485 con Arduino
Pugliesso Adrian
mar 13, 2017
Reply
Naylamp
mar 21, 2017
Reply
Xavier
ene 30, 2018
Reply
Golfonauta
mar 22, 2017
Reply
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 31/39
2/10/2019 Comunicación RS485 con Arduino
Freddy Portillo
jun 28, 2017
Hola amigos buen post, no quiero que me resuelvan las cosas pero
estoy tratando de hacer una interfaz para manejar luces DMX a travez
de wifi con protocolo arnet. He conseguido casi todo lo que no
encuentro es un ejemplo de como conectar arduino uno y el modulo 485
y sus salidas a el canon. Si tienes algun ejemplo les agradezco.
Reply
Luis
jul 10, 2017
Muy buen aporte estimado, voy a guiarme de tu ejemplo para hacer mis
pruebas, solo como comentario, RS485 no es un protocolo, es un
estandar de comunicación, protocolo es Modbus RTU, DeviceNet, etc...
Reply
Naylamp
jul 20, 2017
Reply
Jorge
jul 11, 2017
Reply
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 32/39
2/10/2019 Comunicación RS485 con Arduino
Naylamp
jul 20, 2017
Reply
Xavier
ene 30, 2018
Reply
Mauricio
jul 25, 2017
Reply
Swati
dic 15, 2018
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 33/39
2/10/2019 Comunicación RS485 con Arduino
Reply
Mauricio
jul 25, 2017
Reply
Francisco
ago 3, 2017
Hola, hay alguna manera de realizar una conexión full duplex entre
varios arduinos?, muchas gracias
Reply
Daniel
sep 3, 2017
Hola, tengo una duda simple pero que no he podido resolver, este
módulo me funcionaría con una tarjeta de desarrollo con
microcontrolador Kinetis K64? lo pregunto porque es ARM y por ende
trabaja a 3.3V y no a 5V como Arduino, me da miedo quemar mi placa.
Reply
Carlos
oct 11, 2017
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 34/39
2/10/2019 Comunicación RS485 con Arduino
Hola, tengo una pregunta: Pudiera utilizarse una lógica para usar el
módulo tanto de tx como de rx manejando los pines DE y RE para
cortocircuitarlos o alimentarlos en dependencia de si queremos usarlo
de Tx o Rx
Reply
Miguel Sanchez
dic 14, 2017
Reply
Jesus Chavez
dic 31, 2017
Reply
Francis Conill
ago 16, 2018
Buenas noches, tengo una situación algo extraña tengo conectados dos
arduinos esclavos a un maestro y la información se envía
correctamente, pero al conectar un tercer esclavo no funciona para
nada, y los terminales (A y B) se hacen cortocircuito porque la
resistencia disminuye mucho, qué puedo hacer para resolver esto?
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 35/39
2/10/2019 Comunicación RS485 con Arduino
Reply
GEDE448
sep 18, 2018
Reply
Jose David
oct 31, 2018
Reply
Alan Medina
dic 23, 2018
Hola, primero que nada decir que el post es excelente, muy bien
explicado y sencillo... solo me queda una duda, tanto el maestro como
el esclavo deben tener su propia alimentación? o puede el maestro
alimentar al esclavo directamente con la misma fuente, y que ese
voltaje viaje a través de unos 20 o 40 metros de largo? gracias por su
amable respuesta...saludos
Reply
Reply
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 36/39
2/10/2019 Comunicación RS485 con Arduino
Mil gracias por tu aporte. Me podrías ayudar a hacer ésto mismo, pero
con un arduino DUE como maestro?
Reply
tomas.garcia
mar 19, 2019
Reply
Nazareno
may 9, 2019
Reply
Juan
jun 5, 2019
Reply
dinoelectro
ago 5, 2019
Reply
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 37/39
2/10/2019 Comunicación RS485 con Arduino
Leave a Reply
* Name:
* E-mail:
(Not Published)
Website:
(Site url withhttp://)
* Comment:
Submit
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 38/39
2/10/2019 Comunicación RS485 con Arduino
https://naylampmechatronics.com/blog/37_Comunicación-RS485-con-Arduino.html 39/39