De VL53L0x of zijn zus/broer, de VL53L1X, is een zeer nauwkeurige en relatief goedkope laserafstandssensor. Hiermee kunnen afstanden bijna tot op de millimeter nauwkeurig worden gemeten.
In een van mijn andere projecten (zie ESPEasy – niveausensor met VL53L0X / VL53L1X) Ik gebruik deze sensor al om bijvoorbeeld het vulniveau van een regenton te monitoren.
Net als vele anderen kan ook deze sensor in ESPEasy worden geïntegreerd, uitgelezen en de gegevens worden verzonden.
In het volgende artikel wordt beschreven hoe u uw ESPEasy configureert zodat deze de VL53L0X / VL53L1X kan lezen.
Veiligheidsinstructies
Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/
Affiliate links / reclame links
De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂
Eisen
Handige artikelen:
Aanvullende tips over ESPEasy vindt u in de volgende artikelen.
- ESPEasy - Voer opdrachten en acties uit via HTTP, MQTT, UDP en rechtstreeks
- ESPEasy – Firmware compileren en flashen en WiFi-toegangsgegevens configureren
- Categorie – ESPEasy
Vereist gereedschap:
Benodigd materiaal:
Sluit de VL53L0X / VL53L1X aan op de ESP8266
De VL53L0X / VL53L1X is via de I2C-bus verbonden met de ESP8266 of Wemos D1 Mini.
Als de I2C-bus standaard is geconfigureerd, kunt u het weergegeven schakelschema als richtlijn gebruiken.
Configuratie van de VL53L0X / VL53L1X in ESPEasy
Zodat de VL53L0X / VL53L1X in ESPEasy kan worden geconfigureerd, moet de ESPEasy-firmware al zijn geïnstalleerd en toegankelijk zijn op de ESP8266 of ESP32. Informatie hierover vind je ook in het artikel ESPEasy – Firmware compileren en flashen en WiFi-toegangsgegevens configureren.
Open eerst de configuratiewebsite van uw ESP8266 geprogrammeerd met ESPEasy door het IP-adres in uw webbrowser in te voeren. Informatie over hoe u het IP-adres kunt achterhalen, staat ook in het artikel Toon/ontdek het IP-adres van de apparaten in het netwerk samengevat.
Zodra je de configuratiewebsite hebt geopend, moet je overschakelen naar het tabblad ‘Apparaten’. Om dit te doen, klikt u op de knop "Apparaten".
In het tabblad “Apparaten” moet je nu op de knop “Toevoegen” klikken in een van de nog lege regels.
Je wordt dan automatisch doorgestuurd naar de getoonde weergave en kunt selecteren welk apparaat je wilt aanmaken.
Selecteer hier de invoer “Afstand – VL53L0X [TESTEN]”.
U keert dan terug naar een overzichtspagina.
Hier kunt u alle instellingen maken met betrekking tot de VL53L0X.
Als u het bovenstaande schakelschema heeft gebruikt, kunt u de weergegeven instellingen overnemen.
Indien uw VL53L0X een ander I2C-adres gebruikt, kunt u dit aanpassen onder “I2C-adres”.
Met de optie “Bereik” kunt u het bereik van de sensor aanpassen. Hier kun je iets meer bereik bereiken, maar dit vermindert ook de nauwkeurigheid enigszins. Informatie hierover vindt u in het datablad van de VL53L0X.
Nadat u alle instellingen heeft gemaakt, kunt u de instellingen bevestigen door op “Verzenden” te klikken.
Meetwaarden van de VL53L0X / VL53L1X weergeven
Nadat u de VL53L0X / VL53L1X heeft geconfigureerd kunt u deze direct testen.
In het overzicht van de geconfigureerde apparaten zijn de gemeten waarden in de regel van de VL53L0X / VL53L1X aan de rechterkant te zien.
Deze updaten zichzelf minstens elke 60 seconden. Dit interval kan worden ingesteld in de configuratie van de VL53L0X / VL53L1X in de sectie “Interval”.
Stuur sensorgegevens via MQTT
U kunt de verzamelde sensorgegevens nu ook via MQTT naar uw SmartHome sturen en indien nodig daar verwerken. Wat je hiervoor moet instellen staat beschreven in het volgende artikel.
Meer sensoren om aan te sluiten op de ESP8266 / ESP32
Een overzicht van andere artikelen voor het aansluiten van sensoren en actuatoren op ESPEasy vindt u in de volgende categorie.
Veel plezier met het project
Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂
PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂
Hoi,
waar heb je espeasy .bin (firmware) vandaan waar de sensor al in zit.
LG TC
Hallo TC,
Ik heb de versie zelf samengesteld. Ik heb er ooit een binair bestand voor voorbereid en geüpload. Je vindt ze op: https://github.com/Nerdiyde/NerDIYs_STLs/tree/main/STLs/water_level_sensor/binary
Hartelijke groeten
Fabian
Hallo
Ik heb de firmware ESP8266_4M_17.02.2021 ontvangen, helaas werkt deze niet met deze VL53L1X: http://www.cqrobot.wiki/index.php/VL53L1X_Distance_Sensor
Hallo,
Ik heb uw firmware gedownload die is geïnstalleerd op een wemos D1 mini met een VL53L1X-sensor van het merk CQrobot, maar de sensor verzendt geen gegevens, maar het I2c-adres is correct.
Sensorwiki:
Ik heb een ander merk besteld om opnieuw te testen. Alle aansluitingen zijn meerdere malen gecontroleerd
Hallo Doryphore,
Kun je met de I2C scanner onder Tools controleren of de sensor ook gevonden is? 🙂
Hartelijke groeten
Fabian
Hallo,
Hier is het resultaat van de scan, helaas verschijnt de VL53L1X niet
https://nsa40.casimages.com/img/2021/03/07/210307081128704569.jpg
Bij het proberen met een andere firmware bleek het:
https://www.casimages.com/i/210305045829585917.jpg.html
(Het spijt me als mijn berichten dubbel zijn. Elke keer als ik iets post, krijg ik een captcha-foutmelding: “…Fout: u heeft een onjuiste reCAPTCHA-waarde ingevoerd.
Klik op de TERUG-knop in uw browser en probeer het opnieuw….”)
Hallo Doryphore,
Dat is vreemd. Ik zal proberen het geheel te reproduceren. Dan kan ik beter begrijpen wat er mis is gegaan. 🙂
Hartelijke groeten
Fabian
Hallo,
Dat is aardig van je, want ik zit vast aan deze sensor en wil hem graag gebruiken met Espeasy. Ik heb een VL53L1X-sensor van een ander merk geprobeerd: hetzelfde resultaat op I2c-scan, de sensor verschijnt niet. Uiteraard heb ik de I2c-verbindingen in SDA en SDL in D1 en D2 van de wemos d1 mini meerdere keren gecontroleerd.
van harte,
doryphore
Boom! Precies wat ik zocht. Bedankt
Allereerst bedankt… De VL53L0X hoort bij uw .bin.
Helaas heb ik de VL53L1X nodig en krijg hem helaas niet aan de praat. Anderen hierboven hebben hetzelfde probleem gehad. Heeft iemand dit opgelost of weet iemand waar het aan ligt?
Groetjes Ralph
Goedemorgen Ralf,
Helaas wacht ik nog steeds op de VL53L1X uit China. Zodra hij er is ga ik kijken. 🙂
Hartelijke groeten
Fabian
Dat zou geweldig zijn. Daarna kon ik verder met mijn project.
Helaas is de VL53L0X voor mij niet helemaal genoeg qua bereik.
Ik zal opvolgen als je mail krijgt en succes hebt.
Groetjes Ralph
Hallo Fabian, een geweldig artikel en een geweldig project. Ik heb er ook de VL53L0X-sensor mee laten werken.
Nu had ik een VL53L1X-sensor gekocht (bluedot.space). Helaas werkt het niet met uw laatste versie van ESPEasy.bin.
De sensor vereist de Pololu VL53L1X-bibliotheek. Ik worstel momenteel als beginner met de arduino ino en probeer tevergeefs de plug-in voor een D1Mini ESP8266 te compileren. Tot nu toe echter zonder succes.
https://www.bluedot.space/products/vl53l1x/
Hartelijke groeten
Olaf
Hé Olaf,
ja met de VL53L1X lijkt de plug-in niet goed te werken. Ik hoop dat ik er ooit voor kan zorgen. :/
Welke problemen heb je bij het compileren? misschien Ik kan je daarmee helpen. 🙂
Hartelijke groeten
Fab
Hallo Fabian, bedankt voor de feedback!
Helaas kan ik de Pololu-bibliotheek niet toevoegen aan de ESPEasy met de Arduino IDE en een *.bin-bestand compileren. Het bin-bestand moet op een Wemos D1 mini worden geflasht.
... Ik heb mezelf al gekweld door zoveel instructies en video's en helaas kom ik niet verder met de Arduino IDE.
De juiste bibliotheek voor mijn VL53L1x is rechtstreeks verkrijgbaar bij de fabrikant.
https://www.bluedot.space/products/vl53l1x/
Ik wil je ook graag iets sturen voor je moeite.
Groeten
Olaf
Goedenavond Olaf,
Dat wil ik graag proberen. Mijn grootste probleem op dit moment is tijdgebrek. :/
Ben je al begonnen met iets waar je eventueel op verder kunt bouwen? 🙂
Hartelijke groeten
Fabian
Hallo ik vind het project echt super, helaas geeft de sensor mij een totaal verkeerde waarde aan in je behuizing, buiten loopt hij probleemloos, maar ik heb ook de VL53L1X nodig met een bereik van 4m, kan ik je behuizing een beetje veranderen. Ik bevestig de sensor van buitenaf of teken eventueel mijn eigen behuizing. Ik wil er graag mee monitoren of de elektrische achterklep open staat en bij de garagedeur hangt zodat de garagedeur niet geopend kan worden en er een melding in de IoBroker en op de echo komt.
Hé Alex,
Oh oke Dat is vreemd. Had er tijdens het testen niet echt problemen mee. Kan ook komen door de VL53L1X.
Uiteraard kunt u ook de behuizing wijzigen. 🙂
Hartelijke groeten
Fab
Geweldige HowTo,
zo kon ik goedkoop en zonder voorkennis een niveau-indicator herbouwen. Heel erg bedankt hiervoor.
Ik heb echter een probleem. Zodra het ESP spanningsloos werd gemaakt, wordt de sensor niet meer herkend. De fout treedt dan op voor alle IC-adressen: “Onbekende fout op adres xxxx”.
Ik kan het alleen oplossen door de sensor onder Apparaten te deactiveren, de ESP weer los te koppelen van de stroom en vervolgens de sensor weer te activeren...
hoi de oude man,
Ik heb eigenlijk soortgelijk gedrag waargenomen op sommige van mijn breakout-borden. Maar het overkomt niet iedereen.
Ik heb het probleem uiteindelijk goed “opgelost” door een andere sensor te kopen. :/
Hartelijke groeten
Fabian