ESP32 es una placa IoT basada en microcontroladores de uso común. Es una placa de microcontrolador de bajo costo y baja potencia que puede controlar múltiples dispositivos y también puede actuar como esclavo en un proyecto IoT. ESP32 mejora la experiencia de los usuarios con el mundo de IoT, ya que tiene módulos integrados de Wi-Fi y Bluetooth.
Como estamos hablando de aplicaciones inalámbricas de ESP32, también podemos integrar sensores externos con él para realizar diferentes tareas, como medir la distancia de los objetos utilizando sensores ultrasónicos. Ahora hablemos de cómo hacer esto en detalle.
ESP32 con sensor ultrasónico HC-SR04
ESP32 se puede integrar fácilmente con un sensor ultrasónico. Solo necesitamos dos cables para medir cualquier distancia de objeto sin necesidad de una regla o cinta de medir. Tiene una vasta aplicación en la que es difícil usar cualquier otro medio para medir la distancia. Hay múltiples sensores disponibles que se pueden integrar con ESP32.
HC-SR04 es un sensor ultrasónico ampliamente utilizado con ESP32. Este sensor determina qué tan lejos está un objeto. Utiliza sonar para determinar la distancia de objeto. Normalmente tiene un buen rango de detección con una precisión de 3 mm, sin embargo, a veces es difícil medir la distancia de los materiales blandos como la tela. Tiene un transmisor y receptor incorporados. La siguiente tabla describe las especificaciones técnicas de este sensor.
Características | Valor |
Tensión de funcionamiento | 5V DC |
Corriente operativa | 15 mA |
Frecuencia de operación | 40 kHz |
Rango mínimo | 2 cm/ 1 pulgada |
Rango máximo | 400 cm/ 13 pies |
Exactitud | 3 mm |
Ángulo de medición | <15 degree |
HC-SR04 PINOUT
Sensor ultrasónico HC-SR04 tiene cuatro pines:
Cómo funciona ultrasónico
Una vez que el sensor ultrasónico está conectado a ESP32, el microcontrolador generará un pulso de señal en el Trigonometría alfiler. Después de que los sensores reciban una entrada en el pin trig, se genera automáticamente una onda ultrasónica. Esta ola emitida golpeará la superficie de un obstáculo u objeto cuya distancia debemos medir. Después de eso, la ola ultrasónica se recuperará al terminal del receptor del sensor.
El sensor ultrasónico detectará la onda reflejada y calculará el tiempo total tomado por la onda de un sensor a otro y volverá al sensor nuevamente. El sensor ultrasónico generará un pulso de señal en el pin de eco que está conectado a pines digitales ESP32 una vez que el ESP32 reciba la señal del pin de eco, calcula la distancia total entre el objeto y el sensor usando Formula de distancia.
Aquí dividimos la distancia con 2 porque la velocidad de multiplicación con el tiempo dará la distancia total del objeto al sensor y de regreso al sensor después de reflexionar desde la superficie del objeto. Para obtener una distancia real, dividimos esta distancia en la mitad.
Circuito
Interfaz ESP32 con sensor ultrasónico usando los cuatro pines como se muestra en la imagen a continuación:
Se seguirá la siguiente configuración para conectar ESP32 con un sensor Ultrasonic. Los pines Trig y Echo se conectarán en GPIO 5 y 18 pines de ESP32.
Sensor ultrasónico HC-SR04 | Alfiler |
Trigonometría | GPIO 5 |
Eco | GPIO 18 |
Gnd | Gnd |
VCC | Empuje |
Hardware
Para la interfaz de ESP32 con el sensor ultrasónico, se requiere el siguiente equipo:
Código en Arduino IDE
Para programar ESP32 usaremos Arduino IDE, ya que ESP32 y Arduino tienen mucho en común en la programación, por lo que es mejor usar el mismo software para programarlos. Abra Arduino IDE y escriba el siguiente código:
const int trig_pin = 5;El código anterior explica el funcionamiento del sensor ultrasónico con el módulo ESP32. Aquí comenzamos nuestro código definiendo Trigger y Echo Pins. El pin 5 y el pin 18 de ESP32 se configuran como disparador y pin de eco respectivamente.
const int trig_pin = 5;La velocidad del sonido se define como 0.034 cm/EE. UU. A 20ºC. Estamos tomando valores en CM/US para más precisión.
#define Sound_speed 0.034Luego inicializamos dos variables duración y Dist_cm como sigue
Larga duración;La variable de duración ahorrará el tiempo de viaje de ondas ultrasónicas. DIST_CM guardará la distancia medida.
En el configuración() Parte Primera comunicación inicializada definiendo la tasa de baudios. Dos pines definidos anteriormente ahora se declararán como entrada y salida. Pasador de gatillo 5 se establece como salida mientras el pin de eco 18 se establece como entrada.
De serie.comenzar (115200);En el bucle() Parte del código primero borraremos el pasador de activación configurándolo bajo y dará 2 retrasos en microsegundos, entonces estableceremos este pin como alto para 10 microsegundos. La razón por la que estamos haciendo esto es asegurar la lectura correcta, al mide la distancia, nos dará un pulso limpio y alto.
DigitalWrite (trig_pin, bajo); /* El pasador de activación está bordeado*/Siguiente usando pulso función leeremos el tiempo de viaje de onda de sonido. pulso la función lee una entrada tan alta o baja. Devuelve la longitud del pulso en microsegundos utilizando esta longitud de pulso, podemos calcular el tiempo total tomado por la onda del sensor al que el cuerpo del objeto y el extremo receptor del sensor.
duración = pulsein (echo_pin, alto);Luego, utilizando la fórmula de velocidad, calculamos la distancia total del objeto:
Dist_cm = Duración * Sound_speed/2;La distancia medida por el objeto se imprime en el monitor en serie:
De serie.imprimir ("Distancia del objeto en (cm):");Cuando el objeto está cerca
Ahora coloque un objeto cerca del sensor ultrasónico y verifique la distancia medida en la ventana del monitor en serie de Arduino IDE.
Producción
La distancia del objeto se muestra en el terminal de salida. Ahora el objeto se coloca a 5 cm del sensor ultrasónico.
Cuando el objeto está lejos
Ahora, para verificar nuestro resultado, colocaremos objetos lejos del sensor y verificaremos el funcionamiento del sensor ultrasónico. Coloque los objetos como se muestran en la imagen a continuación:
Producción
La ventana de salida nos dará una nueva distancia y, como podemos ver, ese objeto está lejos del sensor, por lo que la distancia medida está a 15 cm del sensor ultrasónico.
Conclusión
La distancia de medición tiene una gran aplicación cuando se trata de robótica y otros proyectos, hay diferentes formas de medir la distancia, uno de los métodos ampliamente utilizados para medir la distancia con ESP32 es usar un sensor ultrasónico. Aquí este artículo cubrirá todos los pasos que uno necesita para integrar y comenzar a medir sensores con ESP32.