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
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 -
Du bist nicht der erste, und preislich ist der schwer zu schlagen: http://www.channaa.com/html/i2c_lcd_adapter.html
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
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
Jedes gewöhnliche schieberegister kannst du da nehmen...
Hi, gab es auch mal von der Elektor zum 24 Bit AD Wandler (8051 µC) Gruß, Dirk
@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.
@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
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
Noch einfacher mit einem 74LS174: http://www.myke.com/lcd.htm (ziemlich weit unten) Allerdings kein i2c ;-)
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.