Bascom mehrere LCDs am Atmega8?

MKnet83

Neues Mitglied
13. Feb. 2013
14
0
0
41
Sprachen
Hallo
Da ich mein GLCD mit TC6963 Chip einfach nicht zum laufen bringe - zeigt nach wie vor nur wirre Zeichen an, möchte ich es nun anders probieren.
Ich möchte Textdisplays mit HD44780 Chip verwenden. Die Ansteuerung mit Atmega8 ist ja einfach. Aber wie sieht es mit mehreren aus? Kann ich mehrere LCDs mit einem Atmega ansteuern? Eventuell sogar 5 Stück? Oder ist das zu krass gedacht?
Ich stelle mir das ganze so vor: Ich habe 5 mal 2 Zeilen Text. Der Text ändert sich in regelmäßigen Abständen. Es sollen also auf jedem Display dauerhaft 2 Zeilen Text angezeigt werden und sagen wir mal alle 10 Sekunden geändert werden. Der Text muß nicht auf allen Displays gleichzeitig geändert werden.
Kann das funktionieren? Kann ich das mit Bascom programmieren?
Eigentlich wollte ich das mit dem großen GLCD machen, da ich da alles auf einen Bildschirm bekomme, aber sollte halt nicht sein. Und Text LCDs mit mehr als 4 Zeilen habe ich noch nicht gefunden.

Matthias
 
Hallo Matthias!

Es gibt natürlich verschiedene Möglichkeiten zwei oder mehr Displays an einem AVR zu betreiben.

Letztlich besitzen die Standarddisplay`s alle mindestens einen E-Pin (Enable-Pin).
Wenn du diesen Pin künstlich "multiplext" (z.B. mit einem 74HCT245), dann müsstest du auch mehrere Displays ansteuern können.
Bedenken musst du aber, dass du zu Beginn auch jedes Display initialisierst.

Ich habe das zwar persönlich so noch nicht gemacht, aber ich wüsste jetzt nicht was dagegen sprechen sollte.


Eine Alternative wäre der TWI/I2C-Bus.
An dem Bus könntest du theoretisch problemlos 16 Vierzeilen-Displays betreiben.


Seltsam ist aber immer noch, dass dein T6963C nichts sinnvolles anzeigt.
Ich würde einfach mal auf einen Anschlussfehler (Wackelkontakt, kalte Lötstelle, Bruch in der Leiterbahn) tippen.


Grüße,
Cassio
 
Hallo Cassio
Zu dem TC6963 hatte ich ja schon einen anderen Tread. Habe auch Tips bekommen, hat aber nicht funktioniert. Habe es dann hinbekommen Text anzuzeigen, wollte dann mit Grafik probieren. Da gabs nur wirre Pixel. Und ab da hat auch kein Text mehr funktioniert. Habe die Platine noch mal völlig neu gelötet - keine Änderung. Dass ganze hat mich jetzt so genervt, dass ich es anders probieren will.
Wie funktioniert das denn mit dem TWI/I2C Bus und 5 HD44780 LCDs? 2 oder 4 Zeilen spielt da ja wahrscheinlich keine Rolle. Wird das dann komplett anders angeschlossen, oder muß ich da noch eine Adapterplatine machen wo alle LCDs dranhängen?

Matthias

Edit: Habe grad gesehen, dass ich eine extra Platine für I2C machen muß, die dann mit dem Atmega verbunden wird. Es wurde aber immer nur ein LCD angeschlossen. Habe noch nichts mit mehreren LCDs gesehen. Gibts da irgendwo einen Schaltplan dazu, oder kannst du mir sagen wie ich da 5 LCDs auf der Platine anschließe?
 
Hallo Matthias!

Ich habe gerade nicht viel Zeit....
Schau in der Zwischenzeit doch schon mal HIER rein.

Dort habe ich Beispielhaft zwei Displays (4x27 Zeichen) und eine Matrix an verschiedene IO-Expander gehängt.

Du sollst das jetzt nicht nachbauen, sondern dir nur mal einen Eindruck vom Machbaren verschaffen.


Mit den 74HCT245 habe ich mal mit zwei GLCD`s gespielt.
In meinem BLOG gibt es dazu einen kleinen "Test".
Das kannst du dir ja inzwischen auch mal ansehen.
Du könntest das für die normalen LCD`s dann natürlich viel einfacher aufbauen.



Grüße,
Cassio
 
Hallo,

es gibt von Bascom eine Lib für LCDs mit 2 Controllern. Verwendet wurde die hier schonmal für ein 27x4Chr-LCD von Pollin. Damit sollte es möglich sein auch 2 Character-LCDs anzusteuern ohne weitere Hardware anzusetzen oder sich das Hirn zu verbiegen ;)

Gruß
Dino
 
Hallo Dino
2 LCDs ohne zusätzliche Hardware klingt zwar gut, aber die ICs kosten ja fast nix. Und wenn ich damit dann wirklich 5 Displays ansteuern könnte, wäre das echt super. Das mit den 2 GLCDs in Cassios Blog sieht ja Hardwaretechnisch gar nicht so aufwendig aus wie ich dachte. Theoretisch brauche ich dann ja nur 5 Stück von den 74HC245, oder?
Habe grad noch einen Schaltplanausschnitt gesehen, wo ein LCD an einem PCF8574 angeschlossen ist. Brauche ich für ein Textdisplay so einen oder einen 74HC245 oder noch was anderes? :confused:
Es wäre aber super wenn ich bei Gelegenheit von jemanden einen kleinen Schaltplan bekommen könnte, wie ich die Textdisplays an die ICs anschließen muß und wie ich die dann miteinander verbinde. Mit Schaltungen entwerfen bin ich nicht so der Held. Habe das leider nie richtig gelernt.

Matthias
 
Was für einen IC brauche ich denn für mehrere Textdisplays am Atmega? PCF8574 oder 74HC245 oder einen bzw. mehrere andere?

Matthias
 
Hi Matthias,

Was für einen IC brauche ich denn für mehrere Textdisplays am Atmega? PCF8574 oder 74HC245 oder einen bzw. mehrere andere?
das kommt drauf an wie du die Displays anschließen willst :p

Der PCF8574 ist ein I2C-Portexpander und
der 74HC245 ist ein bidirektionaler 8Bit Bustreiber.

Das ist so als wenn du nen Lastwagen mit Apfelkuchen vergleichst. Beides komplett unterschiedliche ICs für unterschiedliche Zwecke.

Gruß
Dino
 
Welcher wäre denn für 5 Textdisplays (mit unterschiedlichem Text) am Atmega8 am sinnvollsten? Sehe ich das richtig, dass ich beim 74hc245 wenn ich alle LCDs miteinander verbunden habe am Atmega die Anzahl Pins brauche als wenn ich einen anschließen würde, und wenn ich den PCF8574 nehme brauche ich nur SCA und SCL? Habe auch keine Ahnung was sich am Ende leichter ansteuern lassen würde.

Matthias
 
Hallo Matthias!

Momentan weiß ich auch nicht, was ich dir raten soll.

Löse dich erst mal von den Gedanken, dass du die 74HC245 verwenden musst.
Ich habe diese IC`s nur genommen, weil ich mehrere Pins durchschalten bzw. trennen musste.

Bei dir geht es nur um den E-Pin, oder E1- und E2-Pin.
Du solltest dir dafür also ein passendes IC suchen, oder es ggf. mit Transistoren machen.

Fakt ist jedenfalls, dass du den E-Pin vom AVR auf mehrere verteilen musst.
Es kommt dann also für jedes Display noch ein weiterer Pin (Schalt-Ausgang) am AVR hinzu, damit immer nur das gewünschte Display die Daten entgegen nimmt.


Wenn du mit dem TWI/I2C-Bus arbeiten möchtest, dann benötigst du am AVR zwar nur SDA und SCL,
dafür brauchst du dann aber für jedes Display mindestens einen PCF8574...... wenn nicht sogar eine fertige Anschlussplatine (je nach deinen Möglichkeiten).

Die Ansteuerung per TWI ist programmtechnisch auch etwas "aufwändiger" als beim Multiplexen des E-Pins.


Du musst dich also entscheiden was du realisieren möchtest. :wink:


Einem Anfänger würde ich jedoch immer zu der Lösung mit den E-Pins raten.
Später kann er sich dann immer noch mit dem TWI/I2C-Bus befassen.


Grüße,
Cassio
 
Hallo Matthias!

Was mir eben noch eingefallen ist.....

Schau doch mal in den Thread von avrkarl !

Der Gute hat die Ansteuerung eines Displays mit einem Schieberegister realisiert, was ich auch für eine tolle Idee halte!
Mit dieser Variante müsste es auch möglich sein, mehrere Displays zu betreiben.

Es wäre quasi der günstige Mittelweg von meinen beiden Varianten.
Die IC`s sind günstiger und die Ansteuerung ganz gut verständlich. :)
Das Multiplexen des E-Pins könnte man z.B. durch ein weiteres Schieberegister realisieren.



Eine letzte Variante, um aus GLCD`s normale Charakter-LCD`s zu machen, wäre in DIESEM Thread beschrieben.
Ist allerdings die aufwändigste und teuerste Variante, weil jedes GLCD dann einen Mega8 benötigt.
Die Anbindung erfolgt dann zwar auch per TWI/I2C, aber das erledigen die fertigen Routinen schon für dich. :wink:


Grüße,
Cassio
 
Hallo,

wenn man im 4Bit-Betrieb die Displays parallelschalten will und nur den E-Pin umschalten möchte, dann würde ich einen Demultiplexer verwenden. Die gibts in der 74er-Reihe als 4er, 8er und 16er. Muß man mal sehen ob die dafür passen. Notfalls muß man ein wenig stricken. Alternativ könnte man mal bei der 40er/45er-Reihe nachsehen ob dort was passendes dabei ist. Der Chip sollte Eingänge für 2Bit/3Bit/4Bit haben um damit 4, 8 oder 16 Ausgänge auf einen Eingang zu legen.

Gruß
Dino
 
Hallo zusammen

Tja, in der Sache haben Cassio und ich doch Erfahrung ....

Ich würde definitiv vorschlagen, die Sache über I2C angeschlossene LCD's zu realisieren.
Boards, welche direkt auf die Displays gesteckt werden können, oder Display mit I2C-Board
gibt es für wenig Geld z.B. hier:
Edit by Cassio:
Temporären Link zu Ebay gegen ein Foto vom Artikel ausgetauscht!

mjkdz-i2c-board.jpg
Ein Eigenbau ist zudem auch mit vernünftigem Aufwand zu bewerkstelligen.

Ich habe eine Ansteuer-Software geschrieben, über welche (fast) alle Adapter direkt
angesteuert werden können, auch der im obigen Link von mjkdz.com.
Den Beitrag und die Software findest du hier:
http://www.avr-praxis.de/forum/show...rselle-Ansteuerung-(inkl-DEFLCDCHAR)-ohne-LIB

Die LCD's kannst du dann mit unterschiedlichen Adressen betreiben. Hier ist vielleicht bei den
oben gezeigten fertigen Boards eine kleine Handänderung nötig, da diese fix alle Adressleitungen
auf "low" haben.

Gruss
Thomas
 
Hallo Thomas!

Ich habe den Link zu Ebay mal gegen ein Foto vom Artikel getauscht,
weil dieser Thread mit Sicherheit länger halten wird als das Ebay-Angebot.

In ein paar Monaten würde dein Hinweis im Beitrag dann "wertlos" werden, weil der Artikel nicht mehr aufgerufen werden kann.


Grüße,
Cassio
 
Hallo,

Ich habe den Link zu Ebay mal gegen ein Foto vom Artikel getauscht,
weil dieser Thread mit Sicherheit länger halten wird als das Ebay-Angebot.

In ein paar Monaten würde dein Hinweis im Beitrag dann "wertlos" werden, weil der Artikel nicht mehr aufgerufen werden kann.

das hab ich leider viel zu oft erlebt. Man freut sich über nen interessantes Thema und sieht nur leere Flecken wo die Bilder mal waren oder hat viele tote Links. Die Halbwertszeit bei eBay oder anderen Shops dieser Art liegt bei wenigen Wochen. Bei Bilderdiensten ist meißt nach 6-12 Monaten auch Ende. Wenn man Glück hat dann nach 2 Jahren. Danach ist der Thread reif für die Tonne :p :mad: Also entweder die Bilder und Infos wenn irgend möglich in den Thread oder man hat viel Zeit für die Schreibarbeit eigentlich umsonst verplempert. Wär schade drum :p

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)