ESP32 - Lichtsensor schakelt relais

Deze tutorial legt uit hoe u de ESP32, een lichtsensor en een relais gebruikt om een project te maken dat:

We kunnen deze tutorial uitbreiden om automatisch een ledstrip of lamp aan te schakelen wanneer het donker is.

Hardware benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×Lichtsensor
1×10 kΩ weerstand
1×Relais
1×(optioneel) Solenoïde slot
1×(optioneel) 12V Actieve Zoemer (Buzzer)
1×(optioneel) 12V Koelventilator
1×(optioneel) 12V Waarschuwingslamp helder waterdicht
1×12V Voeding Adapter
1×Breadboard (experimenteerprint)
1×Jumper Draden (male-male)
1×(optioneel) DC Power Jack
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 zeer betaalbaar, maar vereist een weerstand voor de bedrading, wat de opstelling complexer kan maken. Om de bedrading te vereenvoudigen, kunt u als alternatief een LDR lichtsensor module gebruiken.

Over Relais en Lichtsensor

We hebben specifieke tutorials over het relais en de lichtsensor. Elke tutorial bevat gedetailleerde informatie en stapsgewijze instructies over de hardware pinout, het werkingsprincipe, verbinding met de ESP32, ESP32 code... Lees meer over deze onderwerpen via de volgende links:

Bedradingsschema

ESP32 Light Sensor Relay Light Bulb Wiring Diagram

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-relay */ #define LIGHT_SENSOR_PIN 36 // ESP32 pin GPIO36 (ADC0) connected to light sensor #define RELAY_PIN 27 // ESP32 pin GPIO27 connected to Relay #define ANALOG_THRESHOLD 500 void setup() { // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(RELAY_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(RELAY_PIN, HIGH); // turn on Relay else digitalWrite(RELAY_PIN, LOW); // turn off Relay }

Snelstart

  • Als dit de eerste keer is dat u een ESP32 gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Maak de bedrading volgens de bovenstaande afbeelding.
  • Verbind het ESP32 board met uw pc via een micro USB-kabel.
  • Open Arduino IDE op uw pc.
  • Selecteer het juiste ESP32 board (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 board door op de Upload-knop te klikken in Arduino IDE.
Arduino IDE Upload Code
  • Laat licht op de sensor schijnen.
  • Kijk hoe de status van het relais verandert.

Regel-voor-regel Code Uitleg

De bovenstaande ESP32-code bevat uitleg bij iedere regel. Lees de commentaarregels in de code!

※ Notiz:

Deze tutorial maakt gebruik van 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 precisie vereisen. Maar voor projecten die nauwkeurige metingen vereisen, let op:

  • De ADC van de ESP32 is niet perfect nauwkeurig en kan kalibratie nodig hebben voor correcte resultaten. Elk ESP32 board kan iets afwijken, dus u moet de ADC voor elk board afzonderlijk kalibreren.
  • Kalibratie kan lastig zijn, vooral voor beginners, en geeft wellicht niet altijd de gewenste exacte resultaten.

Voor projecten die hoge precisie vereisen, overweeg het gebruik van een externe ADC (bijv. ADS1115) 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 om het voor u gemakkelijker te maken om het project succesvol af te ronden.

※ 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!