Arduino-Code und Video für ein Lichtsensor-Modul mit Relais

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)

LDR light sensor module

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

HerstellerGenerisch
TeilenummerLichtsensormodul
Logik-/I/O-Spannung5 V
Versorgungsspannung5 V
Ausgangsstrom (pro Kanal)10 mA
Spitzenstrom (pro Kanal)20 mA
Leitfaden zur PWM-Frequenznicht zutreffend
Schwellenwerte der Eingangslogik2.5 V (hoch) / 0.8 V (niedrig)
Spannungsabfall / RDS(on)/ Sättigung0.2 V typisch
Thermische Grenzwerte85 °C
PaketModul
Notizen / VariantenEnthä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

Arduino wiring for LDR light sensor module

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

Bilder

LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
Light_LDR_sensor-4
Light_LDR_sensor-4
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
Light LDR sensor module schematic
Light LDR sensor module schematic
Arduino wiring for LDR light sensor module
Arduino wiring for LDR light sensor module
LDR light sensor module
LDR light sensor module
75-Light sensor module for Arduino (basic digital)
Sprache: C++
76-Light sensor module for Arduino (Advanced: analog)
Sprache: C++
Kopiert!

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Fritzing-Datei