Arduino RS-232

En este tutorial, vamos a aprender a usar la comunicación RS232 con Arduino. En detalle, aprenderemos:

El tutorial también proporciona las instrucciones para Hardware Serial y SoftwareSerial.

Acerca del módulo TTL a RS-232

Cuando utilizas la comunicación serial mediante las funciones Serial.print(), Serial.read(), Serial.write()... en Arduino, Arduino envía datos al pin TX o recibe datos desde el pin RX. Las señales en los pines TX y RX son de nivel TTL. Esta señal no puede recorrer grandes distancias. Por lo tanto, cuando quieras utilizar la comunicación serial a largas distancias, necesitas convertir la señal TTL a una señal RS232, RS485 o RS422.

El módulo TTL a RS232 convierte la señal TTL en señal RS232, y viceversa.

Diagrama de pines

El módulo RS232 a TTL tiene dos interfaces:

  • La interfaz TTL (conectada al Arduino) incluye 4 pines
    • Pin VCC: pin de alimentación, necesita conectarse a VCC (5V/3.3V)
    • Pin GND: pin de alimentación, necesita conectarse a GND (0V)
    • Pin RXD: pin de datos, necesita conectarse a un pin RX del Arduino
    • Pin TXD: pin de datos, necesita conectarse a un pin TX del Arduino
  • La interfaz RS232: conector DB9 hembra D-Sub, conéctelo al dispositivo serial
Diagrama de pines RS-232

Diagrama de Cableado

  • Diagrama de cableado si se utiliza el puerto serie de hardware
Diagrama de cableado de Arduino TTL a RS-232

This image is created using Fritzing. Click to enlarge image

  • Diagrama de cableado si se utiliza software serial
Diagrama de cableado RS232 a TTL para Arduino

This image is created using Fritzing. Click to enlarge image

Cómo programar Arduino para usar el módulo RS-232

  • Inicializa la interfaz Serial:
Serial.begin(9600);
  • Si usas SoftwareSerial, necesitas incluir la biblioteca y declarar un objeto SoftwareSerial:
#include <SoftwareSerial.h> // Define the SoftwareSerial objects and their pins SoftwareSerial SoftSerial(7, 6); // RX: 7, TX: 6

Código de Arduino para Serial de hardware

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

Código de Arduino para Software Serial

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-rs232 */ #include <SoftwareSerial.h> // define the SoftwareSerial object and their pins SoftwareSerial SoftSerial(7, 6); // RX: 7, TX: 6 void setup() { // start communication with baud rate 9600 SoftSerial.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on SoftSerial if (SoftSerial.available()) { char data = SoftSerial.read(); // read the received character SoftSerial.print(data); // echo back to data to the sender } }

Pruebas

Puedes realizar una prueba enviando datos desde tu PC al Arduino vía RS232 y viceversa. Para hacerlo, sigue los siguientes pasos:

  • Conecte el Arduino a su PC mediante un cable RS232 a USB como se muestra a continuación:
Comunicación RS232 entre Arduino y 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 comunicación serie (puerto COM, tasa de baudios...)
  • Escribe datos desde el terminal serie para enviarlos al Arduino.
  • Si tiene éxito, verá los datos de eco en el terminal serie.

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!