Einstecken eines LDR in GPIO-Pins eines Raspberry Pi

Ich möchte einen LDR an die GPIO-Pins meines Raspberry Pi anschließen, ich weiß, dass Raspberry Pi keinen Analog-Digital-Wandler hat, also möchte ich ein HIGH-Signal (3,3 V) auf dem GPIO signalisieren wenn der LDR einen niedrigen Widerstand hat (etwas unter 200 Ohm) und ein LOW-Signal, wenn der Widerstand des LDR hoch ist (z. B. über 2 k). 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 erforderlichen Widerstand, muss ich auch einen Pull-Up/Down-Widerstand hinzufügen? Ich habe keine klare Vorstellung davon, wie ich das auf sichere Weise tun soll, 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 gebaut und sie wird in diesem Beitrag gezeigt , danke für die Hilfe.

„Die Hysterese des GPIO-Eingangs (Schmitt-Trigger) kann ein- oder ausgeschaltet sein, die Anstiegsgeschwindigkeit des Ausgangs kann schnell oder begrenzt sein, und der Quellen- und Senkenstrom ist von 2 mA bis zu 16 mA konfigurierbar.“ Die 50 mA sind die maximale Entnahme aus dem 3V3-Pin.

Antworten (1)

Der beste Weg, dies zu tun, wäre die Verwendung eines Transistors als Komparator, 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 und schaltet ihn 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.

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

5.000 * (0,7 / 3,3) = 1060Ω werden für den Basiswiderstand benötigt. Wir können einen 1kΩ-Widerstand auswä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 einer versehentlichen Einstellung auf Ausgang) Wir können sehen, dass der Transistor wie vorhergesagt bei etwa 5 kΩ einschaltet (wird nicht genau sein, da die Basis-Emitter-Spannung des Transistors mit der Temperatur usw. variiert, aber für Ihre Zwecke nahe genug).

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 tauschen und 5.000 * (3,3 / 0,7) = 23,5 kΩ für den Widerstand verwenden, wenn Sie es umgekehrt wollen - das ist Eigentlich eine bessere Konfiguration, da sie weniger Strom verbraucht (aufgrund höherer Widerstände). Wenn dies also wichtig ist, verwenden Sie diese Version.

Einverstanden. Ich wollte einen Operationsverstärker-Komparator vorschlagen, hielt ihn dann aber für übertrieben. Die einfache Lösung, einen Transistor als Schalter zu verwenden, war mir nicht eingefallen.
Das ist genau das, was ich brauche, das werde ich tun, vielen Dank für die Antwort, es ist ziemlich erstaunlich, dass wir dieses Sigmoid konstruieren können, um die Logikpegel zu steuern. Ich hätte mir so etwas nie vorstellen können, danke, dass Sie Ihre Zeit investiert haben dies zu schreiben.
@Tarantula - kein Problem, ich helfe gerne.