ESP32 - Lichtsensor Stuurd LED

Deze tutorial legt uit hoe u de ESP32, een lichtsensor en een LED gebruikt voor een project dat het volgende doet:

Hardware vereist

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×Lichtsensor
1×LED Kit
1×LED (red)
1×220 ohm weerstand
1×10 kΩ weerstand
1×Breadboard (experimenteerprint)
1×Jumperdraden
1×(optioneel) DC-voedingstekker
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

De LDR lichtsensor is erg betaalbaar, maar vereist een weerstand bij het aansluiten, wat de bedrading iets complexer kan maken. Om de bedrading te vereenvoudigen kunt u als alternatief een LDR lichtsensor module gebruiken.

Over LED en lichtsensor

We hebben specifieke tutorials over LED en lichtsensoren. Elke tutorial bevat gedetailleerde informatie en stapsgewijze instructies over hardware pinout, werkingsprincipe, bedrading naar ESP32, ESP32 code... Leer er meer over via de volgende links:

Bedradingsschema

ESP32 Lichtsensor LED Bedradingsschema

This image is created using Fritzing. Click to enlarge image

ESP32 Code

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-light-sensor-triggers-led */ // constants won't change #define LIGHT_SENSOR_PIN 36 // ESP32 pin GPIO36 (ADC0) connected to light sensor #define LED_PIN 22 // ESP32 pin GPIO22 connected to LED #define ANALOG_THRESHOLD 500 void setup() { // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(LED_PIN, OUTPUT); // set ESP32 pin to output mode } void loop() { int analogValue = analogRead(LIGHT_SENSOR_PIN); // read the value on analog pin if (analogValue < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }

Snelle Stappen

  • Als u voor het eerst ESP32 gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Maak de bedrading zoals op bovenstaande afbeelding.
  • Verbind de ESP32-bord met uw pc via een micro-USB-kabel.
  • Open Arduino IDE op uw pc.
  • Selecteer het juiste ESP32-bord (bijv. ESP32 Dev Module) en de juiste COM-poort.
  • Kopieer de bovenstaande code en plak deze in Arduino IDE.
  • Compileer en upload de code naar het ESP32-bord door te klikken op de Upload-knop in Arduino IDE.
Arduino IDE Code Uploaden
  • Straal licht uit op de sensor.
  • Bekijk de verandering in de status van de LED.

Regel-voor-regel Code-uitleg

De ESP32-code hierboven bevat een regel-voor-regel uitleg. Lees alstublieft de opmerkingen in de code!

※ Notiz:

Deze tutorial gebruikt de functie analogRead() om waarden te lezen van een ADC (Analog-to-Digital Converter) verbonden met een lichtsensor. De ADC van de ESP32 is geschikt voor projecten die geen hoge nauwkeurigheid vereisen. Voor projecten die wel precieze metingen nodig hebben, geldt het volgende:

  • De ADC van de ESP32 is niet perfect nauwkeurig en kan kalibratie nodig hebben voor correcte resultaten. Elk ESP32-bord kan namelijk iets verschillen, dus u moet de ADC voor elk bord afzonderlijk kalibreren.
  • Kalibreren kan lastig zijn, vooral voor beginners, en levert mogelijk niet altijd de exacte gewenste resultaten op.

Voor projecten die hoge precisie vereisen, overweeg het gebruik van een externe ADC (zoals ADS1115) met de ESP32 of het gebruik van een Arduino, die een betrouwbaardere ADC heeft. Wilt u toch de ADC van de ESP32 kalibreren, raadpleeg dan ESP32 ADC Kalibratiedriver

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 maakt het makkelijker om het project stap voor stap te volgen.

Reacties

Heeft u vragen of opmerkingen? Deel ze gerust hieronder!

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!