Arduino Nano ESP32 - RS485
Este tutorial ensina como usar a comunicação RS485 com o ESP32. Em detalhes, vamos aprender os seguintes aspectos:
- Como conectar o Arduino Nano ESP32 e o módulo TTL para RS485.
- Como programar o Arduino Nano ESP32 para obter dados do módulo TTL para RS485.
- Como programar o Arduino Nano ESP32 para transmitir dados ao módulo TTL para RS485.
- Como enviar dados do seu PC para o Arduino Nano ESP32 via RS485 e vice-versa.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Módulo TTL para RS485
Ao usar a comunicação serial no Arduino Nano ESP32 com funções como Serial.print(), Serial.read() e Serial.write(), a transmissão de dados acontece pelo pino TX, enquanto a recepção de dados ocorre pelo pino RX. Esses pinos operam em nível TTL, tratando sinais com alcance limitado. Portanto, para a comunicação serial a longas distâncias, é necessário converter o sinal TTL para padrões como RS232, RS485 ou RS422.
Neste tutorial, vamos nos aprofundar no uso do RS485 (também conhecido como RS-485) com o Arduino Nano ESP32, empregando um módulo TTL para RS485. Esse módulo facilita a conversão de sinais TTL em sinais RS485 e vice-versa, permitindo uma comunicação confiável a longas distâncias.
Pinagem
O módulo RS485 para TTL possui duas interfaces:
- Interface TTL (conectada ao Arduino Nano ESP32):
- Pino VCC: Este pino de alimentação deve ser conectado ao VCC (5V ou 3.3V).
- Pino GND: Este pino de alimentação deve ser conectado ao GND (0V).
- Pino RXD: Este pino de dados deve ser conectado a um pino TX do Arduino Nano ESP32.
- Pino TXD: Este pino de dados deve ser conectado a um pino RX do Arduino Nano ESP32.
- Interface RS485:
- Pino D+ (A ou TR+): Este pino facilita a comunicação de dados.
- Pino D- (B ou TR-): Este pino é utilizado para a transmissão de dados.
- Pino GND: Embora opcional, é fortemente recomendado incluir este pino para reduzir a interferência de ruído, garantindo o desempenho ideal.

Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Como Programar o Arduino Nano ESP32 para usar o módulo RS485
- Defina os pinos serial:
- Inicialize a interface Serial:
- Para ler os dados que chegam do RS485, você pode usar as seguintes funções:
- Para escrever dados no RS485, você pode usar as seguintes funções:
- E mais funções para usar com o RS485 na referência de Serial
Código Arduino Nano ESP32
Testando
Você pode fazer um teste enviando dados do seu PC para o Arduino Nano ESP32 via RS-485 e vice-versa. Para isso, siga os passos abaixo:
- Conecte o Arduino Nano ESP32 ao seu PC por meio de um cabo RS485 para USB, como abaixo:

- Abra o programa de Terminal Serial e configure os parâmetros Serial (porta COM, baurate...)
- Digite alguns dados no Terminal Serial para enviá-los ao ESP32.
- Se tudo der certo, você verá os dados de eco no Terminal Serial.