Kurze Einleitung: Mit einer Reflex-Lichtschranke möchte ich den Zeiger der Wasseruhr erkennen. Dabei soll die Messung Unabhaengig vom Umgebungslicht werden. Deshalb moechte ich den Wert bei LED aus vom Wert bei LED an abziehen und die Differenz soll diskriminiert und mit einem GPIO eingelesen werden.
Jetzt kommt das Trickige: Mit Analog-Eingaengen waere es ganz einfach. Der Raspi hat aber nur Digital, also muss die Messung bei LED aus analog zwischengespeichert werden, auf einem Kondensator. Die Differenzbildung kann dann mit einem OPAMP geschehen.
Meine Beschaltung:
GPIO1(out) -- 270 Ohm -- LED --GND
3.3V -- 10kOhm -- A -- Phototransistor -- GND
a -- GPIO2(in)
A -- (+)OPAMP(OUT) -- GPIO3(in)
B -- (-)OPAMP
B -- Kondensator -- GND
B -- MOSFET -- A
MOSFET(basis) -- GPIO4(out)
Jetzt hab ich 4 GPIOs verwendet. Hat jemand eine Idee, wie es vielleicht mit weniger funktionieren könnte? Leider sind das auch schon recht viele Teile. Vielleicht sollte ich doch einen ADC verwenden und die Differenz dann per Software machen.
Ich haette noch eine andere Idee, die ggf den Opamp und den MOSFET einsparen wuerde:
Man schaltet mit 1 kHz zwischen LED and und LED aus und git das SIgnal (bei A) auf einen Tiefpass, dann Gleichrichten.