ESP32 RS232

Neste tutorial, vamos aprender a usar a comunicação RS232 com o ESP32. Em detalhes, vamos aprender:

RS232 RS232

Sobre o Módulo TTL para RS232

Quando você usa a comunicação serial com as funções Serial.print(), Serial.read(), Serial.write() ... no ESP32, o ESP32 envia dados pelo pino TX ou lê os dados que chegam pelo pino RX. Os sinais nos pinos TX e RX têm nível TTL. Esse sinal não consegue ir longe. Por isso, quando você quer usar a comunicação serial a longas distâncias, precisa converter o sinal TTL em um sinal RS232, RS485 ou RS422.

O módulo TTL para RS232 converte o sinal TTL em sinal RS232 e vice-versa.

Pinagem

O módulo RS232 para TTL tem duas interfaces:

  • A interface TTL (conectada ao ESP32) inclui 4 pinos
    • Pino VCC: pino de alimentação, deve ser conectado a VCC (5V/3.3V)
    • Pino GND: pino de alimentação, deve ser conectado a GND (0V)
    • Pino RXD: pino de dados, deve ser conectado a um pino RX do ESP32
    • Pino TXD: pino de dados, deve ser conectado a um pino TX do ESP32
  • A interface RS232: conector D-Sub DB9 fêmea, conecte-o ao dispositivo serial
Pinagem do RS232

Diagrama de Ligação

  • Como conectar o ESP32 e o módulo RS232 para TTL usando uma protoboard
Diagrama de Ligação do ESP32 com TTL para RS232

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

Diagrama de Ligação do ESP32 com RS232 para TTL

This image is created using Fritzing. Click to enlarge image

Como Programar o ESP32 para usar o módulo RS232

Serial.begin(9600); // Serial Monitor Serial2.begin(9600, SERIAL_8N1, 16, 17); // RS232

Código ESP32 para RS232

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-rs232 */ void setup() { // start communication with baud rate 9600 Serial.begin(9600); // Serial Monitor Serial2.begin(9600, SERIAL_8N1, 16, 17); // RS232 // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on Serial if (Serial2.available()) { char data = Serial2.read(); // read the received character Serial.print(data); // print the recived data to Serial Monitor } }

Testando

Você pode fazer um teste transmitindo dados entre o seu PC e o ESP32 via RS232, nos dois sentidos. Siga os passos abaixo:

Comunicação do ESP32 RS232 com o PC
  • A conexão real com o cabo RS232 para USB é mostrada abaixo:
Cabo RS232 para USB do ESP32
  • Instale um programa de terminal serial, como o Tera Term ou o PuTTY.
  • Abra o programa de terminal serial e configure os parâmetros Serial (porta COM, baud rate etc.).
  • Digite alguns dados no terminal serial para enviá-los ao ESP32.
  • Se o teste der certo, você verá os dados de eco no terminal serial.

Vídeo

Tutoriais Relacionados

※ 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!