Einstecken eines LDR in GPIO-Pins eines Raspberry Pi


12

Ich möchte einen LDR an die GPIO-Pins meines Raspberry Pi anschließen. Ich weiß, dass der Raspberry Pi keinen Analog-Digital-Wandler hat. Ich möchte also ein HIGH-Signal (3,3 V) auf dem GPIO signalisieren Wenn der Widerstand des LDR niedrig ist (etwas unter 200 Ohm) und ein LOW-Signal, wenn der Widerstand des LDR hoch ist (zum Beispiel über 2k). Der maximale Strom, den ich sicher von den GPIO-Pins des Raspberry Pi ziehen kann, beträgt laut Dokumentation 50 mA. Wie berechne ich den benötigten Widerstand? Muss ich auch einen Pull-Up / Down-Widerstand hinzufügen? Ich habe keine klare Vorstellung davon, wie ich das auf sichere Weise machen kann, ohne meinen Prozessor zu verbrennen.

Ich stelle mir vor, dass ich auch einen Widerstand an den Stromkreis anschließen muss, um sicherzustellen, dass er immer einen Widerstand hat, wenn sich der LDR in einem sehr niederohmigen Zustand befindet.

Update : es hat gut funktioniert, ich habe die Schaltung aufgebaut und es wird in diesem Beitrag gezeigt , danke für die Hilfe.


1
"Die GPIO-Eingangshysterese (Schmitt-Trigger) kann ein- oder ausgeschaltet sein, die Anstiegsgeschwindigkeit des Ausgangs kann schnell oder begrenzt sein und der Quellen- und Senkenstrom kann von 2 mA bis 16 mA konfiguriert werden." Die 50mA sind die maximale Stromaufnahme vom 3V3-Pin.
Ignacio Vazquez-Abrams

Antworten:


13

Der beste Weg, dies zu tun, wäre, einen Transistor als Komparator zu verwenden, um den Übergang scharf zu machen.
Hier ist eine Beispielschaltung:

LDR

Es verwendet den LDR als oberen Teil eines Spannungsteilers. Wenn der LDR-Widerstand abfällt, steigt die Spannung an der Transistorbasis an und schaltet sie ein. Der Transistor kann ein beliebiger Allzweck-NPN sein.
Wir können den Widerstandswert basierend auf dem Ort berechnen, an dem das Einschalten erfolgen soll.

Angenommen, die LDR-Widerstände reichen von 200 Ω (dunkel) bis 10 kΩ (dunkel). Wir wollen, dass der Transistor einschaltet, wenn der LDR bei 5 kΩ ist. Die Versorgung (V +) liegt bei 3,3V. Ein typischer NPN-Transistor schaltet sich bei etwa 0,7 V ein. Wenn wir also Folgendes tun:

Für den Basiswiderstand werden 5.000 * (0,7 / 3,3) = 1060Ω benötigt. Wir können einen 1kΩ-Widerstand wählen, da er nahe genug ist. Passen Sie Ihre Werte an Ihren Einschaltpunkt an.

Hier ist eine Simulation der Schaltung:

LDR sim

Die horizontale Achse ist der LDR-Widerstand, und die blaue Linie ist die Spannung am Vout-Punkt (Sie verbinden dies mit dem Rpi-Eingangspin - muss auf Eingang eingestellt sein. Sie können einen 1 kΩ-Widerstand zwischen Vout und dem Rpi-Pin hinzufügen, um ihn zu schützen im Falle eines versehentlichen Ausgangs) Wir können sehen, dass der Transistor bei ungefähr 5 kΩ wie vorhergesagt einschaltet (wird nicht genau sein, da die Basis-Emitter-Spannung des Transistors mit der Temperatur usw. variiert, aber für Ihre Zwecke nahe genug ist)

Beachten Sie, dass der Transistorausgang niedrig ist, wenn es hell ist, und hoch, wenn es dunkel ist. Sie können den LDR und den Widerstand vertauschen und 5.000 * (3,3 / 0,7) = 23,5 kΩ für den Widerstand verwenden, wenn Sie es umgekehrt möchten Tatsächlich eine bessere Konfiguration, da sie weniger Strom verbraucht (aufgrund höherer Widerstände). Wenn dies wichtig ist, verwenden Sie diese Version.


Einverstanden. Ich wollte einen Operationsverstärker-Komparator vorschlagen, fand ihn aber übertrieben. Die einfache Lösung, einen Transistor als Schalter zu verwenden, war mir nicht eingefallen.
Ignacio Vazquez-Abrams

2
Das ist genau das, was ich brauche. Ich mache das. Vielen Dank für die Antwort. Es ist ziemlich erstaunlich, dass wir diesen Sigmoiden konstruieren können, um die Logikpegel zu steuern. Ich hätte mir so etwas nicht vorgestellt. Danke, dass du deine Zeit damit verbracht hast um dies zu schreiben.
Tarantula

@ Tarantula - kein Problem, gerne helfen.
Oli Glaser
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.