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
- Dupont wire x 1 conjunto
- Micro USB Cable for ESP32 x 1
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.

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.

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.

| 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

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.