ESP32 - LDR Module
De LDR lichtsensor module kan het licht in de omgeving detecteren en meten. Deze module heeft twee uitgangen: een digitale uitgang die LOW of HIGH kan zijn, en een analoge uitgang.
In deze handleiding leert u hoe u een ESP32 samen met een LDR lichtsensor module gebruikt om licht te detecteren en de hoeveelheid licht te meten. We behandelen:
- Hoe u de LDR lichtsensor module aansluit op een ESP32.
- Hoe u de ESP32 programmeert om licht te detecteren door het digitale signaal van de LDR lichtsensor module te lezen.
- Hoe u de ESP32 programmeert om het lichtniveau te meten door het analoge signaal van de LDR lichtsensor module te lezen.

Daarna kunt u de code aanpassen zodat een LED of een lamp gaat branden (via een relais) zodra er licht wordt gedetecteerd.
Als u geïnteresseerd bent in een lichtsensor in de meest eenvoudige vorm, raad ik u aan de tutorial voor de ESP32 - Light Sensor te bekijken.
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over de LDR Lichtsensor Module
De LDR lichtsensor module kan worden gebruikt om te bepalen of er licht is of hoeveel licht er is in de omgeving rondom de sensor. De module beschikt over een digitale uitgangspen en een analoge uitgangspen voor verschillende toepassingen.
Pinout
De LDR lichtsensor module heeft vier pinnen:
- VCC pin: Verbind deze pin met de voedingsspanning (tussen 3,3V en 5V).
- GND pin: Verbind deze pin met de aarde (0V).
- DO pin: Dit is een digitale uitgangspin. Deze geeft een HIGH-signaal wanneer het donker is en LOW wanneer het licht is. U kunt de drempelwaarde tussen donker en licht afstellen met een ingebouwde potentiometer.
- AO pin: Dit is een analoge uitgangspin. De waarde neemt af naarmate het lichter wordt en neemt toe naarmate het donkerder wordt.

Daarnaast is de LDR lichtsensor module uitgerust met twee LED-indicatoren:
- De PWR-LED indicator geeft aan of de module stroom ontvangt.
- De DO-LED indicator geeft de status van het licht op de DO pin weer: deze brandt wanneer er licht is en is uit wanneer het donker is.
Hoe Het Werkt
Met betrekking tot de DO pin:
- De LDR lichtsensor module heeft een potentiometer waarmee u de gevoeligheid of drempelwaarde voor lichtdetectie kunt instellen.
- Wanneer de lichtintensiteit in de omgeving hoger is dan de ingestelde drempel (beschouwd als licht), wordt het uitgangssignaal op de DO-pin LOW en gaat de DO-LED aan.
- Wanneer de lichtintensiteit lager is dan de ingestelde drempel (beschouwd als donker), wordt het uitgangssignaal op de DO-pin HIGH en gaat de DO-LED uit.
Met betrekking tot de AO pin:
- De waarde die wordt gelezen vanaf de AO pin is omgekeerd evenredig met de lichtintensiteit in de omgeving. Met andere woorden, naarmate het lichter wordt, daalt de waarde op de AO pin.
- Naarmate het donkerder wordt, neemt de waarde op de AO pin toe.
Het is belangrijk op te merken dat het instellen van de potentiometer geen invloed heeft op de waarde op de AO pin.
Aansluitschema
De lichtsensor module biedt twee uitgangen, DO en AO, die afzonderlijk of samen gebruikt kunnen worden.
- Hoe u ESP32 en LDR module aansluit met behulp van een breadboard

This image is created using Fritzing. Click to enlarge image
- Hoe u ESP32 en LDR module aansluit met behulp van een schroefklem breakout board

ESP32 Code - Waarde lezen van DO pin
Snelle Stappen
- Als u de ESP32 voor het eerst gebruikt, bekijk dan hoe de omgeving in te stellen voor ESP32 in Arduino IDE.
- Voer de bedrading uit zoals afgebeeld in de afbeelding hierboven.
- Verbind de ESP32 met uw PC via een micro USB-kabel.
- Open de Arduino IDE op uw PC.
- Selecteer de juiste ESP32 board (bijv. ESP32 Dev Module) en COM-poort.
- Kopieer de bovenstaande code en open deze in Arduino IDE.
- Klik op de Upload knop in de Arduino IDE om de code naar de ESP32 te uploaden.
- Bedek en ontbedek de LDR lichtsensor module met uw hand of een ander object.
- Bekijk het resultaat in de Serial Monitor.
Als u merkt dat de LED-status constant aan of uit blijft, ongeacht het lichtniveau, dan kunt u de potentiometer aanpassen. Hiermee stemt u de lichtgevoeligheid van de sensor nauwkeurig af.
Daarnaast kunt u de code aanpassen aan uw wensen. Bijvoorbeeld door een LED te laten branden of een lamp te laten aangaan wanneer licht wordt gedetecteerd. Ook kunt u een servomotor laten draaien. Gedetailleerde instructies en tutorials over deze aanpassingen vindt u aan het einde van deze handleiding.
ESP32 Code - Waarde lezen van AO pin
Snelle Stappen
- Kopieer de bovenstaande code en open deze in Arduino IDE.
- Klik op de Upload knop in Arduino IDE om de code naar ESP32 te uploaden.
- Bedek en ontbedek de LDR lichtsensor module met uw hand of een ander object.
- Bekijk het resultaat in de Serial Monitor.
※ Notiz:
Deze tutorial maakt gebruik van de analoge functie analogRead() om waarden te lezen vanaf een ADC (Analog-to-Digital Converter) die is verbonden met de LDR module. De ESP32 ADC is geschikt voor projecten die GEEN hoge nauwkeurigheid vereisen. Houd er echter rekening mee bij projecten die precieze metingen nodig hebben:
- De ESP32 ADC is niet perfect accuraat en kan kalibratie vereisen voor correcte resultaten. Elk ESP32 board kan iets verschillen, dus uw ADC moet per board gekalibreerd worden.
- Kalibratie kan lastig zijn, vooral voor beginners, en geeft niet altijd exact de gewenste resultaten.
Voor projecten die hoge precisie vereisen, overweeg het gebruik van een externe ADC (bijv. ADS1115) samen met de ESP32, of gebruik een Arduino, die een betrouwbaardere ADC heeft. Wilt u toch de ESP32 ADC kalibreren, raadpleeg dan de ESP32 ADC Calibration Driver.
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en laat u stap-voor-stap zien hoe u de LDR lichtsensor module met ESP32 verbindt en programmeert.