Forum: Mikrocontroller und Digitale Elektronik I2C zu parallel Konverter für HD44780 LCDs


von Klaus2m5 (Gast)


Lesenswert?

Hallo,

mir war etwas langweilig über Weihnachten und deshalb habe ich ein
neues persönliches Projekt gestartet. Es handelt sich um einen Ersatz
für den betagten PCF8574 um das Ansteuern von HD44780 kompatiblen LCDs
über den I2C Bus einfacher zu machen.

Den geplanten Funktionsumfang habe ich schon mal in einem kleinen
Dokument zusammengefasst, zu finden unter http://2m5.de/i2c in
englischer Sprache.

Gruß, Klaus

von Marco S (Gast)


Lesenswert?

So etwas hatte ich auch schon mal vor. Aber dann kam ich auf die Idee,
einen ATtiny als LCD-Kontroller zu verwenden. Preislich dürfte sich das
nicht viel schenken. Der Tiny sollte dann I2C-Befehle annehmen und das
LCD-Timing übernehmen. Wenn die Timing-Geschichte im Tiny untergebracht
ist, so spart das evtl. Speicherplatz im "main"-uC. Nachteilig ist,
dass der LCD-AVR erst programmiert werden muss, wohingegen der PCF
schon nach dem verlöten einsatzbereit ist.

Gruß
Marco
-

von A.K. (Gast)


Lesenswert?

Du bist nicht der erste, und preislich ist der schwer zu schlagen:
http://www.channaa.com/html/i2c_lcd_adapter.html

von Klaus2m5 (Gast)


Lesenswert?

Hallo,

danke für den link A.K. Stimmt, gutes Preis-leistungsverhältnis für
eine Fertiglösung. Meine Idee war mehr eine Anleitung zum Selbstbau und
basiert tatsächlich auf dem Attiny2313.

Kosten wirds am Ende die 1,65€ für den Attiny2313 (Reichelt) und den
Zeitaufwand zum Flashen. Sourcecode und Binary werden als Freeware zur
Verfügung gestellt.

Gruß, Klaus

von Peter D. (peda)


Lesenswert?

Noch billiger gehts mit einem 74HC164:

http://www.mikrocontroller.net/forum/read-4-22246.html#new


Braucht nur einen Draht zusätzlich, wenn das SPI schon für andere
Sachen benutzt wird.


Peter

von Sebastian Heyn (Gast)


Lesenswert?

Jedes gewöhnliche schieberegister kannst du da nehmen...

von Dirk B. (dirk-)


Lesenswert?

Hi,

gab es auch mal von der Elektor zum 24 Bit AD Wandler (8051 µC)

Gruß,
Dirk

von Jadeclaw D. (jadeclaw)


Lesenswert?

@Peter Dannegger: Ein HC164 hat natürlich auch Nachteile.
1.) Kein dimmbares Backlight ohne extra Aufwand im Hauptprozi.
2.) Die ganze Displaysteuerung verbleibt im Hauptprozessor, so hat man
ausser ein paar Portpins nichts gewonnen.
3.) Bei HD44780-Displays weniger tragisch, bei anderen Controllern ein
echtes Problem: Daten gehen nur in eine Richtung.
Beim T6963 muss der Status vor jedem Schreibvorgang abgefragt werden,
(O-Ton Datenblatt) - ergo braucht man Lesezugriff aufs Display.
Es macht schon Sinn, das alles in einen Extra-Controller auszulagern.

Gruss
Jadeclaw.

von peter dannegger (Gast)


Lesenswert?

@Jadeclaw,

der 74HC164 soll ja nur einfach, preiswert und Leitungen sparend sein.


"1.) Kein dimmbares Backlight ohne extra Aufwand im Hauptprozi."

Ich kenne keinen, der ein Backlight dimmt, wozu also den Aufwand
treiben ?

Bzw. nen Draht von der PWM und ein RC-Glied dahinter ist doch kein
Aufwand.


"2.) Die ganze Displaysteuerung verbleibt im Hauptprozessor"

Ob Du nun den ASCII-Code erstmal an einen 2.MC schickst oder direkt ans
LCD ist ja überhaupt kein Unterschied !

Für ein 2*20 LCD ist die CPU-Last bestenfalls 1%, das merkt man doch
gar nicht.

Und wenn man das Hardware-SPI nimmt und ne langsame Bitrate einstellt,
hat man damit gleich die 44µs Wartezeit erschlagen.


Peter

von Klaus2m5 (Gast)


Lesenswert?

Hallo Peter,

ich würde auch kein I2C für ne LCD Ansteuerung nutzen    ...wenn ich
nicht sowieso schon I2C für andere Dinge einsetzen würde.

Dann werden nämlich keine weiteren Pins gebraucht, keine zusätzlichen
Routinen zum shiften und clocken der Daten, nur mehr I2C Adressen.

In allen anderen Fällen und wenns nur ums Pins sparen geht machts auch
ein Schieberegister.

Gruß, Klaus

von Uwe (Gast)


Lesenswert?

Noch einfacher mit einem 74LS174: http://www.myke.com/lcd.htm (ziemlich
weit unten)
Allerdings kein i2c ;-)

von Steffen@HSF (Gast)


Lesenswert?

Hi,

was ist los mit diesem Forum? Gibt es eigentlich schon Fortschritte???
Wie siehts aus Klaus2m5 mit deiner Routiene für den ATtiny2313?

Und noch ne Frage: Hat der ATtiny2313 überhaupt einen Hardware TWI?
Oder wolltest du das alles per software lösen?

Gruss Steffen@HSF

von KLaus2m5 (Gast)


Lesenswert?

Hallo Steffen,

wegen des negativen Feedbacks in diesem Thread ist das Projekt in
meiner Prioritätsliste ganz nach unten geraten. Mittlerweile habe ich
es ganz verworfen.

Zu Deiner Frage - ja, der ATtiny2313 unterstützt ein Hardware TWI auch
als Slave, so dass die Implementierung nicht allzu schwierig gewesen
wäre.

Gruß, Klaus

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Also,
unsere Displays betreiben wir jetzt seit über 1 Jahr an einem einfachen
I2C-Bus mit einem PIC (zzgl. Taster, PWM für das Backlight).

Funzt prima, aber I2C ist nicht sehr störfest für lange Kabel, wie wir
jetzt gemerkt haben.

Ach ja, bidirektionale Kommunikation und ... propitäres Protokoll !

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.