Comunicación RS485 Con Arduino - RincónIngenieril

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Esta página web utiliza cookies propias y de terceros para mejorar nuestros servicios, analizar nuestras medidas de publicidad y para mostrar
anuncios según los intereses. Al utilizar nuestra página web aceptas el uso de éstas Estoy de acuerdo Leer más


Electrónica Analógica
Electrónica Digital
Instrumentación
Arduino
Entrevistas
Noticias

Comunicación RS485 con Arduino


Ricalc
Sobre mi
Contacto

Formas de colabo

Publicidad
Publicado por Enrique Gómez el 25 junio, 1 comentario
2016

Dificultad baja

Las comunicaciones son clave en la sociedad actual y han tomado tanta


importancia que casi todos llevamos en el bolsillo un Smartphone que nos
permite hacer mil virguerías transmitiendo y recibiendo datos. En los Passagens em Promoção
últimos años se viene viendo como se incrementa el I+D en IoT. Hemos Passagens com os Melhores Preços
visto la integración de grandes redes de sensores y actuadores
Anuncio avianca.com.br
interconectados en su mayoría de manera inalámbrica creando las ya
denominadas como Smartcities. RS485 es un estándar que todavía tiene
mucho que decir, por eso tratamos el RS485 con Arduino.

censa.es

swa armoured cable Experts - Short


lead times 7-10 days
Cables specialist for B2B · MOQ 300m · Since 1964

Learn more

Cuando nos enfrentamos a deber desarrollar un sistema que integra


34
varios dispositivos que se tienen que intercomunicar entre sí, surgen
S Hinfinidad
ARE S de posibilidades desde el punto de vista del electrónico y de
todas esas posibilidades normalmente tocará elegir solo una y digo

Esta página web utiliza cookies propias y de terceros para mejorar nuestros servicios, analizar nuestras medidas de publicidad y para mostrar
normalmente porque en contadas ocasiones podrás montar sistemas de
anuncios según los intereses. Al utilizar nuestra página web aceptas el uso de éstas
comunicación redundantes o bien por el exceso de precio o bien por elEstoy de acuerdo Leer más

exceso de espacio o en ocasiones simplemente no nos importa que un


sistema cuente con la seguridad de ser redundante.
Electrónica Analógica
En electrónica industrial rara es la ocasión en la que no nos encontramos
Electrónica Digital número uno del electrónico el campo electromagnético y
con el enemigo
Instrumentación
es que este nos proporcionará más de un quebradero de cabeza si no
Arduino
sabemos como tratarle y en ocasiones aunque sepamos como tratarle y
Entrevistas
es que si no lo tenemos en cuenta, afectará a nuestras comunicaciones.
Noticias
Ricalc
Sobre mi
Contacto

MAX485 en protoboard

Uno de los estándares de comunicaciones altamente conocido en el


mundo industrial es el RS485 que lo hace ideal para las comunicaciones
en áreas industriales donde tengamos ruido generado por campos
electromagnéticos o donde tengamos que levantar redes multipunto de
hasta 1200 metros. Si has leído bien, más de 1 Km de distancia

La característica que convierte al RS485 en el estándar de capa física


ideal para la comunicación en entornos industriales y de hasta 1200
metros es que se trata de un estándar diferencial en el cual no tenemos en
cuenta la tensión en uno de los cables, si no que lo que mediremos será la
diferencia de potencial entre los dos cables que integran el BUS.

censa.es

swa armoured cable Experts - Short


lead times 7-10 days
Cables specialist for B2B · MOQ 300m · Since 1964

Learn more
Se pueden montar dos tipos de BUS el half-duplex, es decir o mandamos

Esta página web utiliza cookies propias y de terceros para mejorar nuestros servicios, analizar nuestras medidas de publicidad y para mostrar
datos o recibimos datos (está formado por 2 cables) y el duplex donde
anuncios según los intereses. Al utilizar nuestra página web aceptas el uso de éstas
podremos enviar y recibir datos al mismo tiempo puesto que disponemosEstoy de acuerdo Leer más

de 4 cables, dos para recibir y dos para transmitir. Es una practica común y
recomendada que cada par de cables, sea trenzado, es decir, que el half-
duplex tendremos un par de cables trenzados y en el duplex tendremos
Electrónica Analógica
dos pares de cables trenzados.
Electrónica Digital
Instrumentación
Sobre RS485 podemos enviar datos en bruto usando por ejemplo un
Arduino
puerto serie o podemos montar protocolos como MODBUS o algún
Entrevistas
similar.
Noticias
Ricalc
Aprende
Sobre mi a usar el módulo RS485
Contacto
Para usar RS485 con un microcontrolador o con lo que quieras que
disponga de puerto serie puedes usar un módulo basado en el circuito
integrado MAX485 que te permitirá crear una red RS485 pero que para ti
será muy similar a trabajar con el puerto serie de por ejemplo Arduino. Por
tanto montar una comunicación RS485 con Arduino es coser y cantar.

RS485 en Fritzing

Conectar el módulo a Arduino es bastante sencillo, tenemos 6 pines, los


cuales dos corresponden al puerto serie y se conectan así:

MAX485 Arduino Descripción


Entrada de datos desde el mirco hacia
DI TX
MAX485
Salida de datos provenientes del BUS
DO RX
hacia el micro
Habilita la recepción de datos si está en
RE Pin 2
estado bajo
Habilita la transmisión de datos hacia el
DE Pin 2
BUS
Vcc Vcc Alimentación del MAX485
GND GND Conexión de masa

Por último quedarán dos pines A y B que son los dos que componen el
BUS del RS485, es decir, tendremos que conectar entre sí los las A de
todos los MAX485 con un cable y todos las B con otro cable.

En el ejemplo que te presento en el vídeo tenemos un pulsador conectado


en el pin digital 7 del Arduino UNO y un LED conectado en el pin 13 del
Arduino MEGA, nuestro objetivo es que al presionar el pulsador del primer
Arduino, este envíe una orden al otro Arduino para que encienda el LED y
esto lo tenemos que hacer por medio de RS485. Te animo a que veas el
vídeo y más abajo te dejo los códigos para ambos Arduinos.

Esta página web utiliza cookies propias y de terceros para mejorar nuestros servicios, analizar nuestras medidas de publicidad y para mostrar
Cómo
anunciosusar
segúnRS485
los intereses. Al utilizar nuestra página web aceptas el uso de éstas Estoy de acuerdo Leer más


Electrónica Analógica
Electrónica Digital
Instrumentación
Arduino
Entrevistas
Noticias
Ricalc
Sobre mi
Contacto

Usando RS485 con Arduino UNO – Ejemplo


emisor
El procedimiento consiste en crear un puerto serie por software,
inicializarlo a 9600 baudios y transmitir por ese puerto serie. Como se
trata de un sistema semiduplex, antes de transmitir debemos activar la
señal de transmisión con un digitalWrite. Enviar un dato, por ejemplo el
caracter “A” es tan sencillo como usar el método write del puerto serie por
software.

1 /*
2  RS485 sender
3  By: Enrique
4  Rincón Ingenieril
5  Date: June 16th, 2016
6  License: This code is public domain.
7 */
8  
9 #include<SoftwareSerial.h>
10  
11 //SoftwareSerial pins
12 #define pinTX 4
13 #define pinRX 3
14 //MAX485 control pin
15 #define transmitir 2
16 //Button pin
17 #define pulsador 7
18  
19 SoftwareSerial RS485(pinRX, pinTX);
20  
21 void setup(){
22  //Initialize SoftwareSerial
23  RS485.begin(9600);
24  //Digital pins PinMode
25  pinMode(13,OUTPUT);
26  pinMode(transmitir, OUTPUT);
27  pinMode(pulsador, INPUT);
28 }
29  
30 void loop(){
31   //If button is pressed
32   if(digitalRead(pulsador) == HIGH){
33      digitalWrite(13,HIGH);            
34      digitalWrite(transmitir, HIGH);    //Enable
35      RS485.write('A');                  //Write A
36      digitalWrite(transmitir,LOW);      //Disable
37      delay(200);
38      digitalWrite(13,LOW);
39   }
40 }

Esta página web utiliza cookies propias y de terceros para mejorar nuestros servicios, analizar nuestras medidas de publicidad y para mostrar
anuncios según los intereses. Al utilizar nuestra página web aceptas el uso de éstas Estoy de acuerdo Leer más
planoscontrole.tim.com.br

Electrónica Analógica
Electrónica Digital
Instrumentación
Arduino
Entrevistas
Noticias
Ricalc
Sobre mi
Contacto
TIM Controle é assim
Baixe fotos, curta posts e veja Stories com redes
sociais ilimitadas.

Saber mais

Arduino MEGA – Ejemplo para receptor


Este código está diseñada para ser implementado en un Arduino Mega,
sin embargo, se podría hacer en otro Arduino usando software serial igual
que en transmisor.

En el loop esperamos a tener disponible un dato con available y una vez lo


tenemos disponible, lo leemos y almacenamos en la variable recibido. En
la siguiente línea usamos if para comprobar si el caracter que hemos
recibido es el correcto, es decir, si es una “A”. En caso afirmativo
encendemos y apagamos el LED.

1 /*
2  RS485 receiver
3  By: Enrique
4  Rincón Ingenieril
5  Date: June 16th, 2016
6  License: This code is public domain.
7 */
8  
9 //Max485 transmission control
10 #define transmitir 2
11  
12 #define led 13
13  
14 void setup(){
15   Serial3.begin(9600);          //Initialize seri
16   pinMode(led, OUTPUT);         //Set LED and tra
17   pinMode(transmitir,OUTPUT);
18   digitalWrite(transmitir,LOW);
19 }
20  
21 void loop(){
22     //If we receive something
23   if(Serial3.available() > 0){
24    char recibido = Serial3.read();
25    //If we receive an A
26    if(recibido == 'A'){
27       digitalWrite(led, HIGH);      //Turn on the
28       delay(1000);
29       digitalWrite(led, LOW);
30    }
31   }
32 }

Seguro que aparte de aprender a usar RS485 con Arduino quieres


aprender algo más, puedes echar un vistazo a todos los tutoriales de
Arduino

Esta página web utiliza cookies propias y de terceros para mejorar nuestros servicios, analizar nuestras medidas de publicidad y para mostrar
anuncios según los intereses. Al utilizar nuestra página web aceptas el uso de éstas Estoy de acuerdo Leer más


Sobre el autor
Electrónica Analógica
Electrónica Digital
Instrumentación
Arduino Enrique Gómez
Entrevistas
Noticias
Ricalc
Amante de la ingeniería electrónica, de la comunicación
Sobre mi
audiovisual y de la divulgación ingenieril y científica. Friki de
Contacto
Star Wars desde el principio. Puedes saber más sobre mi y
sobre mis trabajos en enrique.rinconingenieril.es

Artículos relacionados

Cómo funciona Pantalla Usar un sensor Cómo usar un


el Puerto Serie Nextion de ALS y Termistor NTC
y la UART Itead y Arduino proximidad
TMD2771 con
Arduino

Deja un comentario

2 Comentarios RincónIngenieril 
1 Acceder

 Recomendar t Tweet f Compartir Ordenar por los mejores

Únete a la conversación...

INICIAR SESIÓN CON O REGISTRARSE CON DISQUS ?

Nombre

Miguel Olarieta
− ⚑
25 days ago

Hola muy interesante la explicacion sobre el Max 486, he estado intentando


hacer pruevas pero tango algunas dudas, en primer lugar al compilar el codico
para el esclavo me da el error "Arduino:1.6.0 (Windows 7), Placa:"Arduino
Leonardo"

RinconSlave.ino: In function 'void setup()':


RinconSlave.ino:22:3: error: 'Serial3' was not declared in this scope
RinconSlave.ino: In function 'void loop()':
RinconSlave.ino:30:6: error: 'Serial3' was not declared in this scope
Error de compilación

Tambien queria saber si en el codigo del esclavo no es necesari incluir la


librería wire, asi como declrar que pines en ese arduino esclavo son RX y Tx,

Por otro lado supongo que cualquier pin que se elija puede ser declarado en el
Por otro lado supongo que cualquier pin que se elija puede ser declarado en el
Esta página webcomo
codigo utilizaTX
cookies

o RX.propias y de terceros para mejorar nuestros servicios, analizar nuestras medidas de publicidad y para mostrar
Esoanuncios
es todosegún
gracias por tus aportaciones,
los intereses. Al utilizar nuestra página web aceptas el uso de éstas Estoy de acuerdo Leer más

Un Saludo Miguel 
△ ▽ Responder
Electrónica Analógica
Electrónica Digital
Josewapepewa Pepewa
Instrumentación
8 months ago
− ⚑
Arduino
Hola, muchas gracias por tu explicación, quisiera que me orientaras sobre una
Entrevistas
cuestión, tengo un dvr y tiene el protocolo rs485, he pillado el módulo que has
Noticias
expuesto en el vídeo que pasa de rs485 a TTL. El objetivo es leer cuando pulso
Ricalc
Sobre
parami
manejar una cámara PTZ, obtener el comando para luego interpretarlo y
Contacto
mover un par de servos.
△ ▽ Responder

TAMBIÉN EN RINCÓNINGENIERIL

AppInventor y Arduino Ethernet, Sensor capacitivo


controlando un LED 4 comentarios • 10 months ago
4 comentarios • 10 months ago Majo — Hola Enrique! me parece
Ismael Eduardo Vergara Vera — super genial tu explicacion!tengo
Hola Enrique Junto con saludar te la duda de como configurar el
cuento que hice funcionar mi

Oscilador con transistor TFT, primeros pasos con TFT


2 comentarios • 10 months ago 2 comentarios • 10 months ago
Abraham Pernillo — que Enrique Gómez — Es un poco difícil
parametros se deben de tomar saber exactamente que está
para que la señal sea mas ocurriendo. Puedes intentar cargar

✉ Suscríbete d Añade Disqus a tu sitio webAñade Disqus Añadir


🔒 Política de privacidad de DisqusPolítica de privacidadPrivacidad

Rincón Ingenieril

Esta página web utiliza cookies propias y de terceros para mejorar nuestros servicios, analizar nuestras medidas de publicidad y para mostrar
anuncios según los intereses. Al utilizar nuestra página web aceptas el uso de éstas Estoy de acuerdo Leer más

"What is a man 
but
Electrónica Analógica his
Electrónica Digital
memories"
Instrumentación
Arduino
Entrevistas
Suscríbete
Noticias a la newsletter
Ricalc
email address
Sobre mi
Contacto
Subscribe

En general

Colabora con Rincón Ingenieril


Licencia de los artículos
Fotos de algunos eventos
Escribe un artículo en Rincón Ingenieril
Propón un vídeo
Condiciones de uso
Política de privacidad
Política de cookies

Prensa y patrocinadores

Prensa y nuestra imagen


Rincón Ingenieril en los medios
Publicidad y emplazamiento de producto

Rincón Ingenieril 2018

También podría gustarte