Ein Fotowiderstand oder LDR, von englisch Light Dependent Resistor ist ein auf Licht reagierendes elektrisches Bauteil.
Üblicherweise besteht ein solcher Widerstand aus Keramik (hier rot), auf dessen Oberseite eine dünne Schicht eines fotosensitiven Halbleitermaterials aufgebracht worden ist. Darauf liegen zwei elektrischen Kontakte. Sie bestehen aus ineinander verzahnten, aber elektrisch getrennten Metallflächen. So wird ereicht, dass der LDR je nach einfallendem Licht seinen Widerstandswert ändert. Bei wenig Licht ist er größer, bei viel Licht geringer.
Diese Eigenschaft wird in unserem Beispiel genutzt, um eine elektrische Lichtquelle entsprechend den herrschenden Lichtverhältnissen ein- oder auszuschalten. Hier der Aufbau:
Um zu verstehen, was geschieht, muss man wissen, dass zwei hintereinander (in Reihe) geschaltete Verbraucher (die beiden Widerstände) sich die angelegte Spannung (5V) teilen. Ändert sich ein Widerstandswert (wie beim LDR je nach einfallendem Licht) hat das Einfluss auf die dort zu messende Spannung. Über den analogen Eingang A0 kann der Arduino diesen Spannungswert ermitteln und in eine Zahl umwandeln. Diese Zahl schwankt zwischen 0 bei 0V und 1023 bei 5V (1024 Zahlen = 10 Bit). Wenn also 2,5V gemessen werden, wird auf dem seriellen Monitor (zu finden in der IDE unter <Werkzeuge>) die Zahl 512 (1024 : 2) ausgegeben. Im Programmcode kann so mit Hilfe dieses Wertes festgelegt werden, bei welchen Lichtverhätnissen das Ein- bzw. Abschalten der Beleuchtung erfolgen soll.
int Eingang = A0;
int LED = 13;
int sensorWert = 0;
void setup()
{
Serial.begin(9600);
pinMode(LED, OUTPUT);
}
void loop()
{
sensorWert = analogRead(Eingang);
Serial.print("Sensorwert = ");
Serial.println(sensorWert);
if (sensorWert > 512 )
{
digitalWrite(LED, LOW);
}
else
{
digitalWrite(LED, HIGH);
}
delay(50);
}
Fotosensoren können preisgünstig im Funduino-Shop erworben werden.