I2C Expander + LCD: Backlight auslesen

Gast #5018226
Lesenswert?

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.
Angehängte Dateien:
Gast #5018254
Lesenswert?

Du weißt es nur, wenn Du es Dir merkst. In bestimmt > 90% der 
Anwendungen wird es sicherlich einfacher sein sich dieses eine Bit 
irgendwo zu merken. Wenn man aber so wie ich die Designentscheidung 
trifft, die Zustände von 16 LCDs nicht im knappen Ram des µCs spiegeln 
zu wollen, dann kann man diesen einen Transistor austauschen und dieses 
eine Bit Ram durch ein paar Dutzend Bytes Code im Flash kompensieren. Je 
nach Aufgabenstellung schmeißt man da natürlich mit dem Schinken nach 
der Wurst.
#5018262
Lesenswert?

16 LCDs an einem MC und dabei die Beleuchtung getrennt schaltbar, ist 
schon ungewöhnlich.
Und ob das wirklich ein so kleiner MC schaftt, wo 2 Byte RAM schon 
zuviel sein können.

FrickelFranz schrieb:
> Je
> nach Aufgabenstellung schmeißt man da natürlich mit dem Schinken nach
> der Wurst.

Ja, der Overhead für das Rücklesen, Manipulieren und Schreiben dürfte 
recht hoch sein.
Gast #5018432
Lesenswert?

Och geht eigentlich - zumindest was den Code betrifft. Den Code für I2C 
und den PCF8574 braucht man sowieso. Und ob ich nun beim Verwalten des 
Backlight Status aufs Ram oder auf den PCF8574 zugreife macht nicht viel 
Unterschied. Bei der Lauf- und Antwortzeit sieht das dann natürlich ganz 
anders aus. Aber ob Beleuchtung einschalten nun 500ns oder 300ms dauert 
ist ziemlich wumpe. Helligkeitsreglung per PWM via I2C mach ich nicht, 
wäre ja auch eher ein fragwürdiges Unterfangen.
Gast #5018522
Lesenswert?

Danke FrickelFranz,

ich interessiere mich häufig für die Fragestellung und die gewonnene 
Lösung.
Danke für die ausführliche Darstellung !

Daumen hoch !

FrickelFranz schrieb:
> Du weißt es nur, wenn Du es Dir merkst. In bestimmt > 90% der
> Anwendungen wird es sicherlich einfacher sein sich dieses eine Bit
> irgendwo zu merken. Wenn man aber so wie ich die Designentscheidung
> trifft, die Zustände von 16 LCDs nicht im knappen Ram des µCs spiegeln
> zu wollen, dann kann man diesen einen Transistor austauschen und dieses
> eine Bit Ram durch ein paar Dutzend Bytes Code im Flash kompensieren. Je
> nach Aufgabenstellung schmeißt man da natürlich mit dem Schinken nach
> der Wurst.
#5018618
Lesenswert?

Typische "Deutscheland-Mann" Verschlimmbesserungs-Lösung.

Wenn man schon unbedingt 2 Byte(!) RAM einsparen muss, und sich der 
ausgewählte I2C Expander die Output-Bits nicht merken kann, dann nimmt 
man eben einfach einen anderen, passenden Expander (z.B. TCA9534). Das 
kostet keinen Cent mehr und man muss nicht an fertigen Boards 
rumbasteln.
Gast #5018860
Lesenswert?

Joe F. schrieb:
> Typische "Deutscheland-Mann" Verschlimmbesserungs-Lösung.

Moa! Also Deine Nörlgelei hat viel mehr "typisch deutsch" im aller 
übelsten und negativsten Sinne als meine LÖSUNG! Du nörgelst erst mal 
rum, ganz offensichtlich ohne überhaupt ansatzweise das Problem 
begriffen zu haben. Sonst würdest Du schließlich nicht gleich von einen 
ganzen Expander-Tausch brabbeln, obwohl der überhaupt nichts mit den 
Problem zu tun hat. Genau das ist die Art von Deutschtum, für die man 
sich nur schämen kann.

Fail! Ungenügend! Setzen!

Nächster bitte.
#5018866
Lesenswert?

FrickelFranz schrieb:
> ohne überhaupt ansatzweise das Problem
> begriffen zu haben

Guck dir die Unterschiede zwischen dem TCA9534 und dem PCF8574 erstmal 
an. Vor allem in Bezug auf die Möglichkeit den Ausgangsstatus 
rückzulesen...

FrickelFranz schrieb:
> Deutschtum, für die man
> sich nur schämen kann.

Apropos schämen, "Chinamann" kommt sehr rassistisch rüber.
Beitrag #5019035 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren