Sensor ultrassônico com interface com nodemcu esp8266 12e para medição de distância

Sensor ultrasónico interconectado con Nodemcu ESP8266 12E para medición de distancia

Este es un tutorial sencillo sobre cómo conectar el sensor ultrasónico con el módulo WiFi nodemcu y medir la distancia. Recientemente realicé un proyecto de Internet de las cosas que involucra un sensor ultrasónico y un módulo WiFi nodemcu. El sensor ultrasónico utilizado en el proyecto es el más popular entre la comunidad de circuitos de bricolaje: el sensor ultrasónico hcsr04. Puede encontrar muchos tutoriales en Internet sobre cómo conectar el sensor ultrasónico HCSR04 con Arduino y otros microcontroladores diferentes. Pero interconectar el sensor ultrasónico HCSR04 con el Nodemcu requiere un poco más de esfuerzo para comprender los requisitos de energía de los dos módulos. Hay varios tutoriales en Internet sobre cómo conectar el popular sensor ultrasónico hcsr04 con nodemcu, pero ninguno funcionó para mí, y muchas personas en los comentarios se quejan de las restricciones de energía del circuito. Por lo tanto, en este tutorial detallaré los requisitos de energía de los dos módulos y cómo interconectarlos correctamente.
Fotografía

Distancia de medición del sensor ultrasónico HCSR04

Sensor ultrasónico HC-SR04

El sensor ultrasónico Hcsr04 está compuesto por un transmisor ultrasónico, un receptor ultrasónico y un circuito de control. El transmisor ultrasónico Hscr04 transmite ondas de ultrasonido a 40.000 Hz. Las ondas transmitidas rebotan si golpean cualquier superficie plana/objeto en su camino. Las ondas devueltas llegan al receptor de ultrasonidos. El receptor ultrasónico recibe las ondas devueltas y lo notifica al circuito de control. Circuito de control que calcula el tiempo que tardan las ondas en regresar después de la transmisión. ¿Se manipula entonces el tiempo para aproximar la distancia recorrida por las ondas o cuál es la distancia entre el sensor y el objeto? de donde regresaron las ondas de ultrasonido.
Hcsr04 puede medir distancias entre un rango activo de 2 cm a 4 metros. Hcsr04 requiere 5 voltios y 15 mA de potencia para funcionar. Hcsr04 tiene cuatro pines. Dos son pines de alimentación. Vcc es el pin +ve, aplique 5v a este pin y Gnd es el pin de tierra, conecte -ve desde la fuente de alimentación de 5v. Los otros dos pines son Trigger y Eco .

  • El pasador del gatillo es activado por un controlador externo para hacer estallar una onda de ultrasonido.
  • ​El pin de eco notifica al controlador externo cuando el receptor recibe la onda devuelta.

El precio del módulo varía entre 1,5 dólares estadounidenses de China y 3,95 dólares estadounidenses de Sparkfun.

Restricciones de potencia del sensor ultrasónico Nodemcu esp8266 y Hcsr04

Nodemcu esp8266 12e funciona con 3,3 voltios y sus pines también son compatibles con 3,3V TTL. Donde el sensor ultrasónico Hcsr04 trabaja a 5 voltios. No podemos alimentar Hcsr04 directamente con los pines de salida de alimentación de nodemcu 3.3v . Muchos tutoriales disponibles en línea sobre este tema han cometido este error y los ingenieros 😀 se quejan de ellos . Hay algunos módulos de sensores ultrasónicos Hcsr04 nuevos provenientes de China que pueden funcionar a 3,3 voltios. Si tiene uno, puede conectarlo directamente con nodemcu.

Diagrama del circuito del proyecto.

Utilicé una fuente de alimentación barata que puede generar 5 voltios y también 3,3 voltios. Lo compré online en China. El lado de 5 voltios de la fuente de alimentación suministra energía al HCSR04 y el lado de 3,3 voltios se utiliza para alimentar el nodemcu. Tenga en cuenta que las conexiones a tierra de 3,3 V y 5 V son comunes.
Los pines de disparo y eco del sensor ultrasónico HCSR04 están conectados directamente a los pines GPIO-2 y GPIO-0 o D4 y D3 del Nodemcu. Quizás tengas una pregunta aquí: ¿por qué los pines están conectados directamente si los niveles de voltaje de ambos dispositivos son diferentes? La respuesta es simple: la salida de los pines del disparador y del eco se puede leer fácilmente con dispositivos de 3,3 voltios. A mí me funcionó sin problemas y el proyecto de bricolaje ha estado funcionando de forma continua durante 72 horas. Si no te funcionó, puedes insertar un convertidor lógico entre los dos módulos. El resto de las conexiones se pueden ver en el diagrama de circuito que se muestra a continuación.
Sensor ultrasónico HC-SR04 con módulo WiFi nodemcu esp8266

Sensor ultrasónico HC-SR04 con módulo WiFi nodemcu esp8266
Llegando al código del proyecto. El código está escrito en Arduino IDE. Es de código abierto y puedes usarlo y modificarlo según tus necesidades. Antes de usar el código, primero asegúrese de haber instalado el paquete de soporte nodemcu esp8266 para arduino IDE. Si aún no lo has hecho, instálalo primero. Pasemos al cálculo de la distancia ultrasónica antes de comenzar con las instrucciones del código. El sensor ultrasónico no calculó la distancia por sí solo. En cambio, simplemente captura el tiempo que tardan las ondas en salir del transmisor y regresar al receptor. El tiempo se convierte en distancia usando la fórmula de la velocidad del sonido en el aire. Según la fórmula de la velocidad universal del sonido en el aire.
Tiempo = Distancia / Velocidad
Donde Velocidad = velocidad del sonido en el aire. que es 340m/s

Por lo tanto, reordenando la fórmula Distancia= Tiempo * 340(velocidad del sonido en el aire).

La fórmula anterior se utiliza en el código siguiente para medir la distancia en el tiempo. Al comienzo del código, definí los pines nodemcu ( trigP,ecoP ) que interactúan con el sensor ultrasónico hcsr04. Se definen otras dos variables ( distancia, duración ) para almacenar los valores de tiempo y distancia. En la función de configuración, el pin de activación se declara como salida y el pin de eco se declara como entrada. La comunicación serie Nodemcu también se inicializa en la función de configuración a una velocidad de 9600 baudios.
​En la función de bucle, el pasador del gatillo permanece bajo durante 2 segundos, después de 2 segundos se vuelve alto durante 10 nudos. 10us es el tiempo que el pasador del gatillo envía una señal de ultrasonido de salida en 8 ciclos. Luego, la función de pulso lee las ondas de retorno y aproxima el tiempo. Después de la declaración

distancia = duración * 0,034/2 calcula la distancia real entre el sensor ultrasónico y el objeto . Si no puedes entender los 10 nodos y otros parámetros como la función de pulso, te aconsejo que sigas este tutorial, explicará cada parámetro gráfica y matemáticamente con ejemplos del mundo real.

Construya el circuito en la placa y cargue el código en nodemcu. Después de cargar el código en nodemcu, abra el monitor serie IDE de arduino. Asegúrese de que su nodemcu esté conectado a su PC y que el puerto y la placa correctos estén seleccionados en el IDE de Arduino. Tan pronto como abra el monitor serie, verá las lecturas de distancia que aparecen en la ventana del monitor serie Arduino. Coloque algún objeto frente al sensor ultrasónico y mida la distancia manualmente con una balanza. Luego observe las lecturas en el monitor serie Arduino, ambos deberían ser iguales. De lo contrario, debe estar dentro de 3 mm (índice de error Hcsr04) más allá de la lectura real/manual. La ventana de resultados se muestra a continuación.
Salida ultrasónica HC-SR04 en monitor serie Arduino con Nodemcu ESP8266 12E

Salida ultrasónica HC-SR04 en monitor serie Arduino con Nodemcu ESP8266 12E
Atención
La función Pulse in utilizada en el código es una función antigua que se utiliza para medir distancias con el sensor ultrasónico hcsr04. Esta función funciona mal con algunos módulos ultrasónicos, especialmente los antiguos o cuyo circuito de control está desactualizado. Esta función también es lenta en la medición del tiempo. Arduino lanza una biblioteca nueva y rápida para trabajar con sensores ultrasónicos. La biblioteca NewPing. Esta biblioteca utiliza los temporizadores internos de Arduino y no se ha compilado en el IDE de Arduino cuando se utiliza para nodemcu. Entonces no podemos usar la biblioteca NewPing con nodemcu .

Trabajo futuro
Acabo de mostrar cómo conectar el sensor ultrasónico hcsr04 con el nodemcu esp8266. La funcionalidad práctica se puede llevar al diseño superior convirtiéndolo en un sistema de control de cobertizo de estacionamiento automático e inteligente. El cobertizo sube cuando el coche llega a la casa y baja cuando el coche entra y viceversa. GSM puede ser parte del proyecto para enviar una alerta por SMS a una persona del hogar sobre la llegada del automóvil. El Nodemcu se puede conectar a WiFi y la alerta del vehículo recibida se puede enviar a un servidor en línea que mantiene un registro de estacionamiento.

Descarga el código del proyecto. La carpeta contiene el archivo .ino del proyecto arduino ide. Por favor envíenos sus comentarios sobre el proyecto. Si tienes alguna pregunta, escríbela abajo en la sección de comentarios.
Código/Archivos
Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.