ESP32 C3 Super Mini - Lichtsensor

Lernen Sie, wie Sie einen Lichtsensor (Fotowiderstand/LDR) mit Ihrem ESP32 C3 Super Mini verbinden und in Ihren Arduino-Projekten die Lichtstärke auslesen. Diese einsteigerfreundliche Anleitung behandelt alles von der Verdrahtung bis zum Code.

In diesem Tutorial lernen Sie:

ESP32 C3 Super Mini - Lichtsensor

Erforderliche Hardware

1×ESP32 C3 Super Mini
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Lichtsensor
1×10 kΩ Resistor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Komponenten-Optionen:

Der LDR-Lichtsensor ist sehr günstig, benötigt für die Verdrahtung aber einen Widerstand, was den Aufbau komplizierter machen kann. Um die Verdrahtung zu vereinfachen, können Sie alternativ ein LDR-Lichtsensormodul verwenden.

Überblick über Light Sensor

Ein Lichtsensor (Fotowiderstand) ist ein analoges Bauteil, das seinen Widerstand abhängig von der Lichtmenge ändert, die auf seine Oberfläche trifft.

Wichtige Merkmale:

  • Auch Fotozelle oder lichtabhängiger Widerstand (LDR) genannt
  • Erkennt das Vorhandensein und die Helligkeit des Umgebungslichts
  • Der Widerstand sinkt bei mehr Licht
  • Der Widerstand steigt bei Dunkelheit
  • Günstig und für Einsteiger einfach zu verwenden
  • Ideal für automatische Beleuchtungsprojekte und die Überwachung der Lichtstärke

Technische Daten:

  • Analoger Ausgang (variabler Widerstand)
  • Typischer Widerstandsbereich: 200Ω (helles Licht) bis 10MΩ (Dunkelheit)
  • Ansprechzeit: 20-30ms
  • Funktioniert mit Spannungsteilerschaltungen

Lichtsensor-Pinbelegung

Der Fotowiderstand hat zwei ungepolte Pins.

  • Pin 1: Mit einer beliebigen Seite des Spannungsteilers verbinden
  • Pin 2: Mit einer beliebigen Seite des Spannungsteilers verbinden

Hinweis: Anders als bei LEDs oder Dioden sind die Pins des Lichtsensors austauschbar - Sie müssen nicht auf die Polarität achten.

Lichtsensor-Pinbelegung

Wie ein Lichtsensor funktioniert

Der Widerstand des Fotowiderstands ändert sich umgekehrt zur Lichtintensität - mehr Licht bedeutet weniger Widerstand.

Funktionsprinzip:

  • Helles Licht → Niedriger Widerstand → Höhere Spannung am analogen Pin des ESP32
  • Schwaches Licht → Hoher Widerstand → Niedrigere Spannung am analogen Pin des ESP32
  • Der ESP32 liest die Spannung und wandelt sie in einen digitalen Wert (0-4095) um
  • Höhere Analogwerte bedeuten hellere Bedingungen
Wie ein Lichtsensor funktioniert

WARNING

Der vom Fotowiderstand gemessene Wert gibt nur die ungefähre Tendenz der Lichtintensität wieder, er stellt NICHT exakt den Lichtstrom dar. Daher sollte der Fotowiderstand nicht in Anwendungen eingesetzt werden, die hohe Genauigkeit erfordern. Für manche Anwendungen ist außerdem eine Kalibrierung erforderlich.

ESP32 C3 Super Mini - Lichtsensor

Der ESP32 C3 Super Mini liest die Werte des Lichtsensors über seine analogen Eingangspins.

Funktionsweise:

  • Die analogen Pins des ESP32 wandeln Spannungen (0V bis 3.3V) in ganzzahlige Werte (0 bis 4095) um
  • Dieser digitale Wert wird als ADC-Wert (Analog-Digital-Wandler) bezeichnet
  • Verwenden Sie die Funktion analogRead(), um den Sensorwert zu lesen
  • Höhere ADC-Werte = hellere Lichtverhältnisse
  • Niedrigere ADC-Werte = dunklere Bedingungen

Schaltplan zwischen Lichtsensor und ESP32 C3 Super Mini

Verbinden Sie den Lichtsensor über eine Spannungsteilerschaltung mit einem 10kΩ-Widerstand mit Ihrem ESP32 C3 Super Mini.

Sicherheitshinweise:

  • Hinweis: Prüfen Sie die Verbindungen doppelt, bevor Sie die Stromversorgung einschalten
  • Hinweis: Stellen Sie sicher, dass der Widerstand 10kΩ hat, damit die Spannung richtig geteilt wird
ESP32 C3 Super Mini Lichtsensor Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Verdrahtungsverbindungen:

Lichtsensor Pin 1 3.3V
Lichtsensor Pin 2 GPIO4 (Analogpin) + 10kΩ-Widerstand
10kΩ-Widerstand (anderes Ende) GND

ESP32 C3 Super Mini Code

So programmieren Sie Ihren ESP32 C3 Super Mini, um die Werte des Lichtsensors zu lesen und die Helligkeitsstufe zu bestimmen.

Was dieser Code macht:

  • Liest analoge Werte vom Lichtsensor an GPIO4
  • Wandelt ADC-Werte in Helligkeitskategorien um
  • Zeigt die Lichtstärke im seriellen Monitor an
  • Aktualisiert die Messwerte alle 500 Millisekunden
  • Kategorisiert das Licht als: Dunkel, Schwach, Mittel oder Sehr hell
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-c3/esp32-c3-super-mini-light-sensor */ #define LIGHT_SENSOR_PIN A0 // The ESP32 C3 SuperMini pin connect to the light sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { // reads the input on analog pin (value between 0 and 4095) int analog_value = analogRead(LIGHT_SENSOR_PIN); Serial.print("Analog Value = "); Serial.print(analog_value); // The raw analog reading // We'll have a few threshholds, qualitatively determined if (analog_value < 40) { Serial.println(" => Dark"); } else if (analog_value < 800) { Serial.println(" => Dim"); } else if (analog_value < 2000) { Serial.println(" => Light"); } else if (analog_value < 3200) { Serial.println(" => Bright"); } else { Serial.println(" => Very bright"); } delay(500); }

Schnelle Schritte

  • Neu beim ESP32 C3 Mini? Absolvieren Sie zuerst unser Tutorial Erste Schritte mit dem ESP32 C3 Mini, um Ihre Entwicklungsumgebung einzurichten.
  • Code kopieren: Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Board auswählen: Stellen Sie sicher, dass ESP32 C3 Super Mini unter Tools > Board ausgewählt ist.
  • ESP32 anschließen: Verbinden Sie Ihren ESP32 C3 Super Mini über ein USB-Typ-C-Kabel mit Ihrem Computer.
  • Code hochladen: Klicken Sie in der Arduino IDE auf die Schaltfläche Upload.
  • Seriellen Monitor öffnen: Klicken Sie auf das Symbol des seriellen Monitors oder drücken Sie Strg+Umschalt+M.
  • Baudrate einstellen: Stellen Sie den seriellen Monitor auf 115200 Baud ein.
  • Sensor testen: Decken Sie den Lichtsensor mit Ihrer Hand ab und setzen Sie ihn dann hellem Licht aus.
  • Ergebnisse beobachten: Beobachten Sie, wie sich die Analogwerte und die Beschreibungen der Lichtstärke in Echtzeit ändern.
  • Profi-Tipp: Die Schwellenwerte (1000, 2000, 3000) können an Ihre Umgebungslichtverhältnisse angepasst werden, um genauere Messwerte zu erhalten.
So öffnen Sie den seriellen Monitor in der Arduino IDE

Erwartete Ausgabe im seriellen Monitor:

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
Analog Value = 3845 => Very bright Analog Value = 3921 => Very bright Analog Value = 3887 => Very bright Analog Value = 2456 => Medium Analog Value = 2398 => Medium Analog Value = 892 => Dim Analog Value = 845 => Dim Analog Value = 312 => Dark Analog Value = 289 => Dark
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

Lichtsensor und LED

Erstellen wir nun ein automatisches Beleuchtungssystem, das eine LED einschaltet, wenn es dunkel wird.

Verdrahtungsdiagramm

Fügen Sie Ihrer Schaltung eine LED hinzu, um einen lichtgesteuerten Schalter zu erstellen.

ESP32 C3 Super Mini Lichtsensor LED Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Zusätzliche Verbindungen:

LED-Anode (langes Bein) GPIO8 (über 220Ω-Widerstand)
LED-Kathode (kurzes Bein) GND

ESP32 C3 Super Mini Code

Dieser Code steuert eine LED automatisch abhängig vom Umgebungslicht - ideal für automatische Nachtlichter.

Was dieser Code macht:

  • Liest fortlaufend die Werte des Lichtsensors
  • Vergleicht die Messwerte mit einem Schwellenwert (1000)
  • Schaltet die LED EIN, wenn es dunkel ist (Wert < 1000)
  • Schaltet die LED AUS, wenn es hell ist (Wert ≥ 1000)
  • Erstellt ein automatisches Beleuchtungssystem
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-c3/esp32-c3-super-mini-light-sensor */ #define LIGHT_SENSOR_PIN A0 // The ESP32 C3 SuperMini pin connect to the light sensor #define LED_PIN 2 // The Arduino NanO ESP32 pin 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 analog_value = analogRead(LIGHT_SENSOR_PIN); // read the value on analog pin if (analog_value < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }

※ Notiz:

Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der mit einem Sensor oder einer Komponente verbunden ist. Der ADC des ESP32 C3 Super Mini eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Für Projekte mit präzisen Messungen sollten Sie jedoch Folgendes beachten:

  • Der ADC des ESP32 C3 Super Mini ist nicht perfekt genau und muss für korrekte Ergebnisse eventuell kalibriert werden. Jede ESP32 C3 Super Mini Platine kann leicht abweichen, daher ist eine Kalibrierung für jede einzelne Platine notwendig.
  • Die Kalibrierung kann besonders für Einsteiger schwierig sein und liefert nicht immer genau die gewünschten Ergebnisse.

Für Projekte, die hohe Präzision erfordern, sollten Sie einen externen ADC (z. B. ADS1115) mit dem ESP32 C3 Super Mini verwenden oder einen anderen Arduino wie den Arduino Uno R4 WiFi einsetzen, der einen zuverlässigeren ADC besitzt. Wenn Sie den ADC des ESP32 C3 Super Mini dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver.

Anwendungs- und Projektideen

Da Sie nun wissen, wie Sie einen Lichtsensor mit dem ESP32 C3 Super Mini verwenden, hier einige praktische Projektideen:

  • Automatisches Nachtlicht: Die LED schaltet sich automatisch ein, wenn es im Raum dunkel wird
  • Intelligenter Pflanzenmonitor: Verfolgen Sie die Sonnenlichtmenge für Ihre Zimmerpflanzen
  • Sicherheitssystem: Erkennen Sie, wenn in einem Raum Lichter ein- oder ausgeschaltet werden
  • Wetterstation: Überwachen Sie Tageslichtstunden und Bewölkung
  • Energiesparer: Steuern Sie Jalousien automatisch abhängig vom Sonnenlicht
  • Belichtungsmesser für die Fotografie: Messen Sie das Umgebungslicht für Kameraeinstellungen

Video-Tutorial

Sehen Sie sich das folgende Video an, um eine visuelle Schritt-für-Schritt-Anleitung zu diesem Projekt zu erhalten.

Fordern Sie sich selbst heraus

Bringen Sie Ihre Fähigkeiten mit dem Lichtsensor mit diesen Aufgaben auf die nächste Stufe:

  • Einfach: Fügen Sie einen Summer hinzu, der piept, wenn die Lichtstärke von hell zu dunkel wechselt
  • Einfach: Zeigen Sie "Guten Morgen!" an, wenn Licht erkannt wird, und "Gute Nacht!", wenn es dunkel ist
  • Mittel: Erstellen Sie einen Datenlogger, der die Lichtstärke jede Minute auf einer SD-Karte aufzeichnet
  • Mittel: Bauen Sie eine intelligente Vorhangsteuerung, die sich bei Sonnenauf- und -untergang öffnet bzw. schließt
  • Fortgeschritten: Implementieren Sie eine Solarpanel-Nachführung, die die Lichtintensität mit mehreren Sensoren überwacht
  • Fortgeschritten: Erstellen Sie ein Gewächshaus-Automatisierungssystem mit lichtabhängiger Bewässerung und Lüftungssteuerung

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!