A la vista de que los tutoriales DIY gustan bastante, sigo con un nuevo tutorial para poder controlar por medio de un ESP8266 diferentes sensores, en este caso un sensor de proximidad que nos indica la distancia a la que estamos de él.
Lo bueno es que esa distancia se puede usar dentro de Home Assistant para hacer lo que necesitemos, por ejemplo, si tenemos un garaje en casa propio y queremos aparcar siempre a una misma distancia, podemos hacer que nos avise cuando llegue a esa distancia, y, lo mejor, es que es muy económico.
Lista de la compra para el sensor de proximidad HC-SR04
- Sensor de distancia HC-SR04 que podéis encontrar aquí y aquí (Aliexpress suele tardar menos pero en este sensor, es un poco más caro que eBay)
- Controlador ESP8266: Al igual que dije en el tutorial de NFC en Home Assistant, recomiendo el Wemos D1 mini, que podéis comprar aquí (Opción que pone ESP12) o aquí.
- Cable dupond hembra-hembra: Estos cables os harán falta si vais a empezar a hacer cosas de electrónica, si no tenéis, podéis comprar aquí o aquí.
OPCIONAL
- Soldador: Por cierto, por si no tienes soldador y quieres comprar algo que esté bien y no cueste mucho, yo el 936H, si queréis, podéis comprarlo aquí o aquí. También podéis comprar puntas para el soldador más finas por poco más de 1€ aquí.
- Estaño: Necesitaréis algo de estaño para soldar, podéis encontrar aquí, os recomiendo algo fino para estas soldaduras. Podéis encontrarlo aquí.
Conexión del sensor de proximidad HC-SR04
En esta parte, pongo las imágenes oficiales de ESPEasy porque hablan de distintos tipos de conexionado, por el hecho de no tener problemas, ya que, el sensor funciona a 5v mientras que el ESP8266 va a 3.3v y, la salida “Echo” del sensor de proximidad va a 5v por lo que a la larga, acabaría estropeando nuestro ESP8266, por lo que recomiendan cualquiera de estas configuraciones para bajar a 3.3 la tensión que le damos al Wemos.
Usando un Level Shifter (Podéis comprarlo aquí)
Usando resistencias para hacer un divisor de tensión
Usando un diodo Zener
De esta forma, será la configuración recomendada para evitar dañar nuestro ESP8266.
NOTA: Para la prueba yo lo he conectado directamente, pero solo para poder mostraros el funcionamiento, han sido unos minutos y lo he quitado para no quedarme sin Wemos ;).
Configuración del sensor de proximidad HC-SR04 en ESPEasy
Al igual que hicimos en los otros sensores, nos iremos a la pestaña de Devices para poder configurar un nuevo dispositivo, el cual, pondremos como dispositivo “Distance HC-SR04, RCW-0001, etc.”. En caso de no aparecer, es posible que necesitéis un firmware tipo “dev” de ESPEasy que es el que incluye todos los sensores en pruebas.
Tendréis que usar 2 patas del ESP8266 digitales para poder configurarlo, en mi caso he usado D5 y D6, marcamos Send to Controller y Enabled (en la parte de arriba) y ponemos el intervalo que queramos de refresco, en mi caso, he puesto 5 segundos y le ponemos la etiqueta al valor 1 que tenemos abajo como “Distancia”, quedaría algo así:
Si todo está correcto, podemos ir al log (Tools / Log) para ver si refresca cada 5 segundos con el valor de la distancia como vemos aquí:
Y, si miramos el MQTT, veremos que está mandando también la distancia:
Una vez hecho esto, estamos listos para integrarlo en Home Assistant
Integración del sensor de proximidad HC-SR04 en Home Assistant
Al tratarse de un sensor por medio de MQTT es bastante sencillo de integrar en Home Assistant, pero, para que sea copiar y pegar, aquí tenéis la forma en la que yo lo he puesto:
- platform: mqtt name: "Distancia" state_topic: '/Cafetera/Distancia/Distancia' unit_of_measurement: "cm"
De esta forma, una vez que reiniciemos, tendremos la posibilidad de usarlo en lo que queramos en nuestras automatizaciones. Dentro del sistema se vería así:
Espero que os haya gustado y que lo hayáis conseguido, si no, ya sabéis, estamos para ayudar en el grupo de telegram de domótica o en el foro de la web.
Este sensor puede venir bien para aparcar el coche en el garaje sin golpear la pared de detrás... aunque, como actualice cada 5 segundos no sería muy viable. ¿Para qué más se puede usar esto?