Ich möchte gerne eine Photodiode TSL235
(http://www.ti.com/lit/ds/symlink/tsl235.pdf) auslesen.
Die Verschaltung gestaltet sich ja denkbar einfach: Pin1 GND, Pin2 5V
(mit 100n Kerko) und Pin 3 zu GPIO meines Raspberry Pi. In meinem Fall
ist das die GPIO 14, welche ich als Eingang geschaltet habe:
Der Sensor liefert mir ja eine Frequenz (50% square wave) als Output in
Abhängigkeit der Lichtintensität.
In Anlehnung an dieses Tutuorial
(http://playground.arduino.cc/Main/TSL235R) habe ich das Auslesen via
Python wie folgt versucht:
1 | frequency = 0
|
2 | begin = time.time()
|
3 | end = begin
|
4 | while (end-begin) < 1:
|
5 | end = time.time()
|
6 | GPIO.wait_for_edge(14, GPIO.FALLING)
|
7 | frequency += 1
|
8 | print frequency
|
Es wird also jede fallende Flanke über einen Zeitraum von 1000ms bzw. 1
sec gezählt.
Leider beginnen schon hier die Probleme: Die Messwerte sind instabil,
d.h. sie schwanken teilweise erheblich. Zudem scheint mir der
Wertebereich einfach nicht korrekt:
Unter einer 50W Leuchtstoffröhre (ca. 15cm Abstand) erhalte ich Werte im
Bereich um 300. In dem Tutorail sind Werte um 100.000 und mehr
beschrieben. Da stimmt doch schon grundsätzlich irgendetwas nicht.
Oder habe ich da einen grundsätzlichen Denkfehler? 300 würden ja 300 Hz
entsprechen. Und das wäre ja ziemlich wenig, da ich ja bis 300kHz
erwarte.