Arduino RS422

Neste guia, vamos nos aprofundar em como configurar a comunicação RS422 com o Arduino. Vamos passar pelas seguintes etapas com cuidado:

O tutorial também fornece instruções tanto para o Serial de hardware quanto para o SoftwareSerial.

Sobre o Módulo TTL para RS422

Ao usar a comunicação serial no Arduino por meio de funções como Serial.print(), Serial.read() e Serial.write(), o Arduino transmite dados pelo pino TX e recebe dados pelo pino RX. Esses pinos operam em nível TTL, o que significa que os sinais que eles manipulam têm alcance limitado. Assim, para comunicação serial a distâncias maiores, torna-se necessário converter o sinal TTL para os padrões de sinal RS232, RS485 ou RS422.

Neste tutorial, vamos nos aprofundar no uso do RS422 (também conhecido como RS-422) com o Arduino, empregando um módulo TTL para RS422. Esse módulo facilita a conversão de sinais TTL em sinais RS422 e vice-versa.

Pinagem

O módulo RS422 para TTL tem duas interfaces:

  • A interface TTL (conectada ao Arduino) inclui 4 pinos
    • Pino VCC: pino de alimentação, precisa ser conectado ao VCC (5V ou 3.3V)
    • Pino GND: pino de alimentação, precisa ser conectado ao GND (0V)
    • Pino RXD: pino de dados, precisa ser conectado a um pino TX do Arduino
    • Pino TXD: pino de dados, precisa ser conectado a um pino RX do Arduino
  • A interface RS422 é composta pelos seguintes pinos:
    • Pino A (R+): pino RX+ do módulo, conecte este pino ao pino TX+ (pino T+ ou Y) do outro dispositivo RS422.
    • Pino B (R-): pino RX- do módulo, conecte este pino ao pino TX- (pino T- ou Z) do outro dispositivo RS422.
    • Pino Y (T+): pino TX+ do módulo, conecte este pino ao pino RX+ (pino R+ ou A) do outro dispositivo RS422.
    • Pino Z (T-): pino TX- do módulo, conecte este pino ao pino RX- (pino R- ou B) do outro dispositivo RS422.
    Pinagem do módulo RS-422
    image source: diyables.io

Diagrama de Ligação

  • Diagrama de ligação usando a serial de hardware
Diagrama de ligação do Arduino com TTL para RS422

This image is created using Fritzing. Click to enlarge image

  • Diagrama de ligação usando a serial por software
Diagrama de ligação do Arduino com RS-422 para TTL

This image is created using Fritzing. Click to enlarge image

Como Programar o Arduino para usar o módulo RS422

  • Inicialize a interface Serial:
Serial.begin(9600);
  • Se você usar o SoftwareSerial, precisa incluir a biblioteca e declarar um objeto SoftwareSerial:
#include <SoftwareSerial.h> // Define the SoftwareSerial objects and their pins SoftwareSerial rs422(6, 7); // RX: 6, TX: 7

Código Arduino para Serial de Hardware

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino/arduino-rs422 */ 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 Arduino para Serial por Software

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino/arduino-rs422 */ #include <SoftwareSerial.h> // define the SoftwareSerial object and their pins SoftwareSerial rs422(6, 7); // RX: 6, TX: 7 void setup() { // start communication with baud rate 9600 rs422.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on rs422 if (rs422.available()) { char data = rs422.read(); // read the received character rs422.print(data); // echo back to data to the sender } }

Teste

Você pode fazer um teste enviando dados do seu PC para o Arduino via RS-422 e vice-versa. Para isso, siga os passos abaixo:

  • Conecte o Arduino ao seu PC por meio de um cabo RS422 para USB, como mostrado abaixo:
Comunicação do Arduino com o PC via RS422
  • Instale um programa de terminal serial como o Tera Term ou o PuTTY
  • Abra o programa de terminal serial e configure os parâmetros seriais (porta COM, baud rate...)
  • Digite alguns dados no terminal serial para enviá-los ao Arduino.
  • Se der certo, você verá os dados de eco no terminal serial.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!