Arduino-Code und Video für ein Lichtsensor-Modul mit Relais
In diesem Tutorial lernen wir, wie man ein Lichtsensor-Modul verwendet, um eine Wechselstromleuchte zu steuern. Das Projekt ermöglicht, dass das Licht automatisch eingeschaltet wird, wenn es dunkel ist, und ausgeschaltet wird, wenn es hell wird. Das ist besonders nützlich für Anwendungen wie Außenbeleuchtung oder Garagenbeleuchtung. Am Ende dieses Tutorials haben Sie ein funktionierendes System, das das Licht effektiv anhand der Umgebungsbedingungen steuern kann. (im Video bei 02:15)

Wir werden ein Lichtsensormodul verwenden, das einen lichtabhängigen Widerstand (LDR) zur Erfassung der Lichtstärke und ein Relais zur Steuerung der Wechselstromleuchte enthält. Das System wird außerdem ein Potentiometer enthalten, um die Empfindlichkeit der Lichterfassung einzustellen. Diese Konfiguration ermöglicht sowohl digitale als auch analoge Steuerung der Beleuchtung anhand des vom Sensor erfassten Umgebungslichts. Zur ausführlichen Erläuterung siehe das Video bei 04:30.
Hardware erklärt
Die Hauptkomponenten dieses Aufbaus sind das Lichtsensormodul, das Relais und das Arduino-Board. Das Lichtsensormodul besteht aus einem LDR, dessen Widerstand sich je nach Lichtintensität ändert und der entweder einen digitalen oder analogen Ausgang liefert. Das Relais fungiert als Schalter, der eine Hochspannungs-Wechselstromlampe steuern kann, während es sicher vom Niederspannungs-Arduino betätigt wird. Diese Trennung ist entscheidend für Sicherheit und Funktionalität.
Das Relais hat drei Hauptpins: common (COM), normally open (NO) und normally closed (NC). Wenn es aktiviert wird, verbindet das Relais den gemeinsamen Pin mit dem normalerweise offenen Pin, wodurch Strom durch die angeschlossene Lampe fließen kann. Dieser Mechanismus ermöglicht es dem Relais, die Lampe basierend auf den vom Arduino empfangenen Signalen zu steuern.
Details des Datenblatts
| Hersteller | Generisch |
|---|---|
| Teilenummer | Lichtsensormodul |
| Logik-/I/O-Spannung | 5 V |
| Versorgungsspannung | 5 V |
| Ausgangsstrom (pro Kanal) | 10 mA |
| Spitzenstrom (pro Kanal) | 20 mA |
| Leitfaden zur PWM-Frequenz | nicht zutreffend |
| Schwellenwerte der Eingangslogik | 2.5 V (hoch) / 0.8 V (niedrig) |
| Spannungsabfall / RDS(on)/ Sättigung | 0.2 V typisch |
| Thermische Grenzwerte | 85 °C |
| Paket | Modul |
| Notizen / Varianten | Enthält ein Potentiometer zur Einstellung der Empfindlichkeit. |
- Stellen Sie eine ausreichende Wärmeabfuhr für das Relais sicher.
- Verwenden Sie einen Pull-up-Widerstand für den Eingang des Lichtsensors.
- Prüfen Sie die Spannungsangaben, bevor Sie Wechselstromgeräte anschließen.
- Berühren Sie keine freiliegenden Drähte, wenn das System unter Spannung steht.
- Stellen Sie das Potentiometer auf die gewünschte Lichtempfindlichkeit ein.
Verdrahtungsanleitung

Um das Lichtsensormodul und das Relais mit dem Arduino zu verdrahten, beginnen Sie damit, den VCC-Pin des Lichtsensormoduls mit dem 5V-Pin am Arduino zu verbinden. Verbinden Sie anschließend den Ground-Pin (GND) des Lichtsensors mit einem GND-Pin am Arduino. Der digitale Ausgangspin des Lichtsensors sollte mit Pin 2 am Arduino verbunden werden, während der analoge Ausgangspin für analoge Messwerte mit A0 verbunden wird.
Nun verbindest du den VCC-Pin des Relais mit dem 5V-Pin des Arduino und den GND-Pin mit GND. Der Eingangspin des Relais sollte mit Pin 9 am Arduino verbunden werden. Schließlich verbindest du einen Draht deiner Wechselstromlampe mit dem gemeinsamen Anschluss (COM) des Relais und den anderen Draht mit dem normalerweise offenen Anschluss (NO). Diese Anordnung ermöglicht es dem Relais, die Wechselstromlampe anhand der Messwerte des Lichtsensors zu steuern.
Codebeispiele & Schritt-für-Schritt-Anleitung
Im grundlegenden digitalen Code für den Lichtsensor definieren wir die Pins für den Sensor und das Relais. Die Setup-Funktion initialisiert die serielle Kommunikation und setzt die Pin-Modi:

#define LIGHT 2 // define pin 2 for sensor
#define RELAY 9 // define pin 9 as for relay
void setup() {
Serial.begin(9600); // setup Serial Monitor
pinMode(LIGHT, INPUT_PULLUP); // define pin as Input sensor
pinMode(RELAY, OUTPUT); // define pin as OUTPUT for relay
}
Dieser Code richtet Pin 2 als Eingang zum Auslesen des Lichtsensors und Pin 9 als Ausgang zur Steuerung des Relais ein. Der serielle Monitor wird ebenfalls initialisiert, um Rückmeldung über den Lichtstatus zu geben.
Innerhalb der loop()-Funktion lesen wir kontinuierlich den Zustand des Sensors aus:
int L = digitalRead(LIGHT); // read the sensor
if (L == 1) {
Serial.println(" light is ON");
digitalWrite(RELAY, LOW); // turn the relay ON
} else {
Serial.println(" === light is OFF");
digitalWrite(RELAY, HIGH); // turn the relay OFF
}
Diese Logik prüft den Zustand des Lichtsensors und schaltet das Relais entsprechend ein oder aus, wobei sie über den seriellen Monitor Rückmeldung gibt.
Im fortgeschrittenen Analogcode integrieren wir eine Methode, um Werte vom Analogausgang zu lesen:
if (digital == true) {
int L = digitalRead(LIGHT); // read the sensor
if (L == 1) {
Serial.println(" light is ON");
digitalWrite(RELAY, LOW); // turn the relay ON
} else {
Serial.println(" === light is OFF");
digitalWrite(RELAY, HIGH); // turn the relay OFF
}
} else {
int a0Value = analogRead(A0); // read A0 value
if (a0Value >= LightValue) {
Serial.print(analogRead(A0));
Serial.println(" Light is ON");
digitalWrite(RELAY, LOW); // turn the relay ON
} else {
Serial.print(analogRead(A0));
Serial.println(" === light OFF");
digitalWrite(RELAY, HIGH); // turn the relay OFF
}
}
Dieser Abschnitt ermöglicht die Anpassung der Empfindlichkeit basierend auf dem analogen Messwert des Lichtsensors und bietet so mehr Kontrolle über die Aktivierungsschwellen des Lichts.
Demonstration / Was Sie erwartet
Wenn die Einrichtung abgeschlossen und das Gerät eingeschaltet ist, sollte das Licht bei schlechten Lichtverhältnissen angehen und bei hellem Licht ausgehen. Sie können das System testen, indem Sie den Lichtsensor abdecken, um Dunkelheit zu simulieren, und die Aktivierung des Relais beobachten. Bei richtiger Konfiguration zeigt der serielle Monitor "Licht ist AN" oder "Licht ist AUS" basierend auf den Sensormesswerten an. Achten Sie darauf, beim Anschluss der Wechselstromlampe die Polarität nicht zu vertauschen, da dies Fehlfunktionen oder Sicherheitsrisiken verursachen kann (im Video bei 10:00).
Video-Zeitstempel
- 00:00Einführung in das Projekt
- 02:15Überblick über Komponenten und Verkabelung
- 04:30Erklärung des Codes
- 10:00Demonstration der Funktionalität
Dinge, die Sie vielleicht brauchen
-
Amazon
Ressourcen & Referenzen
Noch keine Ressourcen vorhanden.
Dateien📁
Fritzing-Datei
-
LDR-Lichtsensor-Modul schwarz
LDR_module_black.fzpz0.01 MB