ESP8266 - LDR-Modul

Das LDR-Lichtsensor-Modul kann die Lichtmenge in seiner Umgebung erfassen und messen. Es hat zwei Ausgänge: Einen, der ein digitales Signal liefert (entweder LOW oder HIGH), und einen zweiten, der ein analoges Signal liefert.

Dieses Tutorial zeigt Ihnen, wie Sie ein ESP8266-Board und ein LDR-Lichtsensor-Modul verwenden, um das Licht zu erkennen und zu messen. Wir behandeln Folgendes:

LDR-Lichtsensor-Modul
image source: diyables.io

Später können Sie den Code so ändern, dass der LDR-Lichtsensor Licht erkennt und dann eine LED oder eine Glühbirne über ein Relais einschalten kann.

Wenn du einen Lichtsensor in seiner Rohform bevorzugst, empfehle ich dir, dir das Tutorial zum ESP8266-Lichtsensor anzusehen ESP8266 - Lichtsensor.

Erforderliche Hardware

1×ESP8266 NodeMCU
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×LDR Lichtsensor-Modul
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
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.

Über das LDR-Lichtsensor-Modul

Sie können das LDR-Lichtsensor-Modul verwenden, um festzustellen, ob Licht vorhanden ist, oder wie hell es im Bereich ist. Es hat einen digitalen Ausgangspin und einen analogen Ausgangspin, aus denen Sie wählen können.

Pinbelegung

Das LDR-Lichtsensor-Modul hat vier Anschlüsse:

  • VCC-Pin: Schließen Sie ihn an eine Spannungsquelle mit einer Spannung zwischen 3,3 V und 5 V an.
  • GND-Pin: Schließen Sie ihn an die Masse an, die 0 V hat.
  • DO-Pin: Dies ist ein digitaler Ausgangspin. Er liefert ein HIGH-Signal, wenn es dunkel ist, und ein LOW-Signal, wenn es hell ist. Den Schwellenwert zwischen Dunkelheit und Helligkeit können Sie mithilfe eines Potentiometers einstellen, das im Modul eingebaut ist.
  • AO-Pin: Dies ist ein analoger Ausgangspin. Der Ausgangswert sinkt, je heller das Licht wird, und steigt, je dunkler das Licht wird.
LDR-Lichtsensor-Modul Pinbelegung
image source: diyables.io

Darüber hinaus enthält das LDR-Lichtsensor-Modul zwei LED-Indikatoren:

  • Eine PWR-LED-Anzeige zeigt den Stromstatus.
  • Eine DO-LED-Anzeige zeigt den Lichtzustand am DO-Pin an: Sie leuchtet, wenn Licht vorhanden ist, und erlischt, wenn es dunkel ist.

Wie es funktioniert

Bezüglich des DO-Pins:

  • Das LDR-Lichtsensor-Modul verfügt über ein integriertes Potentiometer, mit dem Sie die Empfindlichkeit bzw. den Schwellenwert für die Lichtdetektion einstellen können.
  • Wenn die Lichtintensität in der Umgebung höher als der eingestellte Schwellenwert ist (das bedeutet, es ist hell), wird der Ausgangspin des Sensors auf LOW gesetzt, und die DO-LED leuchtet.
  • Wenn die Lichtintensität in der Umgebung niedriger als der eingestellte Schwellenwert ist (das bedeutet, es ist dunkel), wird der Ausgangspin des Sensors auf HIGH gesetzt, und die DO-LED geht aus.

Bezüglich des AO-Pins:

  • Der vom AO-Pin gelesene Wert nimmt ab, wenn die Lichtintensität der Umgebung zunimmt (was bedeutet, dass es heller ist).
  • Der vom AO-Pin gelesene Wert nimmt zu, wenn die Lichtintensität der Umgebung abnimmt (was bedeutet, dass es dunkler ist).

Beachten Sie, dass das Potentiometer den Wert am AO-Pin nicht beeinflusst.

Verdrahtungsdiagramm

Da das Lichtsensor-Modul zwei Ausgänge hat, können Sie je nach Bedarf entweder einen oder beide davon verwenden.

  • Der Schaltplan zwischen dem ESP8266 und dem LDR-Lichtsensor-Modul, wenn nur DO verwendet wird.
ESP8266 NodeMCU LDR-Lichtsensor-Modul Verdrahtungsdiagramm

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

  • Der Schaltplan zwischen dem ESP8266 und dem LDR-Lichtsensor-Modul, wenn nur AO verwendet wird.
Schaltplan des ESP8266 NodeMCU LDR-Moduls

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

  • Das Verdrahtungsdiagramm zwischen dem ESP8266 und dem LDR-Lichtsensor-Modul, wenn sowohl A0 als auch D0 verwendet werden.
ESP8266 NodeMCU-Lichtsensor-Modul Verdrahtungsdiagramm

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

ESP8266-Code – Wert vom DO-Pin lesen

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-ldr-module */ #define DO_PIN D7 // ESP8266's pin connected to DO pin of the ldr module void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266's pin as an input pinMode(DO_PIN, INPUT); } void loop() { int light_state = digitalRead(DO_PIN); if (light_state == HIGH) Serial.println("The light is NOT present"); else Serial.println("The light is present"); }

Schnelle Schritte

Um mit ESP8266 in der Arduino IDE zu beginnen, folgen Sie diesen Schritten:

  • Schauen Sie sich das Tutorial Anleitung zur Einrichtung der ESP8266-Umgebung in der Arduino IDE an, falls dies Ihr erstes Mal mit ESP8266 ist.
  • Verbinden Sie die Komponenten wie im Diagramm gezeigt.
  • Schließen Sie das ESP8266-Board mit einem USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige ESP8266-Board, wie z. B. NodeMCU 1.0 (ESP-12E Module), und den jeweiligen COM-Port.
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf den ESP8266 hochzuladen.
  • Decken Sie das LDR-Lichtsensor-Modul mit Ihrer Hand ab und legen Sie es wieder frei.
  • Überprüfen Sie das Ergebnis im Serial Monitor.
COM6
Send
The light is present The light is present The light is NOT present The light is NOT present The light is NOT present The light is present The light is present The light is present
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Wenn Sie feststellen, dass der LED-Status unabhängig von den Lichtverhältnissen dauerhaft ein- oder ausgeschaltet bleibt, haben Sie die Möglichkeit, das Potentiometer anzupassen. Diese Anpassung ermöglicht es Ihnen, die Lichtempfindlichkeit des Sensors feinabzustimmen.

Zusätzlich haben Sie die Flexibilität, den Code zu ändern, um eine LED oder eine Leuchte zu aktivieren, wenn Licht erkannt wird. Sie können sogar einen Servomotor steuern, um eine Rotation zu ermöglichen. Für detaillierte Anleitungen und weitere Informationen verweisen Sie bitte auf die Tutorials am Ende dieses Leitfadens.

ESP8266-Code - Wert vom AO-Pin lesen

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-ldr-module */ #define AO_PIN A0 // ESP8266's pin connected to AO pin of the ldr module void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); } void loop() { int light_value = analogRead(AO_PIN); Serial.print("The analog value: "); Serial.println(light_value); }

Schnelle Schritte

  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino-IDE.
  • Klicken Sie auf die Schaltfläche Hochladen in der Arduino-IDE, um den Code auf den ESP8266 hochzuladen.
  • Decken Sie das LDR-Lichtsensor-Modul mit der Hand oder mit etwas anderem ab und wieder auf.
  • Überprüfen Sie das Ergebnis im Serial Monitor.
COM6
Send
The analog value: 145 The analog value: 146 The analog value: 146 The analog value: 572 The analog value: 678 The analog value: 945 The analog value: 956 The analog value: 1001 The analog value: 1002 The analog value: 1012 The analog value: 1013 The analog value: 645 The analog value: 546 The analog value: 346 The analog value: 172
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Dieses Tutorial verwendet die Funktion analogRead(), um Daten von einem ADC (Analog-Digital-Wandler) zu erhalten, der an einen Sensor oder ein anderes Bauteil angeschlossen ist. Der ADC des ESP8266 funktioniert gut für Projekte, bei denen Sie keine sehr genauen Messwerte benötigen. Aber denken Sie daran, der ADC des ESP8266 ist für detaillierte Messungen nicht besonders genau. Wenn Ihr Projekt sehr präzise sein muss, möchten Sie möglicherweise einen separaten ADC wie den ADS1115 mit dem ESP8266 verwenden, oder einen Arduino wie den Arduino Uno R4 WiFi einsetzen, der einen zuverlässigereren ADC hat.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

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