Verwendung eines LDR mit Arduino und einem Steuerungsschalter, um ein Arduino zu beleuchten.

Verwendung eines LDR mit Arduino und einem Steuerungsschalter, um ein Arduino zu beleuchten.

In diesem Tutorial werden wir erkunden, wie man einen lichtabhängigen Widerstand (LDR) mit einem Arduino verwendet, um ein Licht basierend auf den Umgebungslichtverhältnissen zu steuern. Der LDR ändert seinen Widerstand je nach Lichtintensität; somit kann er verwendet werden, um zu erkennen, ob es in einer Umgebung hell oder dunkel ist. Wenn das Licht unter einen bestimmten Schwellenwert fällt, werden wir einen Ausgangspin aktivieren, um ein Licht einzuschalten.

LDR Illustration and symbol

Die Hauptkomponenten, die Sie benötigen, sind ein Arduino-Board, ein 10k Ohm Widerstand, der LDR und einige Jumperdrähte. Der LDR wird in einer Spannungsteilerkonfiguration mit dem Widerstand verbunden, um die analoge Spannung zu messen, die sich je nach Lichtintensität ändert. Wir werden diese Spannung verwenden, um eine LED oder andere Ausgabegeräte zu steuern.

Für eine visuelle Demonstration des Setups und des Codes sollten Sie sich das zugehörige Video (im Video bei 0:10) ansehen.

Hardware erklärt

Der lichtabhängige Widerstand (LDR) ist eine Art von Widerstand, dessen Widerstand mit zunehmender Lichtintensität abnimmt. Er wird häufig in Anwendungen eingesetzt, in denen Lichtniveaus überwacht werden müssen. In unserem Setup wird der LDR verwendet, um die Umgebungslichtniveaus zu erfassen und eine entsprechende analoge Spannung an das Arduino zu senden.

Der Arduino wird diese Spannung über einen seiner analogen Pins lesen und entscheiden, ob das angeschlossene Licht basierend auf einem definierten Schwellenwert ein- oder ausgeschaltet werden soll. Der 10k Ohm Widerstand wird in der Spannungsteiler-Konfiguration mit dem LDR verwendet, um eine stabile Spannungsausgabe zu erzeugen, die der Arduino lesen kann.

Datenblattdetails

HerstellerAllgemein
TeilenummerLDR
Widerstand (leicht)100 - 500 Ω
Widerstand (dunkel)10 kΩ - 1 MΩ
Betriebsspannung3,3 V - 5 V
Antwortzeit20 ms (typ.)
PaketDurchgangsloch

  • Stellen Sie sicher, dass die richtigen Spannungspegel eingehalten werden; überschreiten Sie nicht 5V.
  • Verwenden Sie einen Pull-Down-Widerstand, um die Messwerte zu stabilisieren.
  • Wählen Sie einen geeigneten Widerstandswert (10kΩ) für den Spannungsteiler.
  • Erwägen Sie die Verwendung eines Kondensators zur Geräuschfilterung, falls erforderlich.
  • Halten Sie den LDR während des Tests von direkten Lichtquellen fern.

Verdrahtungsanweisungen

Wiring LDR with Arduino
Wiring LDR with Arduino

Um den Schaltkreis einzurichten, beginnen Sie damit, einen Anschluss des LDR an die 3,3V-Stromversorgung des Arduino anzuschließen. Der andere Anschluss des LDR wird mit einem Ende des 10k Ohm Widerstands verbunden. Das andere Ende des Widerstands sollte mit dem Ground verbunden werden.

Als nächstes stellen Sie eine Verbindung zwischen dem Anschluss des LDR und dem Widerstand zu einem analogen Eingangspin her, wie zum BeispielA0Diese Verbindung ermöglicht es dem Arduino, die Spannung zu messen. Stellen Sie sicher, dass Sie den Ground des Arduinos mit dem gemeinsamen Ground Ihres Schaltkreises verbinden, um eine ordnungsgemäße Funktionalität zu gewährleisten.

Codebeispiele und Anleitung

Der folgende Codeausschnitt initialisiert die serielle Kommunikation und liest den analogen Wert vom LDR. Der Wert wird dann in eine Spannung umgewandelt und im seriellen Monitor ausgegeben.

int LDRvalue = analogRead(A0); // Read the analog value from LDR
float voltage = LDRvalue * (5.0 / 1023.0); // Convert to voltage
Serial.print("Voltage ="); // Print label
Serial.print(voltage); // Print actual voltage

In diesem Code ist die VariableLDRvaluespeichert die rohe analoge Ablesung vom LDR. Die Spannung wird basierend auf dem maximalen analogen Wert (1023) und der Spannungsreferenz (5V) berechnet.

Als Nächstes überprüfen wir, ob diese Spannung unter einem Schwellenwert (in diesem Fall 3V) liegt, um einen Ausgangspin zu steuern.

if(voltage < 3 ){ 
  digitalWrite(10, HIGH); // Turn on the light
}else{
  digitalWrite(10, LOW); // Turn off the light
}

Hier, wenn die gemessene Spannung unter 3 Volt liegt, setzen wir den Ausgangspin (10) auf HIGH, um das Licht einzuschalten; andernfalls wird er auf LOW gesetzt, um es auszuschalten. Das ständige Überprüfen des Lichtzustands ermöglicht eine Echtzeitsteuerung basierend auf den Umgebungslichtverhältnissen.

Demonstration / Was zu erwarten ist

Nach dem Abschluss der Verkabelung und dem Hochladen Ihres Codes sollten Sie sehen, wie sich die Spannungswerte im seriellen Monitor ändern, während Sie die Lichtintensität am LDR variieren. Wenn Sie den LDR abdecken, sollte die Spannung steigen, und wenn er Licht ausgesetzt ist, sollte sie sinken. Dieses Verhalten wird sich direkt auf den Ausgangspin auswirken, der das Licht steuert.

Seien Sie vorsichtig bei häufigen Fallstricken, wie z. B. schwankenden Eingaben oder falschen Spannungspegeln, die zu fehlerhaften Messwerten führen können (im Video um 12:30).

Video-Zeitstempel

  • 00:00Einführung in LDR
  • 01:30Hardware-Setup
  • 03:45Code-Erklärung
  • 06:00Den Code ausführen
  • 09:15Fehlerbehebungstipps

Bilder

Wiring LDR with Arduino
Wiring LDR with Arduino
An LDR
An LDR
LDR Illustration and symbol
LDR Illustration and symbol
14-Using an LDR with an Arduino and a control switch for a light
Sprache: C++
Kopiert!

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Keine Dateien verfügbar.