Arduino RS-485
En este tutorial, exploraremos la implementación de la comunicación RS485 con Arduino. Específicamente, cubriremos los siguientes aspectos en detalle:
- Estableciendo la conexión entre Arduino y el módulo TTL a RS485.
- Programar Arduino para obtener datos del módulo TTL a RS485.
- Programar Arduino para transmitir datos al módulo TTL a RS485.
- Cómo enviar datos desde tu PC a Arduino mediante RS485, y viceversa.
El tutorial también proporciona la instrucción para tanto Hardware Serial como SoftwareSerial.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del módulo TTL a RS-485
Al utilizar la comunicación serie en Arduino a través de funciones como Serial.print(), Serial.read(), y Serial.write(), el Arduino transmite datos a través del pin TX y recibe datos a través del pin RX. Estos pines operan a nivel TTL, lo que significa que las señales que manejan tienen un alcance limitado. Por lo tanto, para la comunicación serial a distancias más largas, se hace necesario convertir la señal TTL a los estándares de señal RS232, RS485 o RS422.
En este tutorial, profundizaremos en el uso de RS-485 (también conocido como RS-485) con Arduino utilizando un módulo TTL a RS-485. Este módulo facilita la conversión de señales TTL a señales RS-485 y viceversa.
Esquema de pines
El módulo RS485 a TTL tiene dos interfaces:
- La interfaz TTL (conectada al Arduino) incluye 4 pines
- Pin VCC: pin de alimentación, debe conectarse a VCC (5V, o 3.3V)
- Pin GND: pin de alimentación, debe conectarse a GND (0V)
- Pin RXD: pin de datos, debe conectarse al pin TX del Arduino
- Pin TXD: pin de datos, debe conectarse al pin RX del Arduino
- La interfaz RS485 comprende los siguientes pines:
- Pin D+ (A o TR+): Este pin facilita la comunicación de datos.
- Pin D- (B o TR-): Este pin sirve para la transmisión de datos.
- Pin GND: Aunque opcional, se recomienda encarecidamente incluir este pin para mitigar la interferencia de ruido, asegurando un rendimiento óptimo.

Diagrama de Cableado
- Diagrama de cableado si se utiliza la serie de hardware

This image is created using Fritzing. Click to enlarge image
- Diagrama de cableado si se utiliza software serial

This image is created using Fritzing. Click to enlarge image
Cómo programar Arduino para usar el módulo RS485
- Inicializa la interfaz Serial:
- Si utilizas SoftwareSerial, debes incluir la librería y declarar un objeto SoftwareSerial:
- Para leer datos que provienen de RS485, puedes usar las siguientes funciones:
- Para escribir datos en RS485, puedes usar las siguientes funciones:
- Y más funciones para usar con RS485 en Serial reference
Código de Arduino para Serial de hardware
Código de Arduino para Software Serial
Pruebas
Puedes hacer una prueba enviando datos desde tu PC a Arduino vía RS-485 y viceversa. Para hacerlo, sigue los pasos a continuación:
- Conecta Arduino a tu PC mediante un cable RS485 a USB como se muestra a continuación:

- Abre el programa de terminal serie y configura los parámetros del puerto serie (puerto COM, tasa de baudios...)
- Escribe algunos datos desde la terminal serie para enviarlos al Arduino.
- Si tiene éxito, verá los datos de eco en la terminal serial.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.