Skip to Content

Interligar ESP32 e Sensor Ultrassónico Impermeável JSN-SR04T – Um Tutorial Detalhado

Interligar ESP32 e Sensor Ultrassónico Impermeável JSN-SR04T – Um Tutorial Detalhado

Neste artigo, vou mostrar como usar o sensor ultrassónico impermeável JSN-SR04T com um microcontrolador ESP32.

O sensor JSN-SR04T é usado em várias aplicações, incluindo condução autónoma, prevenção de colisões, deteção de movimento e muito mais. 

As características adicionais de impermeabilidade tornam-no um sensor adequado para uso exterior, permitindo-lhe criar ainda mais projetos sem limitar o âmbito das aplicações. 

Vai aprender tudo sobre o sensor JSN-SR04T, e eu vou ensinar como ligá-lo a um ESP32, fornecer um código funcional para testar o sensor com o ESP32, e também responder às perguntas mais frequentes sobre ele.

Vai encontrar os princípios básicos de funcionamento, características elétricas, aplicações, dicas e truques sobre projetos que envolvem o JSN-SR04T. 

Vamos começar!

Componentes Necessários Para Construir o Projeto ESP32 e Sensor JSN-SR04T

Componentes de Hardware

Software

Guia

Makerguides.com participa no Programa de Associados da Amazon Services LLC, um programa de publicidade afiliada concebido para fornecer meios para sites ganharem comissões ao publicitar e ligar a produtos na Amazon.com.

Fundamentos do Sensor JSN-SR04T

Vamos entender o princípio básico de funcionamento, características, pinagem e aplicações do sensor ultrassónico impermeável JSN-SR04T. Conhecer estes detalhes dá-lhe confiança para construir projetos a longo prazo.

No final deste artigo, estará confiante para construir e depurar projetos com o sensor ultrassónico JSN-SR04T.

Os sensores JSN-SR04T disponíveis comercialmente são mostrados na imagem abaixo. O sensor não faz parte diretamente da placa PCB, mas é destacável. Isso permite colocar confortavelmente o sensor (pára-choques do veículo) e proteger a PCB de ambientes agressivos.

JSN-SR04T sensor module
Módulo do sensor JSN-SR04T

O sensor é impermeável, permitindo que seja selado em condições húmidas e adversas. 

O sensor JSN-SR04T é único. Suporta múltiplos modos de operação. Um dos modos é o famoso modo HC-SR04, que aceita um sinal de trigger e fornece um pulso de eco correspondente ao tempo que o som demora a viajar e refletir num objeto. 

Pode usar a referência abaixo para consultar rapidamente a pinagem do módulo do sensor ultrassónico impermeável JSN-SR04T.

JSN-SR04T waterproof ultrasonic sensor module pinout
Pinagem do módulo do sensor JSN-SR04T

O JSN-SR04T também suporta outros modos, como explicado na secção abaixo. 

Modos de Operação do JSN-SR04T

Modo 0 do Sensor JSN-SR04T

No Modo 0, o sensor imita o funcionamento do sensor ultrassónico HC-SR04. Este é o modo padrão em que a PCB chega. 

Modo 1 do Sensor JSN-SR04T

Que tal um sensor ultrassónico que calcula a distância sozinho e lhe envia o valor medido serialmente? É isso que o Modo 1 faz. Sem carga para o ESP32. 

Nada para calcular. Apenas receba a distância medida diretamente do sensor pela porta serial. 

Para ativar o Modo 1, faça um curto-circuito nas pequenas pads relacionadas com o pad M1.

Mode 1 of JSN-SR04T Sensor
Cabeçalho Dado 1 Dado 0 Checksum
0xFF, indica o início do bloco de dados Byte mais alto dos dados de 16 bits Byte mais baixo dos dados de 16 bits Soma dos três bytes

Modo 2 do Sensor JSN-SR04T

Este modo é igual ao modo 1. Neste caso, os dados não são enviados automaticamente pelo sensor. Tem de enviar um pedido pela porta serial. 

Para ativar o Modo 2, faça um curto-circuito nas pequenas pads relacionadas com o pad M2. 

Modo 3 do Sensor JSN-SR04T

O Modo 3 é igual ao Modo 1 (Modo HC-SR04). Aqui não espera pelo sinal de trigger do host (ESP32). Ele auto-dispara a cada 200 ms e fornece o pulso na entrada de eco. 

Para ativar o Modo 3, coloque um resistor de 200 K ohms no pad “mode”.

Modo 4 do Sensor JSN-SR04T

O Modo 4 é igual ao Modo 1 (Modo HC-SR04) com consumo ultra-baixo de energia.

Para ativar o Modo 4, coloque um resistor de 360 K ohms no pad “mode”.

Modo 5 do Sensor JSN-SR04T

O Modo 5 funciona como um interruptor pré-configurado. O pino de eco alterna quando o sensor deteta qualquer objeto a uma distância inferior a 1,5 m.

Para ativar o Modo 5, coloque um resistor de 470 K ohms no pad “mode”.

Características do Sensor JSN-SR04T

Aqui estão as características do sensor JSN-SR04T resumidas numa tabela.

Parâmetro Alcance
Tensão de Operação DC 3 V a 5,5 V
Corrente de funcionamento Menos de 8 mA
Frequência de sonda 40 kHz
Alcance máximo 600 cm
Alcance mínimo 20 cm
Precisão da distância 10 mm
Resolução 1 mm
Ângulo de medição 75°
Temperatura de operação -20 °C a 70 °C

Aplicações do sensor JSN-SR04T

Os sensores ultrassónicos são usados em várias aplicações. Ajudam a poupar energia, melhorar a experiência do utilizador e acrescentar conforto e segurança. Aqui estão algumas aplicações comuns:

Medir distância: A medição de distância é uma funcionalidade crucial do sensor ultrassónico, útil em assistência de estacionamento, navegação robótica e automação industrial.

Deteção de objetos: Pode usar o sensor JSN-SR04T para detetar objetos, movimentos de animais de estimação, sistemas de segurança para detetar pessoas em locais restritos, etc.

Medição de nível: Pode usar o sensor para medir níveis de líquidos em tanques, caldeiras industriais e a quantidade de itens restantes em recipientes. 

Por exemplo, pode construir um contentor de lixo inteligente que abre a tampa automaticamente. 

Também pode ter sensores ultrassónicos montados na sua secretária para detetar a sua presença. Se se levantar e se afastar, pode desligar automaticamente candeeiros e ventoinhas!

As possibilidades com o JSN-SR04T são muitas – o que está a construir? Conte-me na secção de comentários abaixo.

Instruções Para Ligar o Módulo Sensor JSN-SR04T ao ESP32

Vou mostrar como construir um projeto usando ESP32 e o sensor de distância ultrassónico JSN-SR04T. Vamos começar pelas ligações de hardware.

Passo 1: Complete as ligações de hardware

Connecting JSN-SR04T to ESP32
Ligação do JSN-SR04T ao ESP32

O módulo do sensor ultrassónico JSN-SR04T tem uma opção de conector de 4 pinos para interface com microcontroladores. 

As ligações são simples de entender e seguir, como mostrado no diagrama acima.

Comece sempre pelas ligações à terra. Alimente todo o sistema apenas depois de completar todas as ligações.

Aqui está o resumo das ligações entre o ESP32 e o sensor JSN-SR04T. 

  • Ligue o pino GND do sensor aos pinos GND do ESP32. 
  • Ligue o pino VCC do sensor ao pino 5V do ESP32.
  • Ligue o pino GPIO5 do ESP32 ao pino TRIG do sensor.
  • O pino ECHO do sensor vai para o GPIO18 do ESP32.
Pinos do Sensor Ultrassónico JSN-SR04T Pinos do ESP32
VCC 5V
TRIG GPIO5
ECHO GPIO18
GND GND

Estou a usar GPIO5 e GPIO18 para os pinos TRIG e ECHO, respetivamente, no meu exemplo. 

Pode escolher outros pinos no ESP32. Se usar outros pinos, edite o código em conformidade.

Passo 2: Programe o ESP32 com o código abaixo

Siga o próximo passo para entender a implementação do código. Pode usar o código abaixo para testar o módulo ESP32 e o sensor ultrassónico JSN-SR04T ligado.

#define echoPin 18 // attach pin GPIO18 to pin Echo of JSN-SR04
#define trigPin 5  // attach pin GPIO5 ESP32 to pin Trig of JSN-SR04                     

long duration; // Time taken for the pulse to reach the receiver
int distance; 

void setup()
{
  pinMode(trigPin, OUTPUT); 
  pinMode(echoPin, INPUT);  
  Serial.begin(9600);
  Serial.println("Distance measurement using JSN-SR04T");
  delay(500);
}

void loop()
{
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2); 

  digitalWrite(trigPin, HIGH); // turn on the Trigger to generate pulse
  delayMicroseconds(10); // keep the trigger "ON" for 10 ms to generate pulse
  digitalWrite(trigPin, LOW); // Turn off the pulse trigger to stop pulse

  // If pulse reached the receiver echoPin
  // become high Then pulseIn() returns the
  // time taken by the pulse to reach the receiver
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.0344 / 2; 

  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");
  delay(100);
}

Passo 3: Explicação do Código

Explicação do Código:

Vamos analisar o código. Vai medir a distância entre o obstáculo e o elemento sensor ultrassónico do JSN-SR04T neste exemplo. 

Vamos começar!

#define echoPin 18 // attach pin GPIO18 of ESP32 to pin Echo of JSN-SR04
#define trigPin 5  // attach pin GPIO5 of ESP32 to pin Trig of JSN-SR04

As linhas usadas para ligar o sensor JSN-SR04T ao ESP32 são: echoPin é usado para receber o sinal de eco do sensor, e trigPin é usado para disparar o sensor para enviar um pulso ultrassónico.

long duration;
int distance;

Declare duas variáveis: duration e distance.

  • duration é usada para armazenar o tempo que o sinal ultrassónico demora a refletir de volta para o sensor
  • distance é usada para armazenar a distância calculada em cm.

A função setup() é chamada uma vez quando o programa começa. Nesta função, o trigPin é configurado como pino de saída, e o echoPin como pino de entrada. 

Serial.begin(9600) inicializa a comunicação serial a uma taxa de 9600 baud e a instrução Serial.println() seguinte é usada para imprimir uma mensagem no monitor serial. 

A função delay(500) espera 500 ms antes de continuar para a função loop().

A função loop() é chamada repetidamente durante o programa. 

Este código começa por enviar um sinal baixo para o trigPin durante 2 us. Depois envia um sinal alto para o trigPin durante 10 microssegundos para gerar um pulso de 10 ms. Após o pulso ser gerado, o trigPin é desligado.

A função pulseIn() é então usada para calcular a duração do pulso. Esta função espera que o pulso chegue ao echoPin e depois mede o tempo que o pulso demora a regressar. 

  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.0344 / 2;

Pode converter o atraso em distância usando a informação da velocidade do som.  (aproximadamente 344 m/s).

  Serial.print("Distance: ");
  Serial.print(distance); 
  Serial.println(" cm");
  delay(100);

Finalmente, o valor da distância é impresso no monitor serial. O programa espera então 100 ms. Toda a operação será repetida.

Perguntas Frequentes Sobre os Sensores JSN-SR04T

Incluí uma lista das perguntas mais frequentes sobre projetos construídos usando o ESP32 e os sensores JSN-SR04T:

Para que serve o sensor ultrassónico JSN-SR04T?

O JSN-SR04T é um sensor ultrassónico impermeável. Pode usá-lo para medir distâncias entre objetos. Funciona enviando ondas sonoras de alta frequência e medindo o tempo que demoram a regressar. 

Qual é a tensão de operação do sensor JSN-SR04T?

O sensor ultrassónico JSN-SR04T opera a uma tensão de 5 V DC. Consulte a folha de dados do módulo que comprar para garantir segurança. 

Qual é o alcance máximo de deteção do sensor JSN-SR04T?

O alcance máximo de deteção do sensor JSN-SR04T é cerca de 4 m. Algumas variantes oferecem um alcance ainda maior, à custa de menor precisão. 

O sensor JSN-SR04T pode ser usado em ambientes exteriores?

O sensor JSN-SR04T pode ser usado no exterior. O sensor JSN é impermeável. Pode ser usado em ambientes húmidos e agressivos. As outras operações são semelhantes às dos sensores HC-SR04. 

Qual é a precisão do sensor JSN-SR04T?

Tem uma precisão de cerca de 3 mm. Pode calibrar o sensor uma vez para o ambiente específico para melhores resultados. A precisão depende também da temperatura, humidade e outros fatores ambientais. 

O sensor JSN-SR04T funciona em diferentes condições de iluminação?

Sim, o sensor JSN-SR04T funciona em diferentes condições de iluminação, pois não depende da luz visível. Funciona com base no tempo que o som demora a percorrer uma distância adequada. 

Quais são as dimensões do sensor JSN-SR04T?

O sensor JSN-SR04T tem dimensões de 45 mm x 20 mm x 15 mm. A extensão do sensor vem com um cabo de 2,5 m de comprimento. Pode variar também.

Conclusão

Este artigo cobriu toda a informação essencial sobre os sensores JSN-SR04T. Dei-lhe informação completa sobre o funcionamento do sensor JSN-SR04 e as aplicações para as quais podemos usá-lo. 

O princípio básico de funcionamento e algumas dicas e truques sobre o uso do JSN-SR04T devem ajudá-lo a usar o sensor com confiança no seu próximo projeto. 

Também partilhei um guia de ligação do ESP32 e um código de exemplo com explicação.

Se tiver mais perguntas sobre os sensores ultrassónicos, por favor coloque-as na secção de comentários. 

Diga-nos se há algo mais que gostaria que eu abordasse em futuros artigos.

Oscar

Sunday 1st of March 2026

Minha SR04M possui dois espaços vazios e não consigo fazer ela gerar medida de distância. Ela simplesmente não funcionou em nenhum boundrate que tentei.

Stefan Maetschke

Monday 2nd of March 2026

Olá, as placas SR04M ou JSN-SR04T geralmente têm apenas um pad de jumper para o resistor de modo. Normalmente esse jumper fica vazio (Modo 0) e o código do tutorial funciona com Arduino e ESP32 — eu testei com ambos.

A taxa de serial (baud rate) é importante apenas para exibir as medições no Monitor Serial, mas não afeta a comunicação com a placa.