Roteiro de Teste de Funcionamento do Módulo conversor TTL para RS485 Arduino
O Módulo conversor TTL para RS485 é um módulo utilizado para conversão de dados TTL para o protocolo RS485, ou RS485 para TTL. No contexto da utilização do módulo junto a embarcados como Arduino, o módulo se mostra bastante eficiente, permitindo a conexão de vários periféricos conectados ao sistema, podendo atuar com vários escravos em uma conexão, juntamente a uma alta velocidade de transmissão de dados. Além de atuar com grande performance em ambientes ruidosos e de longas distâncias.
O Módulo conversor TTL para RS485 Arduino é amplamente utilizado em aplicações em que são necessárias a transmissão de comunicação de um Arduino em linguagem TTL para um protocolo RS485, ou vice e versa, podendo atuar em aplicações de controle industrial e sistemas de automação.
Principais elementos que compõe o Módulo conversor TTL para RS485 Arduino
Pino VCC – +5V Alimentação Positiva
Pino B – Inversor da Entrada do Receptor e a Saída do Driver
Pino A – Entrada do Receptor Não Inversor e Saída do Driver
GND – Terra
Borne Comum a A e B – Pontos A e B comum aos pinos A e B
LED Indicador – Led Indicador de funcionamento
DI – Entrada do Driver
DE – Ativação da Saída do Driver
RE – Habilitação de Saída do Receptor
RO – Saída do Receptor
Chip MAX485 – Chip conversor TTL para RS485, composto

Diagrama eletrônico dos Módulos conversores TTL para RS485, conectados como emissor e receptor respectivamente

Conexão Módulo Emissor
Pino VCC Módulo Emissor conectado ao 5V
Pino B Módulo Emissor conectado ao B do Módulo Receptor
Pino A Módulo Emissor conectado ao A do Módulo Receptor
Pino GND Módulo Emissor conectado ao GND
Pino RO Módulo Emissor conectado ao Pino 10 Arduino Emissor
Pino RE e DE do Módulo Emissor conectados ao Pino 3 Arduino Emissor
Pino DI Módulo Emissor conectados ao Pino 11 Arduino Emissor
Pino A0 Arduino Emissor conectado ao pino 1 do botão, o pino 2 do botão no GND
Conexão Módulo Receptor
Pino VCC Módulo Receptor conectado ao 5V
Pino B Módulo Receptor conectado ao B do Módulo Emissor
Pino A Módulo Receptor conectado ao A do Módulo Emissor
Pino GND Módulo Receptor conectado ao GND
Pino RO Módulo Receptor conectado ao Pino 10 Arduino Receptor
Pino RE e DE Módulo Receptor conectados ao Pino 3 Arduino Receptor
Pino DI Módulo Receptor conectados ao Pino 11 Arduino Receptor
Pino GND Arduino Receptor conectado ao GND Arduino Emissor
Compilação do código para o Emissor

Para utilização do Módulo conversor TTL para RS485 Arduino como Emissor, conecte o cabo de comunicação do Arduino Emissor com o computador, e em seguida copie o software “Emissor” disponibilizado na descrição do vídeo ou e em “Roteiro de Teste de funcionamento Módulo conversor TTL para RS485”; cole o software na IDE do Arduino e compile-o para o Arduino Emissor, como na imagem a seguir.

Abra o monitor Serial, e pressione o Botão para enviar os dados ao receptor. A mensagem “Botão pressionado. Enviando dados!” será exibida.

Compilação do código para o Receptor


Os dados de botão pressionado serão enviados ao receptor, porém, como ainda não compilamos o código para ele, nada será recebido. Para recebimento, iremos compilar o código “RECEPTOR” para o Arduino receptor, de modo que ele possa receber os dados por meio do Módulo Receptor conversor TTL para RS485. Para isso, vamos alimentar o Arduino emissor com uma fonte externa. E colocaremos o cabo de interface entre o Arduino Receptor e o computador, para a transferência do software para o receptor, e análise do recebimento do sinal emitido pelo Botão.
Abra o monitor Serial do programa compilado para o Receptor, e pressione o Botão conectado ao emissor para enviar os dados ao receptor. A mensagem “Botão pressionado. Recebendo Dados” será exibida, comprovando a comunicação entre Emissor e Receptor, com atuação dos Módulos conversores TTL para RS485.

Softwares RECEPTOR e EMISSOR
Software RECEPTOR:
/*************** Eletrodex Eletrônica ******************
Teste Conversor TTL para RS485 Arduino - RECEPTOR
******************************************************/
#include
//Pinos de comunicacao serial do modulo RS485
#define Pino_RS485_RX 10
#define Pino_RS485_TX 11
//Pino de controle transmissao/recepcao
#define SerialTxControle 3
#define RS485Emissor HIGH
#define RS485Receptor LOW
//Define led 13 para mostrar atividade na comunicacao
#define Pin13LED 13
//Cria a serial por sofware para conexao com modulo RS485
SoftwareSerial RS485Serial(Pino_RS485_RX, Pino_RS485_TX);
//Armazena os dados que chegam pela serial
String inputString = "";
//Variavel de string completa
boolean stringComplete = false;
void setup()
{
//Inicializa a serial do Arduino
Serial.begin(9600);
Serial.println(" -------------- ELETRODEX ELETRÔNICA --------------");
Serial.println("Teste Módulo conversor TTL para RS485 Arduino");
Serial.println("Aguardando dados do Emissor...");
Serial.println("Pressione o Botão...");
pinMode(Pin13LED, OUTPUT);
pinMode(SerialTxControle, OUTPUT);
//Coloca o modulo RS485 em modo de recepcao
digitalWrite(SerialTxControle, RS485Receptor);
//Inicializa a serial do modulo RS485
RS485Serial.begin(4800);
}
void loop()
{
//Recebe os dados do RS485 via porta serial
if (RS485Serial.available())
{
while (RS485Serial.available())
{
//Recebe os dados e monta a string
char inChar = (char)RS485Serial.read();
inputString += inChar;
if (inChar == 'n')
{
//Mostra no Serial Monitor a string recebida
Serial.print(inputString);
stringComplete = true;
inputString = "";
}
}
}
}
Software EMISSOR:
/*************** Eletrodex Eletrônica ******************
Teste Conversor TTL para RS485 Arduino - EMISSOR
******************************************************/
#include
//Pinos de comunicacao serial do modulo RS485
#define Pino_RS485_RX 10
#define Pino_RS485_TX 11
//Pino de controle Emissao/recepcao
#define SerialTxControle 3
#define RS485Emit HIGH
#define RS485Receber LOW
//Define led 13 para mostrar atividade na comunicacao
#define Pin13LED 13
//Cria a serial por sofware para conexao com modulo RS485
SoftwareSerial RS485Serial(Pino_RS485_RX, Pino_RS485_TX);
void setup()
{
//Inicializa a serial do Arduino
Serial.begin(9600);
Serial.println(" -------------- ELETRODEX ELETRÔNICA --------------");
Serial.println("Teste Módulo conversor TTL para RS485 Arduino");
Serial.println("Pressione o botao para enviar os dados...");
pinMode(Pin13LED, OUTPUT);
pinMode(SerialTxControle, OUTPUT);
//Inicializa a serial do modulo RS485
RS485Serial.begin(4800);
//Seta o pino A0 como entrada e habilita o pull up
pinMode(A0, INPUT_PULLUP);
}
void loop()
{
//Verifica se o botao foi pressionado
int valor = digitalRead(A0);
if (valor == 0)
{
Serial.println("Botao pressionado. Enviando dados!");
//Habilita o modulo para transmissao
digitalWrite(SerialTxControle, RS485Emit);
//Envia a string
RS485Serial.println("Botao pressionado. Recebendo Dados");
//Liga o led 13 para mostrar que ha conexao
digitalWrite(Pin13LED, HIGH);
delay(10);
digitalWrite(Pin13LED, LOW);
//Desabilita o modulo para transmissao
digitalWrite(SerialTxControle, RS485Receber);
while (digitalRead(A0) == 0)
{
delay(50);
}
}
}



