Distancia de medición con Esptop 10 usando Arduino IDE

Distancia de medición con Esptop 10 usando Arduino IDE

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:

  • VCC: Conecte este pin al pin de vinculación ESP32
  • GND: Conecte este pin con ESP32 GND
  • Trigonometría: Este pin recibe una señal de control del pin digital ESP32
  • Eco: Este pin envía un pulso o señal de regreso a ESP32. Se mide la señal de pulso posterior recibida para calcular la distancia.

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:

  • ESP32
  • HC-SR04
  • Tablero de circuitos
  • Cables de jersey

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;
const int echo_pin = 18;
#define Sound_speed 0.034/*Definir la velocidad de sonido en CM/US*/
Larga duración;
FLOAT DIST_CM;
setup () void
De serie.comenzar (115200); /* Comunicación en serie Comienza*/
PinMode (trig_pin, salida); /* El pasador de activación 5 se establece como una salida*/
PinMode (echo_pin, entrada); /* Echopin 18 se establece como una entrada*/

bucle void ()
DigitalWrite (trig_pin, bajo); /* El pasador de activación está bordeado*/
retrasarmicrosegundos (2);
DigitalWrite (trig_pin, alto); /*El pasador de activación se establece alto para 10 microsegundos*/
retrasarmicrosegundos (10);
DigitalWrite (trig_pin, bajo);
duración = pulsein (echo_pin, high);/*lee la ecopin y devuelve el tiempo de viaje en microsegundos*/
Dist_cm = Duración * Sound_speed/2; /*Fórmula de cálculo de distancia*/
De serie.imprimir ("Distancia del objeto en (cm):"); /*Imprime la distancia en el monitor en serie*/
De serie.println (DIST_CM);
retraso (1000);

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;
const int echo_pin = 18;

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.034

Luego inicializamos dos variables duración y Dist_cm como sigue

Larga duración;
FLOAT DIST_CM;

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);
PinMode (trig_pin, salida);
PinMode (echo_pin, entrada);

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*/
retrasarmicrosegundos (2);
DigitalWrite (trig_pin, alto); /*El pasador de activación se establece alto para 10 microsegundos*/
retrasarmicrosegundos (10);
DigitalWrite (trig_pin, bajo);

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):");
De serie.println (DIST_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.