Bisher habe ich LEDs nur als Lichtquelle genutzt, in diesem Beitrag zeige ich dir nun, wie du eine LED als Lichtsensor am Arduino einsetzt.
Um eine Lichtintensität zu messen, gibt es den relativ günstigen Fotowiderstand (im 10er-Pack für knapp 1 € über ebay.de).
Dieses Bauteil habe ich bereits in einem meiner ersten Beiträge auf diesem Blog vorgestellt, Arduino Lektion 4: LED mit Fotowiderstand. Jedoch möchte ich in diesem Beitrag auf die Verwendung einer LED als Lichtsensor eingehen.
Funktionsweise
Um die Funktionsweise zu erläutern, müssen wir uns erst einmal eine LED genauer anschauen. Eine LED ist eine Diode. Eine Diode ist mit einer Sperrschicht ausgestattet, je nach Größe (Bauform, und Wert) der Diode ist diese mal größer und mal kleiner. Bei einer LED ist diese sehr gering (eine LED soll ja eigentlich nur leuchten).
Durch das Beleuchten der LED werden Elektronen in der Sperrschicht von den Photonen abgegeben.
Der Arduino kann am analogen Pin eine eingehende Spannung von max. 5V erkennen. Dieser Wert kann zwischen min. 0 (0V) und max. 1023 (5V) liegen.
Benötigte Bauteile
- 1x Arduino UNO*,
- 1x Breadboard*,
- 1x LED, gelb, 5 mm*,
- 2x Breadboardkabel*, 10 cm, männlich – männlich
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Aufbau der Schaltung
Die LED wird mit der Anode (+) an GND und mit der Kathode (-) an den analogen Pin A0 angeschlossen.
Quellcode
//LED am analogen Pin A0 angeschlossen #define ledSensor A0 void setup() { //beginn der seriellen Kommunikation Serial.begin(9600); } void loop() { //lesen des aktuellen Wertes vom analogen Pin int value = analogRead(ledSensor); //Ausgabe des gelesenen Wertes auf der seriellen Schnittstelle Serial.println(value); }
Ausgabe auf dem seriellen Plotter
Die Arduino IDE verfügt über einen seriellen Plotter, über diesen kann man Zahlenwerte in einem Liniendiagramm anzeigen lassen. Ab der Version 1.8.10 kann man sogar mehr als eine Linie anzeigen lassen. (Wie das funktioniert, habe ich im Beitrag neue Funktionen der Arduino IDE Version 1.8.10 (Release Sept. 2019) erläutert.)
Den seriellen Plotter erreichst du über den Menüpunkt “Werkzeuge” > “Serieller Plotter” bzw. mit der Tastenkombination Strg+Umschalt+L.