Arduino Nano ESP32 - RS-485

Este tutorial te enseña a usar la comunicación RS485 con ESP32. En detalle, aprenderemos los siguientes aspectos:

Hardware Requerido

1×Arduino Nano ESP32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Módulo TTL a RS485
1×Cables Puente
1×(Opcional) Convertidor USB a RS485
1×(Opcional) USB to RS485 Cable
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del Módulo TTL a RS-485

Al emplear la comunicación serial en el Arduino Nano ESP32 utilizando funciones como Serial.print(), Serial.read() y Serial.write(), la transmisión de datos se realiza a través del pin TX, mientras que la recepción de datos se lleva a cabo a través del pin RX. Estos pines operan a nivel TTL, manejando señales con un rango limitado. Por lo tanto, para la comunicación serial a distancias extendidas, se vuelve necesario convertir la señal TTL a estándares como RS232, RS485 o RS422.

En este tutorial, profundizaremos en la utilización de RS485 (también conocido como RS-485) con la placa Arduino Nano ESP32 mediante un módulo TTL a RS485. Este módulo facilita la conversión de señales TTL a señales RS485 y viceversa, permitiendo una comunicación fiable a largas distancias.

Disposición de pines

El módulo RS-485 a TTL cuenta con dos interfaces:

  • Interfaz TTL (conectada al Arduino Nano ESP32):
    • Pin VCC: Este pin de alimentación debe estar conectado a VCC (5V o 3.3V).
    • Pin GND: Este pin de alimentación debe estar conectado a GND (0V).
    • Pin RXD: Este pin de datos debe estar conectado a un pin TX del Arduino Nano ESP32.
    • Pin TXD: Este pin de datos debe estar conectado a un pin RX del Arduino Nano ESP32.
  • Interfaz RS485:
    • Pin D+ (A o TR+): Este pin facilita la comunicación de datos.
    • Pin D- (B o TR-): Este pin se utiliza para la transmisión de datos.
    • Pin GND: Aunque es opcional, se recomienda encarecidamente incluir este pin para mitigar la interferencia de ruido, asegurando un rendimiento óptimo.
    Pinout del módulo RS-485
    image source: diyables.io

Diagrama de Cableado

Diagrama de cableado de Arduino Nano ESP32 TTL a RS-485

This image is created using Fritzing. Click to enlarge image

Cómo programar Arduino Nano ESP32 para usar el módulo RS-485

  • Define los pines seriales:
#define RX1PIN D2 #define TX1PIN D3
  • Inicializa la interfaz serial:
Serial1.begin(9600, SERIAL_8N1, RX1PIN, TX1PIN); // RS232

Código de Arduino Nano ESP32

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-rs485 */ #define RX1PIN D2 #define TX1PIN D3 void setup() { // start communication with baud rate 9600 Serial.begin(9600); // Serial Monitor Serial1.begin(9600, SERIAL_8N1, RX1PIN, TX1PIN); // RS485 // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on Serial if (Serial1.available()) { char data = Serial1.read(); // read the received character Serial1.print(data); // echo back to data to the sender Serial.print(data); // print the recived data to Serial Monitor } }

Pruebas

Puedes realizar una prueba enviando datos desde tu PC al Arduino Nano ESP32 a través de RS-485 y viceversa. Para ello, sigue los pasos a continuación:

  • Conecta Arduino Nano ESP32 a tu PC mediante un cable RS485 a USB como se muestra a continuación:
Comunicación RS485 de Arduino Nano ESP32 a PC
  • Instala un programa de terminal serie como Tera Term o PuTTY
  • Abre el programa de terminal serie y configura los parámetros de la interfaz serial (puerto COM, tasa de baudios...)
  • Escribe algunos datos en el terminal serial para enviarlos al ESP32.
  • Si tiene éxito, verás los datos de eco en el 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.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!