Récemment, je suis tombé sur les capteurs de distance VL53L0X et VL53L1X TOF. Ces capteurs peuvent déterminer des distances avec une précision millimétrique à l'aide d'un laser. Ils ont une portée allant jusqu'à 4 m (VL53L1X9) ou 2 m (VL54L0X). J'ai trouvé les capteurs très intéressants et bien sûr j'en ai commandé quelques-uns tout de suite. J'aime avoir des choses pratiques en stock 🙂
Après leur arrivée et j'ai joué avec eux, j'ai remarqué qu'ils pouvaient également être utilisés pour déterminer le niveau de ma tasse de café. Un test rapide sur l'évier et un autre test sur le baril de pluie ont ensuite montré que cela fonctionnait également avec des liquides clairs. Cela m'a donné la première idée d'utilisation pratique : un capteur de niveau pour le baril de pluie.
L'article suivant décrit ce dont vous avez besoin et comment vous pouvez procéder lors de la construction de votre propre capteur de niveau. 🙂
Consignes de sécurité
Je sais que les notes suivantes sont toujours un peu ennuyeuses et semblent inutiles. Malheureusement, de nombreuses personnes qui savaient "mieux" ont perdu des yeux, des doigts ou d'autres choses à cause d'une négligence ou se sont blessées. La perte de données est presque négligeable en comparaison, mais même celles-ci peuvent être vraiment ennuyeuses. Par conséquent, veuillez prendre cinq minutes pour lire les consignes de sécurité. Parce que même le projet le plus cool ne vaut pas une blessure ou d'autres problèmes.
https://www.nerdiy.de/sicherheitshinweise/
Liens d'affiliation/publicitaires
Les liens vers des boutiques en ligne répertoriés ici sont des liens dits d'affiliation. Si vous cliquez sur un tel lien d'affiliation et effectuez un achat via ce lien, Nerdiy.de recevra une commission de la boutique en ligne ou du fournisseur concerné. Le prix ne change pas pour vous. Si vous effectuez vos achats via ces liens, vous aidez Nerdiy.de à pouvoir proposer d'autres projets utiles à l'avenir. 🙂
Conditions préalables
Articles utiles :
Avant de commencer cet article, vous devriez avoir traité les bases de la soudure. Vous trouverez des informations à ce sujet dans l'article suivant.
Outil requis :
Dans la liste suivante, vous trouverez tous les outils dont vous avez besoin pour mettre en œuvre cet article.
Matériel requis :
Dans la liste suivante, vous trouverez toutes les pièces dont vous avez besoin pour mettre en œuvre cet article.
Rassemblez les pièces nécessaires
Dans l'image suivante, vous pouvez voir les pièces nécessaires pour construire votre propre capteur de niveau.

Imprimez en 3D les pièces dont vous avez besoin
Téléchargez tous les fichiers STL requis :
Couper les fils dans le boîtier
Utilisez un presse-étoupe pour que le câble USB du bloc d'alimentation puisse également être introduit dans le boîtier de manière étanche. C'est le seul moyen d'empêcher durablement l'eau de pénétrer dans le boîtier au fil du temps.
Afin de pouvoir monter ce presse-étoupe dans le boîtier, un filetage doit d'abord être coupé dans le boîtier. Le filetage interne est également abordé dans l'article Mécanique – filetage intérieur coupé expliqué en détail.

Comme d'habitude, appliquez le robinet aussi droit que possible. Pensez également à faire demi-tour après chaque tour complet pour casser la puce.

Si vous avez tenu le taraud droit lors de la coupe du filetage, vous pouvez maintenant également voir que la bague d'étanchéité est pressée uniformément contre le boîtier partout et donc aussi bien étanche.
Préparer le capteur de distance
Il est maintenant temps de préparer l'installation du capteur proprement dit. Celui-ci communique avec le microcontrôleur via le bus I2C et nécessite donc un total de quatre lignes.

Préparez la ligne de connexion en dénudant les extrémités des lignes individuelles de 5 mm et en les étamant avec un peu de soudure.

Anschließend kannst Du den eigentlichen Sensor vorbereiten, indem Du zuerst die Kontakte “VCC”, “GND”, “SCL” und “SDA” mit etwas Lot verzinnst.
Connectez le capteur de distance au Wemos D1 Mini
Maintenant, bien sûr, le capteur doit encore être connecté au microcontrôleur.

Dazu solltet Ihr zunächst wieder die Kontakte vorbereiten. Verzinnt dazu die Kontakte “5V”, “G”, “D2” und “D1”.
Installer le capteur de distance
L'ensemble composé du microcontrôleur et du capteur doit bien sûr maintenant être intégré dans le boîtier afin qu'il soit étanche.

Le capteur est ensuite placé dessus comme indiqué et vissé avec les vis M3x10.
Achtet dabei darauf die Schrauben nicht zu fest anzuziehen. Denn nach “fest” kommt bekanntlich “ab”. 🙂
Installation du Wemos D1 Mini et du câble USB
Une fois le capteur installé au bon endroit, tous les autres composants doivent être rangés dans le boîtier de manière étanche.

La taille du connecteur micro USB est quelque peu critique : il doit être suffisamment petit pour passer à travers l'écrou du presse-étoupe.
Si nécessaire, vous pouvez également traiter la connexion avec une lime afin qu'elle passe à travers l'écrou.

...vous remarquerez rapidement qu'il reste encore beaucoup d'espace entre le joint en caoutchouc du presse-étoupe et le câble USB.
C'est clairement trop d'espace pour empêcher l'eau de pénétrer dans le boîtier.

Vous devez donc dévisser à nouveau le presse-étoupe et retirer le câble USB d'environ 2 cm. Enroulez maintenant quelques tours de ruban adhésif auto-obturant autour de la partie du câble qui se trouvait auparavant dans le presse-étoupe.

... et fixez ainsi le câble USB de manière étanche dans le presse-étoupe. Le câble USB doit maintenant également être protégé mécaniquement contre l'arrachement.

Vous pouvez maintenant faire le reste de l'installation : Avant que le microcontrôleur ne soit rangé dans le boîtier, vous pouvez protéger les contacts du capteur contre les courts-circuits avec de la colle chaude.
Bien sûr, vous pouvez également le faire plus tard - après un premier test - dès que vous êtes sûr que tout fonctionne correctement.

... et inséré dans le boîtier.
Il se peut que vous deviez desserrer à nouveau l'écrou-raccord de la douille à vis. 🙂
Sceller le boîtier de manière étanche
La presque dernière étape : maintenant que tous les composants sont installés dans le boîtier, vous devez également le sceller de manière étanche.

… être construit.
À ce stade, vous pouvez bien sûr sauter un chapitre plus loin et programmer d'abord le microcontrôleur. Le boîtier peut également être fermé après la programmation et les premiers tests. 🙂

Quatre écrous M3 sont maintenant nécessaires pour fermer le boîtier.
Placez-les par le bas dans les emplacements de montage désignés dans les coins du boîtier.

Ensuite, retournez le boîtier sans que les écrous ne tombent de leurs emplacements de montage.
Ensuite, vous pouvez insérer la bague d'étanchéité dans le renflement sur le dessus.
Lors du serrage des vis, vous devez toujours serrer les vis opposées. Par exemple, d'abord en haut à droite, puis en bas à gauche, puis en haut à gauche et enfin en bas à droite.

Les vis doivent être serrées de manière à ce que l'écart entre le boîtier et le couvercle soit le même partout.
Programmation du micrologiciel
Im Prinzip habt Ihr bei der Firmware viele Möglichkeiten. Ihr könnt den auf dem Wemos D1 Mini verbauten ESP8266 mit einer eigenen Firmware bestücken aber auch die beliebte Firmware “Tasmota” oder “ESPEasy” nutzen.
Ich persönlich finde ESPEasy am sympathischsten, weil man hier mehr Einstellungsmöglichkeiten hat. Für den einen oder anderen mag aber genau dies ein Argument zu sein lieber die Tasmota-Firmware zu nutzen, welche meiner Meinung nach etwas mehr “einfach funktionierende” Voreinstellungen mitbringt.
Comment lire le capteur VL53L0X avec ESPEasy et le plugin approprié est décrit dans l'article suivant.
suggestion de montage
Voici une petite suggestion d'installation sur la façon dont vous pourriez monter le capteur sur un baril de pluie, par exemple.
Dans tous les cas, vous devez vous assurer que le capteur n'est pas inondé si le récupérateur d'eau déborde. Bien que le capteur soit très bien protégé contre les projections d'eau, il est préférable de ne pas le plonger dans l'eau. 🙂

Si disponible, vous pouvez également percer un trou dans le couvercle et aligner le capteur avec la surface de l'eau. Une perceuse étagée fonctionne très bien pour cela.
Évaluation dans NodeRed
C'est une chose d'enregistrer le niveau de votre récupérateur d'eau. C'en est une autre de recevoir ces données, de les traiter et, si nécessaire, de les convertir.
Parce que jusqu'à présent, vous n'obtenez qu'une distance par rapport à votre capteur. Ce n'est pas vraiment un volume que vous voulez réellement mesurer. Par conséquent, le niveau d'eau doit encore être converti en un volume. Cela dépend de la forme et des dimensions de votre récupérateur d'eau et n'est pas toujours facile à calculer. Voici donc quelques suggestions et un flow qui prépare le tout visuellement.
Informations Complémentaires
- https://www.hackster.io/team-protocentral/liquid-level-sensing-using-a-laser-tof-sensor-d04232
- http://forum.creationx.de/forum/index.php?thread/955-f%C3%BCllstand-%C3%B6l-tank-messen/&pageNo=3
- https://www.electronicspecifier.de/micros/flugzeitsensor-der-n-chsten-generation-von-stmicroelectronics
- https://github.com/adafruit/Adafruit_VL53L0X
Amusez-vous avec le projet
J'espère que tout a fonctionné comme décrit. Si ce n'est pas le cas ou si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires. Je les ajouterai à l'article si nécessaire.
Les idées de nouveaux projets sont toujours les bienvenues. 🙂
PS Beaucoup de ces projets - en particulier les projets matériels - coûtent beaucoup de temps et d'argent. Bien sûr, je le fais parce que j'aime ça, mais si vous pensez que c'est cool que je partage l'information avec vous, je serais heureux d'un petit don au fonds du café. 🙂
Bonjour
Merci pour le guide réussi!
Je ne comprends pas tout à fait comment je peux intégrer le capteur VL53L0X dans l'EspEasy.
Dois-je charger un certain firmware (je n'ai pas encore beaucoup d'expérience)
Je serais très reconnaissant si vous pouviez m'aider ici.
Salutations Stefan Allenspach
Bonjour Monsieur Allenspach,
C'est vrai, je devrais mieux expliquer cette partie dans le manuel. Merci pour l'indice. 🙂
Jusque-là : Dans cet article (https://nerdiy.de/howto-espeasy-nerdiyspanelmeter-plugin-installieren-und-konfigurieren/#Plugin_konfigurieren) in dem Absatz “Plugin konfigurieren” ist der Vorgang für das device “Display – Nerdiys-PanelMeter” erklärt. Mit dem VL53L0X funktioniert dies genaus, nur dass natürlich das device “VL53L0X” ausgewählt werden muss. Lassen Sie mich gerne wissen ob es damit geklappt hat. 🙂
Cordialement
Fabien
Bonjour,
toller Artikel und hierdurch bin ich auf die Lösungsmöglichkeit mit TOF-Sensoren erst aufmerksam geworden. Eine Frage die für meinen Tank sehr wichtig ist und ich habe kein 3D-Druck zur Verfügung und muß mir ein Gehäuse “basteln”. Ist Deine gezeigte Öffnung Wasserdicht? Bei mir wird der Tank Gelegentlich 100% voll und somit kann der Sensor schon mal ein paar Tropfen abbekommen. Die Fotos zeigen ein Loch wo auch mehr als die Öffnungen für das Licht des Sensors durchgeht und somit denke ich kann hier Wasser eintreten? Ist es möglich dies mit einer kleinen Scheibe zu verschließen? Wäre für mich wichtig und denke ein entscheidender Unterschied zu Ultraschallmessung. Hier gibt es derzeit (im DIY Bereich) nur Wasserdicht mit 20cm Mindesabstand und einigen berichteten Problem in Tanks. Somit wäre die TOF Lösung ideal.
Cordialement
Ralph
Bonjour Ralph,
Merci. 🙂 Ma solution est tout au plus étanche aux éclaboussures. Et seulement d'en haut. Le couvercle doit être assez étanche grâce au joint torique. Mais comme vous l'avez déjà vu correctement, le capteur n'est pas étanche. Malheureusement, je n'ai lu que plus tard que le capteur peut également être installé derrière une vitre. Vous trouverez probablement plus d'informations à ce sujet dans la fiche technique du capteur. 🙂 Quand j'aurai le temps je concevrai une nouvelle version du boîtier. Si vous n'avez pas envie de bricoler : Il existe également des services d'impression en ligne où vous pouvez imprimer les pièces et vous les faire envoyer. 🙂
Cordialement
Fabien
Bonjour Fabien,
besten Dank für Deine Rückinfo. Habe jetzt mal einen VL53L0X mit dieser Abdeckkappe bestellt und glaube ihn in etwas wie einer AP-Abzweigdose montieren/verkleben zu können. Nichts gegen Dein Gehäuse, aber bei mir käme das in einem gebuddelten Loch eines Wassertanks im Garten zum Einsatz, was nie jemand sehen würde (Wie sagt man Perlen vor die Säu..). Wenn die Funktion erfüllt ist, bin ich schon sehr happy. Setze für meine bisherigen ESP8266 Geschichten auch ESPEasy ein und möchte dies auch hier wieder tun (Alleine die Rules um ein schwankendes Messergebnis zu filtern/beruhigen wäre copy&paste). Wie mein Vorkommentator sagt, ist mir auch leider nicht ganz klar wie ich das PlugIn P0133 für das Kompilieren von ESPEasy einbinde. Dein Link hilft, jedoch scheint sich die Aktivierung von PlugIns durch Löschung der Kommentarzeichen von der Struktur in ESPEasy geändert zu haben. Vermute dort eine zentrale Verwaltungsdatei. Hinzu kommt, dass P0133 nicht mehr in der “MEGA” Version von ESPEASY vorhanden zu sein scheint (bei P097 ist Ende). Für den VL53L0X sehe ich es noch optimistisch, dies irgendwie heraus zu bekommen, wenn das Plugin für die aktuelle Version denn noch funktioniert, aber wie geht dies für einen VL53L1X? Einfach die VL53L1X.h von Polulu ins Projekt einbinden und die ino Datei entsprechend anpassen?
Gardez-le passionnant et restez à l'écoute du projet.
Cordialement
Ralph
Salut Ralph,
Oh tout va bien. Je peux tout à fait comprendre. En fin de compte, il s'agit de la fonction fiable et moins de l'optique. 😀
En ce qui concerne le problème avec le plugin : je suis actuellement encore très occupé à écrire la documentation de WinDIY jusqu'à lundi prochain (informations ici : https://nerdiy.de/news-sommer-2020/). Quand j'aurai fini, je m'en occupe et j'ouvre un dépôt sur GitHub, où je propose tous mes plugins, y compris ESPEasy, configurés en conséquence. Ensuite, vous n'avez plus à effectuer les modifications vous-même et cela devrait fonctionner immédiatement. 🙂
J'espère que ça va. 🙂
Cordialement
Fabien
Bonjour
Belle description, beau projet.
J'ai actuellement une mesure par ultrasons, mais elle fonctionne très mal dans le puits (jusqu'à 3,5 mètres de profondeur) (j'ai tout essayé).
A la recherche d'une alternative, je suis tombé sur le VL53L1X et votre site.
Ich verwende derzeit auch ESPEasy mit dem Ultraschallsensor, bin aber wie meine Vorredner mehr der Anwender und Hoppy-Programmierer, und nicht so sehr der “Plugin-Compiler”. Wenn du uns mit dem VL53L1X und ESPEasy etwas auf die Sprunge helfen könntest wäre auch ich sehr dankbar. 🙂
Salutations
Erwin
Bonsoir Erwin,
oui, ce lieu est malheureusement un peu peu documenté. Je viens de regarder et je n'ai pas trouvé d'instructions qui le décrivent. Je vais écrire cela et essayer de créer des instructions dès que possible qui expliquent comment connecter le capteur et configurer le plugin en conséquence.
Comme petite solution de contournement, j'ai créé un fichier .bin qui peut être programmé sur le Wemos D1 Mini. Le VL53L0X y est déjà intégré. Il suffit de l'activer plus tard (comme d'habitude avec ESPEasy) et de le configurer en conséquence.
Vous pouvez trouver le fichier bin sur : https://github.com/Nerdiyde/pxlBlck/blob/main/plugin/bin/ESP8266_ESPEasy_incl_pxlBlck_4M.bin
J'ai résumé les informations sur la façon de programmer ceci sur le Wemos D1 Mini ou ESP8266 ici : https://nerdiy.de/howto-esp8266-mit-dem-esptool-bin-dateien-unter-windows-flashen/
J'espère que cela aide. Sinon, merci de me le signaler. 🙂
Cordialement
Fabien
Bonjour Fabien
Merci pour votre aide rapide et amicale.
J'ai commandé quelques VL53L0X et VL53L1X il y a quelques jours.
Pour la sécurité. Ils auront maintenant besoin d'un peu de temps jusqu'à ce qu'ils arrivent de Chine.
Ensuite, je testerai votre image avec le VL53L0X. Malheureusement, il n'y a presque rien sur le net concernant le VL53L1X 🙁 Sauf des approches un peu trop hautes pour moi.
Merci, Cordialement
Erwin
Bonsoir Erwin,
compris. Je connais le problème (avec le long délai de livraison). 😀 J'aurai peut-être fini l'article d'ici là. Je vais essayer d'y penser, puis je vous tiens au courant ici également. 🙂
Cordialement
Fabien
Bonjour Fabien
Merci pour votre soutien. Je réessaierai quand j'aurai tout assemblé. Je vais certainement vous faire savoir comment ça se passe. s'il le faut, je te tourmenterai encore. 😉
Merci, Cordialement
Erwin
Bonjour Ervin,
Malheureusement, le LaserSensor d'AliExpress ne m'est jamais parvenu et comme le vôtre, les résultats avec un capteur à ultrasons, entre autres, ne m'ont pas convaincu. Les mesures sont très sujettes aux erreurs et chaque mesure s'écarte l'une de l'autre même si rien ne se passe, ok pas cher et vous pouvez travailler avec des filtres logiciels. Une fois, j'ai commandé une sonde de niveau de remplissage pour environ 20 € et celles-ci sont disponibles en différentes versions (plages de mesure, par exemple 0-5 m). Comme j'utilise déjà un bon morceau de câble, je ne voulais pas utiliser une sonde avec un signal de mesure de tension, mais 4-20mA. Pour le 4-20mA vers 0-3.3V (entrée analogique ESP8266) ainsi que pour l'alimentation 24VDC il existe des modules tout prêts (environ 1€) chez Ali-Express et j'en suis super content. Le logiciel exécute ESPEasy dans la version standard et évalue simplement l'entrée analogique. Salutations Ralph
Bonjour Ralph
Merci pour votre aimable réponse.
J'ai lu à ce sujet aussi. Est-ce vraiment si bon/facile ?
Mich hat abgeschreckt, dass man die Werte mal “einkalibrieren” muss.
Donc valeur inférieure et supérieure. Du moins c'est ce que j'ai lu quelque part.
Eh bien, je vais peut-être reprendre le sujet.
Merci, Cordialement
Erwin
Bonjour Fabian, bonjour Ralf
Merci pour toute votre aide et vos idées, j'ai finalement mis de côté la mesure avec le LaserSensor après les premières tentatives et j'ai essayé la variante avec une sonde de niveau. Et je dois dire : SUPER !! L'effort matériel est certes plus important (mais tout à fait gérable), mais il est également facile à configurer dans ESPEASY. Il ne tourne que depuis quelques jours, mais je suis agréablement surpris. La mesure fonctionne sans fluctuations importantes. Dès que j'aurai une longue expérience, je me ferai un plaisir de la partager avec vous.
@ Ralf comment sont vos expériences jusqu'à présent.?
@Fabian : Vous devez absolument l'essayer. J'ai suivi ce guide, fonctionne parfaitement. https://forum.iobroker.net/assets/uploads/files/1604243665450-f%C3%BCllstandsmesser-per-pegelsonde.pdf
Bravo Erwin 🙂
Salut Ervin,
Ça a l'air intéressant! Merci pour l'indice. 🙂
Cordialement
Fabien
Bonjour Fabien,
Merci et tout va bien pour moi. Ali-Express tarde à livrer 🙂
Dein Repository finde ich super und würde drauf zurück greifen, jedoch bin ich auch großer Freund davon willigen Leuten das Prinzip an einem Beispiel zu erlären. Mit etwas Glück potenzieren sich so die “Wissenden” und kommen Mini-Step per Mini-Step weiter und können auch Anderen helfen. Denke Du möchtest ja auch neue Dinge machen und nicht nur immer dasselbe Zeugs in x Ausführungen erklären 🙂
Cordialement
Ralph
Salut Ralph,
Ja da hast du recht. Ist ja eigentlich auch mein “Motto” Sachen wenn nötig auch sehr Kleinschrittig zu beschreiben. 🙂 Sobald ich Zeit habe kümmere ich mich darum.
Cordialement
Fabien
Salut
quelqu'un peut-il me dire quel tasmota je dois flasher sur l'esp?
Malheureusement, le capteur bin ne reconnaît pas le vl53lox, pas même le dernier tasmota bin
Merci d'avance
salut les miettes,
Une fois, j'ai préparé et téléchargé un fichier binaire pour cela. Vous pouvez les trouver sur : https://github.com/Nerdiyde/NerDIYs_STLs/tree/main/STLs/water_level_sensor/binary
Cordialement
Fabien
Bonjour,
Ai-je raison de dire qu'un TOF200C est le même capteur dans un boîtier protégé et fonctionne donc de la même manière ?
https://de.aliexpress.com/item/1005003694800050.html
Cordialement,
Daniel
Salut Daniel,
oui, ça devrait marcher aussi. 🙂
Cordialement
Fabien
Salut,
Quelqu'un d'autre a-t-il le problème que lorsque le capteur est installé, seules les valeurs inférieures à 30 cm sont affichées, alors qu'il devrait y en avoir plus ? Dès qu'il est agrandi, il affiche la distance correcte.
Le capteur a en fait une vue dégagée.
Salut, je peux le confirmer. Entre-temps, j'ai découvert que le fait que le capteur soit utilisé à l'intérieur ou à l'extérieur fait une différence. J'ai une configuration expérimentale avec un ordinateur portable et dès que je passe devant la porte, des distances d'environ 40 cm seulement sont enregistrées.
Au revoir
J'ai le problème qu'aucune valeur ne s'affiche sous Tasmota (12.0.2). Le VL53L0X est connecté à D1 (SCL) et D2 (SDA). Tasmota est également configuré de la même manière (D1 - I2C SCL et D2 - I2C SDA).
Lorsque j'utilise ESPEasy, tout fonctionne.
Salut Norbert,
Désolé pour la réponse tardive. J'ai compris votre commentaire. Le problème est probablement que le VL53L0X n'est pas pris en charge par défaut. Vous devrez alors compiler vous-même le firmware après avoir préalablement activé l'option correspondante. 🙂
Cordialement
Fabien
Super Anleitung, das werde ich definitiv auch bauen. Da ich mehrere Regentonnen nebeneinander habe, die ich gerne überwachen möchte: Kann man über die Pins D3/D4, D5/D6 und D7/D8 noch drei weitere VL53L1X (also insgesamt 4 pro Wemos D1 mini) anschließen und auslesen?