En este artículo, te mostraré cómo usar el sensor ultrasónico impermeable JSN-SR04T con un microcontrolador ESP32.
El sensor JSN-SR04T se utiliza en diversas aplicaciones, incluyendo conducción autónoma, evitación de colisiones, detección de movimiento y más.
Las características adicionales impermeables lo convierten en un sensor apto para exteriores, permitiéndote crear aún más proyectos sin limitar el alcance de las aplicaciones.
Aprenderás todo sobre el sensor JSN-SR04T, te enseñaré cómo conectarlo a un ESP32, te proporcionaré un código funcional para probar el sensor con ESP32 y también responderé las preguntas más frecuentes sobre él.
Encontrarás principios básicos de funcionamiento, características eléctricas, aplicaciones, consejos y trucos sobre proyectos que involucran el JSN-SR04T.
¡Comencemos!
Componentes necesarios para construir el proyecto con ESP32 y sensor JSN-SR04T
Componentes de hardware
- Dupont wire x 1 set
- Micro USB Cable for ESP32 x 1
Software
Guía
Makerguides.com participa en el Programa de Asociados de Amazon Services LLC, un programa de publicidad afiliada diseñado para proporcionar un medio para que los sitios ganen comisiones publicitarias mediante la publicidad y enlace a productos en Amazon.com.
Fundamentos del sensor JSN-SR04T
Vamos a entender el principio básico de funcionamiento, características, pines y aplicaciones del sensor ultrasónico impermeable JSN-SR04T. Conocer estos detalles te dará confianza para construir proyectos a largo plazo.
Al final de este artículo, tendrás confianza para construir y depurar proyectos con el sensor ultrasónico JSN-SR04T.
Los sensores JSN-SR04T comúnmente disponibles se muestran en la imagen a continuación. El sensor no forma parte directamente del CB, pero es desmontable. Esto te permite colocar cómodamente el sensor (parachoques del vehículo) y proteger la PCB de ambientes adversos.

El sensor es impermeable, lo que permite sellarlo en condiciones húmedas y adversas.
El sensor JSN-SR04T es único. Soporta múltiples modos de operación. Uno de ellos es el famoso modo HC-SR04, que acepta una señal de disparo y proporciona un pulso de eco correspondiente al tiempo que tarda el sonido en viajar y rebotar en cualquier objeto.
Puedes usar la referencia a continuación para consultar rápidamente los pines del módulo sensor ultrasónico impermeable JSN-SR04T.

El JSN-SR04T también soporta otros modos, como explica la sección siguiente.
Modos de operación del JSN-SR04T
Modo 0 del sensor JSN-SR04T
En el Modo 0, el sensor imita el funcionamiento del sensor ultrasónico HC-SR04. Este es el modo predeterminado en que llega la PCB.
Modo 1 del sensor JSN-SR04T
¿Qué tal un sensor ultrasónico que calcule la distancia por sí mismo y te envíe el valor medido por serie? Eso es lo que hace el Modo 1. Sin carga para el ESP32.
No hay nada que calcular. Solo recibe la distancia medida directamente desde el sensor a través del puerto serie.
Para activar el Modo 1, conecta en corto las pequeñas almohadillas relacionadas con el pad M1.

| Encabezado | Dato 1 | Dato 0 | Checksum |
| 0xFF, indica el inicio del bloque de datos | Byte alto de datos de 16 bits | Byte bajo de datos de 16 bits | Suma de los tres bytes |
Modo 2 del sensor JSN-SR04T
Este modo es igual que el modo 1. En este caso, el sensor no envía los datos automáticamente. Debes enviar una solicitud a través del puerto serie.
Para activar el Modo 2, conecta en corto las pequeñas almohadillas relacionadas con el pad M2.
Modo 3 del sensor JSN-SR04T
El Modo 3 es igual que el Modo 1 (Modo HC-SR04). Aquí no esperará la señal de disparo del host (ESP32). Se auto-disparará cada 200 ms y te dará el pulso en la entrada de eco.
Para activar el Modo 3, coloca una resistencia de 200 K ohmios en el pad “mode”.
Modo 4 del sensor JSN-SR04T
El Modo 4 es igual que el Modo 1 (Modo HC-SR04) con consumo ultra bajo de energía.
Para activar el Modo 4, coloca una resistencia de 360 K ohmios en el pad “mode”.
Modo 5 del sensor JSN-SR04T
El Modo 5 actúa como un interruptor preconfigurado. El pin de eco cambiará de estado cuando el sensor detecte cualquier objeto dentro de una distancia de 1.5 m.
Para activar el Modo 5, coloca una resistencia de 470 K ohmios en el pad “mode”.
Características del sensor JSN-SR04T
Aquí tienes las características del sensor JSN-SR04T resumidas en una tabla.
| Parámetro | Rango |
| Voltaje de operación | DC 3 V a 5.5 V |
| Corriente de trabajo | Menos de 8 mA |
| Frecuencia de sonda | 40 kHz |
| Rango máximo | 600 cm |
| Rango mínimo | 20 cm |
| Precisión de distancia | 10 mm |
| Resolución | 1 mm |
| Ángulo de medición | 75° |
| Temperatura de operación | -20 °C a 70 °C |
Aplicaciones del sensor JSN-SR04T
Los sensores ultrasónicos se usan en diversas aplicaciones. Ayudan a ahorrar energía, mejorar la experiencia del usuario y añadir comodidad y seguridad. Aquí algunas aplicaciones comunes:
Medición de distancia: La medición de distancia es una función crucial del sensor ultrasónico, útil en asistencia de estacionamiento, navegación robótica y automatización industrial.
Detección de objetos: Puedes usar el sensor JSN-SR04T para detectar objetos, movimientos de mascotas, sistemas de seguridad para detectar personas en lugares restringidos, etc.
Medición de nivel: Puedes usar el sensor para medir niveles de líquidos en tanques, calderas industriales y la cantidad de objetos en contenedores.
Por ejemplo, puedes construir un cubo de basura inteligente que abra la tapa automáticamente.
También puedes montar sensores ultrasónicos en tu escritorio para detectar tu presencia. Si te levantas y te alejas, puede apagar automáticamente lámparas y ventiladores de mesa.
Las posibilidades con el JSN-SR04T son muchas – ¿qué estás construyendo? Cuéntamelo en la sección de comentarios abajo.
Instrucciones para conectar el módulo sensor JSN-SR04T con ESP32
Te mostraré cómo construir un proyecto usando ESP32 y el sensor ultrasónico de distancia JSN-SR04T. Comencemos con las conexiones de hardware.
Paso 1: Completa las conexiones de hardware

El módulo sensor ultrasónico JSN-SR04T tiene una opción de conector de 4 pines para interfaz con microcontroladores.
Las conexiones son también fáciles de entender y seguir, como muestra el diagrama arriba.
Siempre comienza con las conexiones a tierra. Alimenta todo el sistema solo después de completar todas las conexiones.
Aquí tienes un resumen de las conexiones entre ESP32 y el sensor JSN-SR04T.
- Conecta el pin GND del sensor a los pines GND del ESP32.
- Conecta el pin VCC del sensor al pin 5V del ESP32.
- Conecta el pin GPIO5 del ESP32 al pin TRIG del sensor.
- El pin ECHO del sensor va al GPIO18 del ESP32.
| Pines del sensor ultrasónico JSN-SR04T | Pines del ESP32 |
| VCC | 5V |
| TRIG | GPIO5 |
| ECHO | GPIO18 |
| GND | GND |
En mi ejemplo, uso GPIO5 y GPIO18 para los pines TRIG y ECHO, respectivamente.
Puedes elegir otros pines en el ESP32. Si usas otros pines, edita el código en consecuencia.
Paso 2: Programa el ESP32 con el código siguiente
Sigue el siguiente paso para entender la implementación del código. Puedes usar el código abajo para probar el módulo ESP32 y el sensor ultrasónico JSN-SR04T conectado.
#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);
}
Paso 3: Explicación del código
Explicación del código:
Vamos a repasar el código. En este ejemplo medirás la distancia entre el obstáculo y el elemento sensor ultrasónico del JSN-SR04T.
¡Comencemos!
#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
Las líneas usadas para conectar el sensor JSN-SR04T al ESP32 son: echoPin se usa para recibir la señal de eco del sensor, y trigPin se usa para activar el sensor y enviar un pulso ultrasónico.
long duration; int distance;
Declara dos variables: duration y distance.
- duration se usa para almacenar el tiempo que tarda la señal ultrasónica en rebotar y regresar al sensor
- distance se usa para almacenar la distancia calculada en cm.
La función setup() se llama una vez cuando inicia el programa. En esta función, trigPin se configura como pin de salida y echoPin como pin de entrada.
Serial.begin(9600) inicializa la comunicación serial a una velocidad de 9600 baudios y la siguiente instrucción Serial.println() se usa para imprimir un mensaje en el monitor serial.
La función delay(500) espera 500 ms antes de continuar con la función loop().
La función loop() se llama repetidamente durante todo el programa.
Este código comienza enviando una señal baja al trigPin durante 2 us. Luego envía una señal alta al trigPin durante 10 microsegundos para generar un pulso de 10 ms. Después de generar el pulso, el trigPin se apaga.
Luego se usa la función pulseIn() para calcular la duración del pulso. Esta función espera a que el pulso llegue al echoPin y mide el tiempo que tarda en regresar.
duration = pulseIn(echoPin, HIGH); distance = duration * 0.0344 / 2;
Puedes convertir el retardo en distancia usando la velocidad del sonido (aproximadamente 344 m/s).
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(100);
Finalmente, el valor de distancia se imprime en el monitor serial. El programa espera 100 ms y luego repite toda la operación.
Preguntas frecuentes sobre los sensores JSN-SR04T
He incluido una lista de las preguntas más frecuentes sobre proyectos construidos con ESP32 y sensores JSN-SR04T:
¿Para qué se usa el sensor ultrasónico JSN-SR04T?
El JSN-SR04T es un sensor ultrasónico impermeable. Puedes usarlo para medir distancias entre objetos. Funciona enviando ondas sonoras de alta frecuencia y midiendo el tiempo que tardan en regresar.
¿Cuál es el voltaje de operación del sensor JSN-SR04T?
El sensor ultrasónico JSN-SR04T opera a un voltaje de 5 V DC. Consulta la hoja de datos del módulo que compres para estar seguro.
¿Cuál es el rango máximo de detección del sensor JSN-SR04T?
El rango máximo de detección del sensor JSN-SR04T es aproximadamente 4 m. Algunas variantes ofrecen un rango mayor a costa de menor precisión.
¿Se puede usar el sensor JSN-SR04T en ambientes exteriores?
El sensor JSN-SR04T puede usarse en exteriores. El sensor JSN es impermeable y puede usarse en ambientes húmedos y adversos. Su funcionamiento es similar al de los sensores HC-SR04.
¿Qué tan preciso es el sensor JSN-SR04T?
Tiene una precisión de aproximadamente 3 mm. Puedes calibrar el sensor para el entorno específico para mejores resultados. La precisión también dependerá de la temperatura, humedad y otros factores ambientales.
¿Puede el sensor JSN-SR04T funcionar en diferentes condiciones de iluminación?
Sí, el sensor JSN-SR04T puede funcionar en diferentes condiciones de iluminación, ya que no depende de la luz visible. Funciona con el principio del tiempo que tarda el sonido en recorrer una distancia adecuada.
¿Cuáles son las dimensiones del sensor JSN-SR04T?
El sensor JSN-SR04T tiene dimensiones de 45 mm x 20 mm x 15 mm. La extensión del sensor viene con un cable de 2.5 m de longitud. Esto puede variar.
Conclusión
Este artículo ha cubierto toda la información esencial sobre los sensores JSN-SR04T. Te he dado información completa sobre el funcionamiento del sensor JSN-SR04 y las aplicaciones para las que podemos usarlo.
El principio básico de funcionamiento y algunos consejos y trucos sobre el uso del JSN-SR04T deberían ayudarte a usar el sensor con confianza en tu próximo proyecto.
También he compartido una guía de conexión del ESP32 y un código de ejemplo con explicación.
Si tienes más preguntas sobre los sensores ultrasónicos, por favor publícalas en la sección de comentarios.
Déjanos saber si hay algo más que te gustaría que cubriera en futuros artículos.


