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.

Vous pouvez ensuite préparer le capteur réel en étamant d'abord les contacts "VCC", "GND", "SCL" et "SDA" avec de la soudure.
Connectez le capteur de distance au Wemos D1 Mini
Maintenant, bien sûr, le capteur doit encore être connecté au microcontrôleur.

Pour ce faire, vous devez d'abord préparer à nouveau les contacts. Étamer les contacts "5V", "G", "D2" et "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.
Veillez à ne pas trop serrer les vis. Parce que, comme on le sait, après "ferme" vient "off". 🙂
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
En principe, vous disposez de nombreuses options avec le firmware. Vous pouvez équiper l'ESP8266 installé sur le Wemos D1 Mini avec votre propre firmware, mais vous pouvez également utiliser le firmware populaire "Tasmota" ou "ESPEasy".
Personnellement, je trouve ESPEasy le plus sympathique car vous avez ici plus d'options de réglage. Pour l'un ou l'autre, cela peut être un argument pour utiliser le firmware Tasmota, qui à mon avis a un peu plus de presets "fonctionnant simplement".
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) dans le paragraphe "Configurer le plugin", le processus pour l'appareil "Display - Nerdiys-PanelMeter" est expliqué. Cela fonctionne exactement avec le VL53L0X, sauf que bien sûr l'appareil "VL53L0X" doit être sélectionné. S'il vous plaît laissez-moi savoir si cela a fonctionné. 🙂
Cordialement
Fabien
Bonjour,
excellent article et c'est ainsi que j'ai pris connaissance pour la première fois de la solution possible avec les capteurs TOF. Une question qui est très importante pour mon réservoir et je n'ai pas d'impression 3D disponible et je dois "bricoler" un logement. L'ouverture illustrée est-elle étanche ? Avec moi, le réservoir se remplit de temps en temps et le capteur peut recevoir quelques gouttes. Les photos montrent un trou où passent plus que les ouvertures pour la lumière du capteur et donc je pense que l'eau peut entrer ici ? Est-il possible de le fermer avec un petit disque ? Serait important pour moi et pense une différence décisive par rapport à la mesure par ultrasons. Il n'y a actuellement (dans le domaine du bricolage) que des étanches avec une distance minimale de 20 cm et quelques problèmes signalés dans les réservoirs. Ainsi, la solution TOF serait idéale.
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,
merci beaucoup pour vos commentaires. J'ai maintenant commandé un VL53L0X avec ce capuchon et je pense pouvoir le monter/coller dans quelque chose comme une boîte de jonction AP. Rien contre votre cas, mais je l'utiliserais dans un trou creusé dans un réservoir d'eau dans le jardin, que personne ne verrait jamais (comme on dit les perles avant les porcs..). Si la fonction est remplie, je suis déjà très content. J'utilise également ESPEasy pour mes histoires ESP8266 précédentes et j'aimerais le refaire ici (les seules règles pour filtrer/calmer un résultat de mesure fluctuant seraient copier-coller). Comme le dit mon commentateur précédent, je ne comprends malheureusement pas tout à fait comment intégrer le PlugIn P0133 pour compiler ESPEasy. Votre lien aide, cependant l'activation des plugins semble avoir changé en supprimant les caractères de commentaire de la structure dans ESPEasy. Je suppose qu'il y a un fichier d'administration central. De plus, P0133 ne semble plus être présent dans la version "MEGA" d'ESEASY (P097 c'est la fin). Pour le VL53L0X, je suis toujours optimiste sur le fait que nous saurons d'une manière ou d'une autre si le plugin fonctionne toujours pour la version actuelle, mais comment cela fonctionne-t-il pour un VL53L1X ? Intégrez simplement le VL53L1X.h de Polulu dans le projet et ajustez le fichier ino en conséquence ?
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.
J'utilise également actuellement ESPEasy avec le capteur à ultrasons, mais comme les intervenants précédents, je suis plus un utilisateur et un programmeur houblonné et pas tellement un "compilateur de plugins". Si vous pouviez nous donner un peu d'aide avec le VL53L1X et ESPEasy, je vous serais également très reconnaissant. 🙂
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 ?
J'ai été rebuté par le fait qu'il faut "calibrer" les valeurs.
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 🙂
Je pense que votre référentiel est génial et s'y rabattrait, mais je suis aussi un grand fan d'expliquer le principe aux personnes consentantes avec un exemple. Avec un peu de chance, les « au courant » se multiplieront et progresseront mini-pas par mini-pas et pourront aussi aider les autres. Pense que tu veux aussi faire de nouvelles choses et pas juste toujours expliquer les mêmes trucs dans x versions 🙂
Cordialement
Ralph
Salut Ralph,
Oui tu as raison. C'est en fait ma "devise" de décrire les choses en très petites étapes si nécessaire. 🙂 Dès que j'ai le temps je m'en occupe.
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
Excellentes instructions, je vais certainement les construire aussi. Comme j'ai plusieurs barils de pluie les uns à côté des autres que j'aimerais surveiller : puis-je connecter et lire trois autres VL53L1X (soit un total de 4 par Wemos D1 mini) via les broches D3/D4, D5/D6 et D7/D8 ?