Beim Chinamann gibt es ja nicht nur die billigen ks0066u kompatiblen
1602 LCD Module, sondern auch passende Aufsteckboards um diese mittels
eines PCF8574 an einen I2C Bus zu klemmen. Bei diesen Boards wird gerne
auch eine Leitung des PCF8574 verwendet um die Hintergrundbeleuchtung
des LCDs zu steuern. Mich hat dabei geärgert, dass ich zwar prima das
Licht an/aus machen konnte, aber nicht abfragen konnte, ob es gerade an
/ aus ist. Der Grund war, dass als Treibertransistor ein einfacher NPN
verwendet wurde. So kann natürlich nie ein Pegel über der BE Spannung
anliegen - man liest immer low.
1 | 5V
|
2 | +------+
|
3 | | |
|
4 | 4.7k LED
|
5 | | /
|
6 | i/o-+----|
|
7 | \
|
8 | GND
|
Ersetzt man jedoch den Bipolartransistor durch einen Mosfet (z.B.
2N7002), dann funzt das prima. Passte auf meinem Adapterboard auch vom
Pinout.
Problem solved.