HowTo: ESPEasy – sensor de nivel con VL53L0X / VL53L1X

Recientemente me topé con los sensores de distancia TOF VL53L0X y VL53L1X. Estos sensores pueden determinar distancias con precisión milimétrica utilizando un láser. Tienen un alcance de hasta 4 m (VL53L1X9) o 2 m (VL54L0X). Los sensores me parecieron muy interesantes y, por supuesto, pedí algunos de inmediato. Me gusta tener cosas prácticas en stock 🙂

Después de que llegaron y jugué con ellos, me di cuenta de que también podían usarse para determinar el nivel de mi taza de café. Una prueba rápida en el fregadero y otra prueba en el barril de lluvia mostraron que esto también funcionaba con líquidos claros. Eso me dio la primera idea de uso práctico: un sensor de nivel para el barril de lluvia.

El siguiente artículo describe lo que necesita y cómo puede proceder al construir su propio sensor de nivel. 🙂


Instrucciones de seguridad

Sé que las siguientes notas siempre son un poco molestas y parecen innecesarias. Desafortunadamente, muchas personas que sabían "mejor" han perdido ojos, dedos u otras cosas debido a un descuido o se lesionaron. La pérdida de datos es casi insignificante en comparación, pero incluso estos pueden ser realmente molestos. Por lo tanto, tómese cinco minutos para leer las instrucciones de seguridad. Porque incluso el proyecto más genial no vale la pena lesionarse u otros problemas.
https://www.nerdiy.de/sicherheitshinweise/

Enlaces afiliados / enlaces publicitarios

Los enlaces a las tiendas en línea enumerados aquí son los llamados enlaces de afiliados. Si hace clic en dicho enlace de afiliado y realiza una compra a través de este enlace, Nerdiy.de recibirá una comisión de la tienda en línea o el proveedor correspondiente. El precio no cambia para usted. Si realiza sus compras a través de estos enlaces, ayuda a Nerdiy.de a poder ofrecer otros proyectos útiles en el futuro. 🙂 


Requisitos

Artículos útiles:
Antes de comenzar con este artículo, debería haber tratado los conceptos básicos de la soldadura. Puedes encontrar información al respecto en el siguiente artículo.

Herramienta requerida:

En la siguiente lista encontrarás todas las herramientas que necesitas para implementar este artículo.

Material requerido:

En la siguiente lista encontrará todas las piezas que necesita para implementar este artículo.



Reúna las piezas necesarias

En la siguiente imagen puede ver las piezas necesarias para construir su propio sensor de nivel.

En la imagen falta un cable micro USB y una tira de cinta autoadhesiva.

Imprime en 3D las piezas que necesitas

Descargue todos los archivos STL necesarios:


Cortar hilos en la carcasa

Debe utilizar un prensaestopas para que el cable USB de la fuente de alimentación también pueda introducirse en la carcasa de forma estanca. Esta es la única forma de evitar permanentemente que el agua penetre en la carcasa con el tiempo.

Para poder montar este prensaestopas en la carcasa, primero se debe cortar una rosca en la carcasa. El corte de roscas internas también se trata en el artículo. Mecánica – rosca interna cortada explicado en detalle.

Como de costumbre, aplique el grifo lo más recto posible. También recuerde retroceder una vuelta después de cada vuelta completa para romper el chip.

Tan pronto como haya cortado todo el hilo con el grifo, todo debería...

... mira algo como esto.

Ahora puede enroscar el prensaestopas en la rosca recién cortada.

De esta manera, también determinará rápidamente si el hilo está completamente cortado o no.

Si mantuvo el grifo derecho al cortar la rosca, ahora también puede ver que el anillo de sellado está presionado uniformemente contra la carcasa en todas partes y, por lo tanto, también sella bien.

Vista exterior.

Vista interior.


Preparar el sensor de distancia

Ahora es el momento de prepararse para instalar el sensor real. Este se comunica con el microcontrolador a través del bus I2C y, por lo tanto, requiere un total de cuatro líneas.

Prepare la línea de conexión pelando los extremos de las líneas individuales 5 mm y estañándolos con un poco de soldadura.

Luego puede preparar el sensor real estañando primero los contactos "VCC", "GND", "SCL" y "SDA" con algo de soldadura.

En este punto también puede quitar la película protectora amarillenta de la superficie del sensor.

Ahora puede soldar los cables a los contactos correspondientes como se muestra.

Cuando todo esté completamente preparado, debería verse así.


Conectar el sensor de distancia al Wemos D1 Mini

Ahora, por supuesto, el sensor todavía tiene que estar conectado al microcontrolador.

Para hacer esto, primero debe preparar los contactos nuevamente. Estañe los contactos "5V", "G", "D2" y "D1".

A continuación, puede soldar el cable de conexión previamente preparado al microcontrolador.

Todo debe estar listo para armar...

... mira algo como esto.


Instale el sensor de distancia

Por supuesto, la unidad compuesta por el microcontrolador y el sensor ahora debe integrarse en la carcasa para que sea hermética.

Para ello, coloque las tuercas M3 como se muestra...

… debajo del soporte en la carcasa.

Las tuercas deben colocarse de manera que...

... se encuentran exactamente debajo de los orificios a través de los cuales se insertarán más tarde los tornillos.

Ahora puede insertar el pequeño anillo de sellado en el hueco.

A continuación, se coloca el sensor sobre este como se muestra y se atornilla con los tornillos M3x10.

Tenga cuidado de no apretar demasiado los tornillos. Porque, como es bien sabido, después de “firm” viene “off”. 🙂

Ahora puede comprobar rápidamente que el sensor también tiene una "vista" clara...

...al exterior.


Instalación del Wemos D1 Mini y el cable USB

Después de instalar el sensor en la ubicación correcta, todos los demás componentes deben guardarse en la carcasa de forma estanca.

El sensor ahora debería verse así. 🙂

El tamaño del conector micro USB es algo crítico: debe ser lo suficientemente pequeño para pasar por la tuerca del prensaestopas.

Si es necesario, también puede procesar la conexión con un archivo para que pase por la tuerca.

Una vez que el conector micro USB se pasa a través de la tuerca...

...y empiezas a apretar la tuerca...

...te darás cuenta rápidamente de que aún queda mucho espacio entre la junta de goma del prensaestopas y el cable USB.

Esto es claramente demasiado espacio para evitar que entre agua en la caja.

Por lo tanto, debe volver a desatornillar el prensaestopas y sacar el cable USB unos 2 cm. Ahora envuelva unas cuantas vueltas de la cinta adhesiva autosellante alrededor de la parte del cable que estaba previamente en el prensaestopas.

Entonces puede aumentar el diámetro del cable en el punto relevante...

... y así fijar el cable USB de forma estanca en el pasacables. El cable USB ahora también debería estar asegurado mecánicamente para que no se extraiga.

Vista frontal.

Ahora puede hacer el resto de la instalación: antes de guardar el microcontrolador en la carcasa, puede proteger los contactos del sensor contra cortocircuitos con un poco de pegamento caliente.

Por supuesto, también puede hacerlo más tarde, después de una primera prueba, tan pronto como esté seguro de que todo funciona correctamente.

Puedes hacer lo mismo con los contactos del microcontrolador.

Después de eso, el microcontrolador se puede conectar con el cable micro USB...

... e insertado en la carcasa.

Puede que tenga que aflojar de nuevo la tuerca de unión del casquillo roscado. 🙂

Una vez ensamblado, ahora debería verse así. 🙂


Selle la carcasa a prueba de agua

El casi último paso: ahora que todos los componentes están instalados en la carcasa, también debe sellarla herméticamente.

Su sensor debería estar tan lejos...

…ser construido.

En este punto, por supuesto, puede saltar un capítulo más y programar primero el microcontrolador. La carcasa también se puede cerrar después de la programación y las primeras pruebas. 🙂

Ahora se requieren cuatro tuercas M3 para cerrar la carcasa.

Colóquelos desde abajo en las ubicaciones de montaje designadas en las esquinas de la carcasa.

Luego voltee la caja sin que las tuercas se caigan de sus lugares de montaje.

Luego puede insertar el anillo de sellado en el bulto en la parte superior.

Ahora coloque la placa de cubierta y guíe los tornillos a través de los orificios provistos.

Al apretar los tornillos, siempre debe apretar los tornillos opuestos. Por ejemplo, primero arriba a la derecha, luego abajo a la izquierda, luego arriba a la izquierda y finalmente abajo a la derecha.

Los tornillos deben apretarse de modo que el espacio entre la carcasa y la cubierta sea el mismo en todas partes.


Programando el firmware

En principio, tienes muchas opciones con el firmware. Puede equipar el ESP8266 instalado en el Wemos D1 Mini con su propio firmware, pero también puede usar el popular firmware "Tasmota" o "ESPEasy".

Personalmente, encuentro que ESPEasy es el más agradable porque tiene más opciones de configuración aquí. Para uno u otro, esto puede ser un argumento para usar el firmware de Tasmota, que en mi opinión tiene un poco más de preajustes "simplemente funcionales".

En el siguiente artículo se describe cómo puede leer el sensor VL53L0X con ESPEasy y el complemento apropiado.


sugerencia de montaje

Aquí hay una pequeña sugerencia de instalación sobre cómo podría montar el sensor en un barril de lluvia, por ejemplo.

En cualquier caso, debe asegurarse de que el sensor no se inunde si se desborda el tope de agua. Aunque el sensor está muy bien protegido contra salpicaduras de agua, es mejor no sumergirlo en agua. 🙂

Por ejemplo, el sensor se puede instalar de modo que descanse en el borde del cañón.

Si está disponible, también puede perforar un agujero en la tapa y alinear el sensor con la superficie del agua. Un taladro escalonado funciona muy bien para esto.


Evaluación en NodeRed

Una cosa es registrar el nivel de su depósito de agua. Otra es recibir estos datos, procesarlos y, en su caso, convertirlos.

Porque hasta ahora solo obtienes una distancia de tu sensor. Ese no es realmente un volumen que realmente quieras medir. Por lo tanto, el nivel del agua aún tiene que convertirse en un volumen. Esto depende de la forma y las dimensiones de su depósito de agua y no siempre es fácil de calcular. Así que aquí hay algunas sugerencias y un flujo que prepara todo visualmente.


Información adicional


Diviértete con el proyecto.

Espero que todo te haya funcionado como se describe. Si no es así, o si tiene alguna pregunta o sugerencia, hágamelo saber en los comentarios. Si es necesario, lo añadiré al artículo.
Las ideas para nuevos proyectos siempre son bienvenidas. 🙂

PS Muchos de estos proyectos, especialmente los proyectos de hardware, cuestan mucho tiempo y dinero. Por supuesto que hago esto porque lo disfruto, pero si crees que es genial que comparta la información contigo, me encantaría hacer una pequeña donación al fondo del café. 🙂

Cómprame un café en ko-fi.com       

26s comentarios

  1. Hola

    ¡Gracias por la exitosa guía!
    No me queda del todo claro cómo puedo integrar el sensor VL53L0X en el EspEasy.
    ¿Tengo que cargar cierto firmware (aún no tengo tanta experiencia)?

    Estaría muy agradecido si pudiera ayudarme aquí.

    Saludos Stefan Allenspach

    1. Hola Sr. Allenspach,
      Así es, debería explicar mejor esa parte en el manual. Gracias por la pista. 🙂
      Hasta entonces: En este artículo (https://nerdiy.de/howto-espeasy-nerdiyspanelmeter-plugin-installieren-und-konfigurieren/#Plugin_konfigurieren) en el párrafo "Configurar complemento" se explica el proceso para el dispositivo "Display - Nerdiys-PanelMeter". Esto funciona exactamente con el VL53L0X, excepto que, por supuesto, debe seleccionarse el dispositivo "VL53L0X". Por favor, hágamelo saber si funcionó. 🙂
      Atentamente
      Fabian

  2. Hola,
    gran artículo y así es como me di cuenta por primera vez de la posible solución con sensores TOF. Una pregunta que es muy importante para mi tanque y no tengo una impresión 3D disponible y tengo que "retocar" una carcasa. ¿Se muestra la abertura a prueba de agua? En mi caso, el tanque se llena de vez en cuando y el sensor puede recibir algunas gotas. Las fotos muestran un agujero por donde pasa algo más que las aberturas para la luz del sensor, así que creo que puede entrar agua aquí. ¿Es posible cerrar esto con un disco pequeño? Sería importante para mí y creo que una diferencia decisiva para la medición ultrasónica. Actualmente (en el área de bricolaje) solo hay impermeables con una distancia mínima de 20 cm y algunos problemas reportados en los tanques. Por lo tanto, la solución TOF sería ideal.
    Atentamente
    rafael

    1. Hola Ralf,
      Gracias. 🙂 Mi solución es, como máximo, a prueba de salpicaduras. Y sólo desde arriba. La tapa debe estar bastante apretada gracias a la junta tórica. Pero como ya has visto correctamente, el sensor no es resistente al agua. Desafortunadamente, solo leí más tarde que el sensor también se puede instalar detrás de un panel de vidrio. Probablemente pueda encontrar más información sobre esto en la hoja de datos del sensor. 🙂 Cuando tenga tiempo diseñaré una nueva versión del estuche. Si no tiene ganas de retoques: también hay servicios de impresión en línea donde puede imprimir las piezas y hacer que se las envíen. 🙂
      Atentamente
      Fabian

  3. Hola Fabián,
    Muchas gracias por su colaboración. Ahora he pedido un VL53L0X con esta tapa y creo que puedo montarlo/pegarlo en algo como una caja de conexiones AP. Nada en contra de tu caso, pero yo lo usaría en un hoyo cavado en un tanque de agua en el jardín, que nadie vería jamás (como dicen perlas antes que cerdos..). Si se cumple la función, ya estoy muy contento. También uso ESPEasy para mis historias anteriores de ESP8266 y me gustaría volver a hacer esto aquí (las reglas para filtrar/calmar un resultado de medición fluctuante serían copiar y pegar). Como dice mi comentarista anterior, lamentablemente no me queda del todo claro cómo integrar el complemento P0133 para compilar ESPEasy. Su enlace ayuda, sin embargo, la activación de complementos parece haber cambiado al eliminar los caracteres de comentario de la estructura en ESPEasy. Supongo que hay un archivo de administración central. Además, P0133 ya no parece estar presente en la versión "MEGA" de ESPEASY (P097 es el final). Para el VL53L0X, sigo siendo optimista de que descubriremos de alguna manera si el complemento aún funciona para la versión actual, pero ¿cómo funciona esto para un VL53L1X? ¿Simplemente integre el VL53L1X.h de Polulu en el proyecto y ajuste el archivo ino en consecuencia?
    Mantenlo emocionante y mantente al tanto del proyecto.
    Atentamente
    rafael

    1. Hola Ralph,
      Ah todo bien Puedo entender completamente. En última instancia, se trata de la función confiable y menos de la óptica. 😀
      En lo que respecta al problema con el complemento: actualmente todavía estoy muy ocupado escribiendo la documentación para WinDIY hasta el próximo lunes (información aquí: https://nerdiy.de/news-sommer-2020/). Cuando termine con eso, me ocuparé de ello y abriré un repositorio en GitHub, donde ofrezco todos mis complementos, incluido ESPEasy, configurados en consecuencia. Entonces ya no tendrá que hacer los cambios usted mismo y debería funcionar de inmediato. 🙂
      Espero que esté bien. 🙂
      Atentamente
      Fabian

      1. Hola
        Gran descripción, gran proyecto.
        Actualmente tengo una medición de ultrasonido, pero funciona muy mal en el pozo (hasta 3,5 metros de profundidad) (he intentado todo lo posible).
        En busca de una alternativa, encontré el VL53L1X y su sitio.
        Actualmente también estoy usando ESPEasy con el sensor ultrasónico, pero al igual que los oradores anteriores, soy más un usuario y un programador y no tanto un "compilador de complementos". Si pudieras darnos un poco de ayuda con el VL53L1X y ESPEasy, también estaría muy agradecido. 🙂
        Saludos
        erwin

        1. Buenas noches Ervin,
          sí, lamentablemente este lugar está un poco escasamente documentado. Acabo de mirar y no pude encontrar ninguna instrucción que lo describa. Escribiré eso e intentaré crear instrucciones lo antes posible que expliquen cómo conectar el sensor y configurar el complemento en consecuencia.
          Como una pequeña solución, creé un archivo .bin que se puede programar en el Wemos D1 Mini. El VL53L0X ya está integrado en él. Solo tienes que activarlo más tarde (como es habitual con ESPEasy) y configurarlo en consecuencia.
          Puede encontrar el archivo bin en: https://github.com/Nerdiyde/pxlBlck/blob/main/plugin/bin/ESP8266_ESPEasy_incl_pxlBlck_4M.bin
          He resumido información sobre cómo programar esto en Wemos D1 Mini o ESP8266 aquí: https://nerdiy.de/howto-esp8266-mit-dem-esptool-bin-dateien-unter-windows-flashen/

          Espero que eso ayude. De lo contrario, por favor hágamelo saber. 🙂
          Atentamente
          Fabian

          1. hola fabián
            Gracias por su rápida y amable ayuda.
            Pedí un par de VL53L0X y VL53L1X hace unos días.
            Por seguridad. Ahora necesitarán un poco hasta que lleguen desde China.
            Luego probaré tu imagen con el VL53L0X. Desafortunadamente, no hay casi nada en la red sobre el VL53L1X 🙁 Excepto por enfoques que son demasiado altos para mí.
            Gracias, mis mejores deseos
            erwin

          2. Buenas noches Ervin,
            comprendido. Conozco el problema (con el largo tiempo de envío). 😀 Tal vez habré terminado el artículo para entonces. Trataré de pensar en eso, luego te lo haré saber aquí también. 🙂
            Atentamente
            Fabian

          3. hola fabián
            Gracias por tu apoyo. Lo intentaré de nuevo cuando tenga todo junto. Definitivamente te dejaré saber cómo va. si es necesario te atormentaré de nuevo. 😉
            Gracias, mis mejores deseos
            erwin

        2. Hola Ervin,

          Lamentablemente, el LaserSensor de AliExpress nunca me llegó y, al igual que el tuyo, los resultados con un sensor ultrasónico, entre otras cosas, no me convencieron. Las medidas son muy propensas a errores y cada medida se desvía de la otra incluso si no pasa nada, está bien, es barato y puedes trabajar con filtros de software. Una vez pedí una sonda de nivel de llenado por unos 20 € y están disponibles en diferentes versiones (rango de medición, por ejemplo, 0-5 m). Como ya estoy usando un buen cable, no quería usar una sonda con una señal de medición de voltaje, sino de 4-20 mA. Para el 4-20mA a 0-3.3V (entrada analógica ESP8266) así como para el suministro de 24VDC hay módulos listos para usar (alrededor de 1€) en Ali-Express y estoy muy contento con ellos. El software ejecuta ESPEasy en la versión estándar y simplemente evalúa la entrada analógica. Saludos rafael

          1. hola ralf
            Gracias por tu amable respuesta.
            También he leído sobre eso. ¿Es realmente tan bueno/fácil?
            Me desanimó el hecho de que tienes que "calibrar" los valores.
            Así que valor inferior y superior. Al menos eso es lo que leí en alguna parte.
            Bueno, tal vez retome el tema.
            Gracias, mis mejores deseos
            erwin

          2. Hola Fabián, hola Ralf

            Gracias por toda su ayuda e ideas, finalmente dejé de medir con el LaserSensor después de los intentos iniciales y probé la variante con una sonda de nivel. Y tengo que decir: SUPER!! El esfuerzo de hardware es ciertamente mayor (pero bastante manejable), pero también es fácil de configurar en ESPEASY. Solo ha estado funcionando durante unos días, pero estoy gratamente sorprendido. La medición funciona sin fluctuaciones significativas. Tan pronto como tenga experiencia a largo plazo, estaré feliz de compartirla con usted.
            @Ralf como son tus experiencias hasta ahora.?
            @Fabian: Absolutamente tienes que probarlo. Seguí esta guía, funciona perfectamente. https://forum.iobroker.net/assets/uploads/files/1604243665450-f%C3%BCllstandsmesser-per-pegelsonde.pdf

            Saludos Erwin 🙂

  4. Hola Fabián,
    Gracias y todo está bien para mí. Ali-Express tarda en entregar 🙂
    Creo que su repositorio es excelente y recurriría a él, pero también soy un gran fanático de explicar el principio a las personas dispuestas con un ejemplo. Con un poco de suerte, los "en el saber" se multiplicarán y progresarán mini-paso a mini-paso y también pueden ayudar a otros. Piensa que también quieres hacer cosas nuevas y no solo explicar siempre lo mismo en versiones x 🙂
    Atentamente
    rafael

    1. Hola Ralph,
      Sí tienes razón. De hecho, es mi "lema" describir las cosas en pasos muy pequeños si es necesario. 🙂 En cuanto tenga tiempo me encargo.
      Atentamente
      Fabian

  5. Hola
    alguien me puede decir que tasmota tengo que flashear en la esp?
    Desafortunadamente, el sensor bin no reconoce el vl53lox, ni siquiera el último tasmota bin
    gracias de antemano

  6. Hola,
    ¿Alguien más tiene el problema de que cuando se instala el sensor solo se muestran valores por debajo de los 30cm, aunque debería haber más? Tan pronto como se expande, muestra la distancia correcta.
    El sensor en realidad tiene una vista clara.

    1. Hola te lo puedo confirmar. Mientras tanto, descubrí que hace una diferencia si el sensor se opera en interiores o exteriores. Tengo una configuración experimental con una computadora portátil y tan pronto como paso frente a la puerta, se registran distancias de solo aproximadamente 40 cm.

  7. Adiós

    Tengo el problema de que no se muestran valores en Tasmota (12.0.2). El VL53L0X está conectado a D1 (SCL) y D2 (SDA). Tasmota también se configura de la misma manera (D1 - I2C SCL y D2 - I2C SDA).

    Cuando uso ESPEasy todo funciona.

    1. Hola Norberto,
      Lo siento por la respuesta tardía. Me enteré de tu comentario. El problema es probablemente que el VL53L0X no es compatible de forma predeterminada. Entonces tendría que compilar el firmware usted mismo después de haber activado la opción correspondiente de antemano. 🙂
      Atentamente
      Fabian

  8. Excelentes instrucciones, definitivamente las construiré también. Dado que tengo varios barriles de lluvia uno al lado del otro que me gustaría monitorear: ¿Puedo conectar y leer tres VL53L1X más (es decir, un total de 4 por Wemos D1 mini) a través de los pines D3/D4, D5/D6 y D7/D8? ?

Kommentar hinterlassen

Tu dirección de correo electrónico no será publicada. Erforderliche Felder sind mit * markiert

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.