Forum: Mikrocontroller und Digitale Elektronik LCD ueber i2c mit ATMega88PA


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Maxim B. (max182)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Thomas M. (langhaarrocker)


Bewertung
0 lesenswert
nicht lesenswert
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
von Georg G. (df2au)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Quick and dirty, funktioniert aber.

von Maxim B. (max182)


Bewertung
0 lesenswert
nicht lesenswert
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!

von Maxim B. (max182)


Bewertung
0 lesenswert
nicht lesenswert
Hallo, Georg, Vielen Dank!
Ich werde nun deine Code lernen.
Viele Grüße!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.