Benötigte Kono UNO R3 kompatibles Board
- Fotowiderstand
- 1k Widerstand
- 3 Jumperkabel
- Breadboard
Übersicht
In dieser Anleitung zeigen wir Ihnen, wie Sie einen Fotowiderstand als Lichtsensor verwenden, um die Umgebungshelligkeit zu messen. Lichtsensoren sind besonders praktisch, um in Elektronikprojekten die Tageszeit zu berücksichtigen oder Aktoren auszulösen. Typische Anwendungen wären intelligente Lichtsteuerungen von Lampen, die Steuerung von Sonnenschutz wie Rollläden und Jalousien oder die automatische Helligkeit von digitalen Displays.
Funktionsweise
Ein Fotowiderstand ist lichtempfindliches Bauteil, es wird auch oft mit LDR abgekürzt, Englisch für Light Dependent Resistor. Wie der Name bereits andeutet, verändert der LDR je nach Helligkeit seinen Widerstand. Dieser Fotowiderstand hat ca. 50k Ohm in Dunkelheit und 500 Ohm in hellem Licht.
Unser Arduino UNO R3 Board kann nur analoge Signale (Spannungen) erfassen, mit dem reinen Widerstand kann es nichts anfangen.
Um den Widerstand in analoge Messwerte umzuwandeln, verwenden wir einen normalen Widerstand in Reihe geschaltet. So kann der analoge Eingang am Arduino eine variierende Spannung auslesen, die wir dann in Messwerte umwandeln.
Wenn zwei Verbraucher zwischen 5V und GND in Reihe geschaltet werden, teilen Sie sich die Spannung. Dieses Prinzip machen wir uns zunutze, um zwischen den beiden Widerständen die Spannung zu ermitteln.
Unter hellem Licht wird der Widerstand vom Fotowiderstand gering, so dass der 1k Widerstand Richtung GND zieht und die vollen 5V durchfließen können. Wenn das Licht schwächer wird, erhöht sich der Widerstand vom Fotowiderstand und wird größer als der feste 1k Widerstand. Dadurch wird die gemessene Spannung kleiner, als würde man einen Regler herunterdrehen.
Die gemessene Spannung wird am analogen Eingang A0 des Arduinos in Zahlen von 0 bis 1023 umgewandelt.
Hier entspricht der Messwert von 1023 unseren 5V - also eine hohe Helligkeit. Die Zahl 0 entspricht 0 Volt - also völlige Dunkelheit
Schaltplan
Anschlussplan
Das erste Beinchen des Fotowiderstands wird an 5V verkabelt. Das zweite Beinchen mit einem Widerstand+ Kabel an GND und mit einem weiteren Kabel an A0.
Code
Mit diesem Beispielcode können Sie die Messwerte im seriellen Monitor auslesen. Ab dem Schwellenwert 512, also ca. der Hälfte der maximalen Helligkeit geht die onboard LED auf dem Arduino UNO aus.
Probieren Sie es aus und halten sie die Hand über den Fotowiderstand. Beobachten Sie im seriellen Monitor der Arduino IDE, wie sich die Messwerte verändern.
int LDR = A0; // Analoger Pin als LDR Eingang
int LED = 13; // LED-Pin
int sensorWert = 0; // Variable für den Sensorwert mit 0 als Startwert
void setup()
{
Serial.begin(9600);
pinMode (LED, OUTPUT);
}
void loop()
{
sensorWert =analogRead(LDR); //
Serial.println(sensorWert); //Ausgabe am Serial-Monitor.
if (sensorWert > 512 ) // Wenn der Schwellenwert 512 überschritten wird, soll die LED leuchten
{
digitalWrite(LED, HIGH); // LED an
}
// ansonsten...
else{
digitalWrite(LED, LOW); // LED aus
delay (50);
}
}