Erkennen von Licht mit einer LED

34

Wie erkenne ich Licht mit einer LED?

mad_z
quelle
5
Darüber habe ich mich auch gewundert. Können Sie eine Reihe von LEDs anzeigen und dann Berührungen erkennen, indem Sie mit denselben LEDs das von einem Finger reflektierte Licht erfassen?
Endolith

Antworten:

39

Es ist möglich, eine LED sowohl als Lichtsensor als auch als Lichtsender zu verwenden. Im Wesentlichen wirkt eine in Sperrrichtung vorgespannte LED als Kondensator. Wenn sie dann abgetrennt wird, wird die Ladung mit einer Rate abgeleitet, die in etwa proportional zu dem auf sie treffenden Licht ist.

Wir können dies mit einem Mikrocontroller nutzen - unter Ausnutzung der Multi-State-Fähigkeit der Ports. Alt-Text

Der Widerstand sollte ungefähr 100 Ohm sein, ich habe dies nur mit roten LEDs verwendet - es kann mit anderen funktionieren.

Verwenden Sie die folgende Reihenfolge:

Set Port A output high
set Port B output low   // this makes sure the led is discharged
wait 1mS
set Port A output low
set Port B output high  // reverse bias and charge
wait 1mS
set Port B as input     // Port B is high impedance input
time how long for Port B to read low

Die Länge der Zeit hängt von der Lichtmenge ab, die auf die LED trifft.

Es gibt verschiedene Beispiele im Internet - ich werde sie hier auflisten, sobald ich sie wiederfinde:

LED erkennt und zeigt die Intensität des Umgebungslichts an

Rote LEDs dienen als Lichtsensoren

Multi-Touch-Sensing über LED-Matrix-Displays - sehr cooles Video

LEDs als Sensoren

Sehr kostengünstige Erfassung und Kommunikation mit bidirektionalen LEDs

JohnC
quelle
Die Nutzung der Kapazität der LED ist in der Tat eine clevere Möglichkeit, Licht zu erkennen, und dies ist eine großartige Lösung, wenn Sie über einen Mikrocontroller verfügen. Es funktioniert jedoch, weil eine LED eine schlechte Fotodiode ist, die nur ein kleines Fotovoltaik-Panel ist. Indem Sie die Zeit messen, in der die Kapazität abnimmt, messen Sie indirekt diese Spannung. Eine analoge Lösung könnte auch diese kleine Spannung verstärken, ohne dass eine Sperrspannung erforderlich ist (aber manchmal aus anderen Gründen wünschenswert; siehe Link).
Phil Frost
Warum lassen Sie nicht A und B niedrig, um den Kondensator zu entladen?
FarO
6

Hier ist ein gutes Video beschreibt , wie LEDs als Lichtsensor verwendet wird http://www.youtube.com/watch?v=VZUvoLDlMS0 Auch Wald M.Mims III über einfache Projekte geschrieben hat und LEDs als Touch - Sensoren.

Außerdem habe ich gelesen, dass SMD-LEDs als Lichtsensoren besser funktionieren als Durchgangsloch-LEDs ...

Morgellon
quelle
2

Hier ist eine Schaltung, die eine LED verwendet, um das Licht eines Lernkits zu erkennen: LED light detector

LED 0 lässt einen sehr kleinen, lichtbeeinflussten Strom durch, da seine Polarität umgekehrt ist. Stellen Sie sicher, dass er grün, gelb oder transparent ist oder nicht funktioniert (rot). Die Transistoren verstärken diesen Strom gerade genug, um eine normal polarisierte LED (LED 1) anzusteuern. Sie können die Empfindlichkeit einstellen, indem Sie mehr Transistoren hinzufügen und so eine größere Verstärkung erzielen, die auf einen niedrigeren Beleuchtungspegel anspricht.

Daniel Tork
quelle
2

Diese Seite: http://www.users.waitrose.com/~robinjames/LED_as_light_sensor/LED_as_light_sensor.html zeigt, wie man mit Hilfe einer LED und eines Operationsverstärkers Lichtpegel misst, um eine dem Lichtpegel proportionale Spannung zu erhalten. Es gibt eine breite Palette von Messwerten und funktioniert von völliger Dunkelheit bis zu vollem Sonnenlicht. Es kann verwendet werden, um den ADC eines Mikrocontrollers wie eines Arduino zu speisen.

Robin
quelle
0

Fotozellen sind eine absolut einfache Methode, um Licht zu erkennen. Der Widerstand variiert proportional zur Menge des Lichts, das darauf scheint.

LadyAda hat eine sehr schöne Beschreibung der Fotozellen, einschließlich der Arduino-Implementierung: http://www.ladyada.net/learn/sensors/cds.html .

Vineeth
quelle
6
Die Frage war über LEDs!
Federico Russo