Guten Tag! Da heute ATMEGA88PA-AU schon für 1,35 € zu haben ist, habe ich eine Versuchung: LCD 2004 mit ATMEGA88PA als i2c-Modul zu machen. D.h. Haupt-AVR schreibt LCD, indem per i2c Befehl an 88PA geschickt wird. Zeitverzögerungen für LCD etc. wird dann 88PA machen, ohne Hauptsystem irgendwie zu stören... Da man für i2c nicht einmal Quarz braucht, sollte das eine sehr billige Lösung sein, auch platz- und stromsparende. Aber vor dem ich das selber von Null aus beginne, möchte ich gerne wissen: vielleicht hat das jemand schon realisiert? Um kein Fahrrad zu erfinden... Vor allem interessiert mich Programmieren von i2c als Slave. i2c als Master habe ich als Soft- und auch als Hardware-Variante ausprobiert, alles geht wunderschön. Aber als Slave habe ich i2c noch nie programmiert... Wenn darüber hinaus in diesem Modul auch ein paar Tasten zu machen möglich wäre, so wäre das auch nicht schlecht... Vielen Dank und viele Grüße, Maxim.
Suche mal auf ebay o.ä. nach "PCF8574". Das ist ein Portexpander mit I2C ansteuerbar. Der übernimmt genau die Aufgabe, die Du (wenn ich es richtig interpretiere) mit Deinem ATMEGA88PA-AU machen willst. Du wirst zahllose billige ferige Modülchen finden, die genau auf solche 2004 (oder 1602) LCD Module passen. Fertige Bibliotheken via Portexpander das LCD per I2C anzubinden gibt es auch. Wenn es darum geht das Pferd nicht neu zu erfinden, wäre das die geschickte Lösung. Wenn es Dir jedoch um den Lerneffekt geht I2C Slave selbst zu implementieren, dann solltest Du es einfach angehen und nicht die "selbst auferlegte Hausaufgabe" irgendwo abschreiben. P.s.: Ach ja: von dem PCF8574 gibt es zwei Varianten, die sich in ihrem Basisadressraum unterscheiden. Der Portexpander hat drei Leitungen, über die man die I2C Adresse konfigurieren kann. Pro Portexpandervariante kann man somit bis zu 8 Displays mit dem selben I2C Bus füttern. Weiß nicht mehr, ich glaube die Varianten unterschieden sich im Suffix "T", oder so. Bin gerade zu faul das rauszusuchen.
:
Bearbeitet durch User
Thomas M. schrieb: > Suche mal auf ebay o.ä. nach "PCF8574". Das ist ein Portexpander mit I2C > ansteuerbar. Der übernimmt genau die Aufgabe, die Du (wenn ich es > richtig interpretiere) mit Deinem ATMEGA88PA-AU machen willst. Hallo Thomas, nein, du hast falsch verstanden. PCF8574 muß man wie ein Kind betreuen: Daten geben, danach E-Impuls geben, dann 40 us warten... Dann lieber gleich MCP23017 nehmen und mit 1,7 MHz arbeiten, statt langsamen PCF... Ich möchte aber anders: per i2c Befehl schicken - und weiteres sollte 88PA selber machen: richtige Code an LCD geben, E-Puls, warten usw. 88PA bekommt entweder einzelne Zeichen oder alle Zeichen für 2004 gleich - und zwar so schnell wie das für Haupt-AVR bequem ist. Das möchte ich. Viele Grüße!
Hallo, Georg, Vielen Dank! Ich werde nun deine Code lernen. Viele Grüße!
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.