Verschiedene LCD Displays

Hallo,
mit meiner Heizungs- und Solarsteuerung stoße ich beim 4x20 Zeichen LCD-Display jetzt langsam an die Grenzen.
Bedeutet ich möchte mehr anzeigen lassen, geht aber bei den HD 44780 nicht.
Was für Möglichkeiten habe ich, ein größeres Display mit mehr Zeilen und Spalten anzuschließen und was ist empfehlenswert.
Ich möchte natürlich wenig Aufwand betreiben um die ganzen Anzeigen darstellen zu können, vermute aber das ich ja einiges
umschreiben muss.
Da ich mich hier nicht auskenne wäre ich für einige Tipps dankbar.
Gruß
Bernward

Schalte zwischen den verschiedenen Werten entweder automatisch alle x Sekunden um oder mittels Taster.

Grüße Uwe

maverick1509:
Ich möchte natürlich wenig Aufwand betreiben um die ganzen Anzeigen darstellen zu können, vermute aber das ich ja einiges
umschreiben muss.

Codebeispiel für die von Uwe vorgeschlagene zeitabhängige Umschaltung verschiedener Anzeigen nacheinander habe ich hier bereits gepostet, Du kannst die Anzeige in einem vorgegebenen Takt einfach alle paar Sekunden wechseln lassen, und zwar auch zwischen mehr als zwei Anzeigen:
http://forum.arduino.cc/index.php?topic=169132.msg1262011#msg1262011

Wieviel Aufwand es ist, das bei Dir umzuprogrammieren, hängt auch davon ab, wie sauber strukturiert Du Deinen Code hast. Wenn Du "Sensorabfrage", "Verarbeitung" und "Datenausgabe" funktionell sauber in verschiedene Funktionen gegliedert hast, ist es nur ein minimaler Aufwand. Wenn Du bisher den totalen Spaghetticode geschrieben hast mit vermischten Funktionen, die gleichzeitig Daten abfragen, verarbeiten und direkt ausgeben, kannst Du nochmal neu anfangen. Oder baust tatsächlich mehrere LCDs ein.

Hallo Uwe,
das mache ich schon im 3 Sekunden Takt, gefällt mir aber nicht und ich möchte noch
mehr auf einer Seite anzeigen können, bei 4x20 sind doch schon erhebliche Grenzen gesetzt.

@jurs ist absolut strukturiert, alles in eigenen Funktionen
mit zwei LCDs hab ich auch schon überlegt, aber du weißt doch, man will die "Wollmilchsau" Lösung :-))
gruß

maverick1509:
bei 4x20 sind doch schon erhebliche Grenzen gesetzt.

Die größten Displays mit HD44780 Controller sind 40x4 gross, darauf bekommst Du das doppelte an Text unter wie auf 20x4.

Zum Beispiel eBay Artikelnummer 321108571844

Und wenn das nicht reicht, zwei solche Displays.

Und wenn das nicht reicht, lasse die Daten an einen Arduino mit Netzwerkshield funken, der als Webserver arbeitet und HTML-Seiten aus den Daten generiert und ausliefert. Dann kannst Du jederzeit die Daten auf Smartphone, Tablet, Laptop oder Desktop-PC mit einem Web-Browser abrufen, auf einem Display Deiner Wahl. Und das sogar aus der Ferne.

Also ich für meinen Teil würde dir empfehlen eine (im ersten Augenblick) etwas kompliziertere Library in verbindung mit einem Günstigen Grafik-LCD zu verwenden.

Hier ein Beispiel für das Grafik-LCD: http://www.buyincoins.com/new_en/details/lcd12864-graphic-display-module-5v-3v-logic-power-supply-blue-screen-backlight-product-11573.html

Hier die Universelle Library:
http://code.google.com/p/u8glib/

Vorteil mit dieser Library: Du kannst später ohne große Veränderungen fast jedes Display mit einem der unterstützten Controller verwenden, ohne viel beim Code verändern zu müssen (lediglich die Auswahl des Controllers muss man ändern (bei einem Wechsel des Displays mit einem anderen Controller) und eventuell die Pinbelegung wenn sich diese ändert).

Aber was genau suchst du? Willst du auch Grafiken und Linien darstellen (z.B. Pfeile, Umrandungen, Striche usw) oder geht dir nur ein wenig der Platz aus?

Aber aus meiner Sicht würde ich dir eher ein Grafik-LCD empfehlen da die sehr günstig zum Teil zu haben sind und viel drauf Platz hat. Ist aber wie gesagt etwas Programmieraufwand.

Lg

@jurs ich hatte irgendwo gelesen (oder irre ich mich) das nur bis 4x20 verwaltet werden kann.
Kann ich ein 4x40 ganz normal ansprechen wie ein 4x20 auch ?
das würde ja schon mal weiter helfen.

@MrNiceGuy es geht nicht um Grafik und dergleichen, sondern nur normale Ausgaben (Zahlen, Buchstaben)
aber eben mehr als ein 4x20

gruß

Ein 4x40 müßte 2 Controller haben und darum wie 2 Module anzusprechen sein. Sie haben alle Pins gemeinsam außer daß 2 Enable Pins vorhanden sind.

Grüße Uwe

danke, dann werde ich mir erst einmal so eines besorgen!
gruß
Bernward

Hallo,

maverick1509:
@MrNiceGuy es geht nicht um Grafik und dergleichen, sondern nur normale Ausgaben (Zahlen, Buchstaben)
aber eben mehr als ein 4x20

Ein Grafik-Display kann auch Zahlen und Schrift ausgeben, sogar in verschiedenen Schriftgrößen.
Du solltest es Dir mal ansehen, bevor Du den Vorschlag verwirfst.

Gruss
Kurti

@Kurti,
das ist mir schon klar, es stellt sich für mich nur die Frage wie einfach oder umfangreich das machbar ist.
Ich hab das noch nie probiert und denke mal, mit einem einfachen lcd.print("Hallo Welt") ist das nicht
realisierbar oder irre ich da?
gruß

Muß es unbedingt nur ein Display sein? Ich habe hier vier Stück zusammen am laufen.

Nix gegen grafische Displays, nur bin ich mit der Ablesbarkeit überhaupt nicht zufrieden. Außerdem braucht man viele Kabel um das am Arduino anschließen zu können.

Micky

Wie wäre es, wenn du einen zweiten Arduino dranstöpselst, diesen per I2C deine Werte weitergibst, und der kümmerst sich (evtl. u.A.) um dein zweites Display oder sogar um beide?

Wie wäre es mit einem GLCD + kleinem Schriftsatz?! Da kannst Du VIEL Information unterbringen.

Hier eine Lib: Arduino Playground - GLCDks0108

...oder so: http://www.exp-tech.de/Displays/ITeadstudio-2-4--TFT-LCD-Touch-shield-fuer-Arduino.html

...oder gleich etwas amtliches: http://www.exp-tech.de/Displays/LCD/Arduino-Display-Module-43-Touchscreen-LCD.html

Gruß, Helmuth

Hallo Helmut,
wie viele "lesbare" Zeilen und Spalten würde man da bekommen,
wenn man nur Text und Zahlen ausgeben will.
Gruß
Bernward

Das hängt nur davon ab, was Du Deinen Augen zumuten möchtest ]:smiley:

Die Grenze der Lesbarkeit sehe ich bei 5x5 je Zeichen, also mit 1 Pixel Abstand dazwischen 6x6.
Sieht dann so aus: http://www.fontriver.com/i/fonts/5x5_pixel/5x5_pixel_specimen.jpg

Auf z.B. dem mittelgroßen 2.4'' TFT mit 320x240 Punkten wären das 53x40 Zeichen...

Du hast bei der physikalischen Displayauflösung und bei der Fontgröße die freie Wahl.

Hallo maverick1509

Ich denke mit diesem

oder diesem

müsste man schon zwischen 300 und 400 Zeichen auf ein 128x64 Display bekommen.
Bei einer Höhe von 64 Pixel bekommt man 10 (oder noch mehr) Zeilen unter.

Auf den bekannten Gebrauchtwarenbörsen werden manchmal 240x128 große Displays angeboten (T6963 Controller). Das würde dann mit u8glib auch prima funktionieren und die Anzahl der verfügbaren Zeichen vervielfachen.

Der größte Vorteil wäre aber m.E. dass man kleine Fonts (unwichtigere Information) mit großen Fonts (wichtige Information) mischen kann.

Das U8glib Projekt hat eine Übersicht zu allen sofort einsetzbaren Fonts: Google Code Archive - Long-term storage for Google Code Project Hosting.

Grüße,
Oliver

Und noch eine kurze Anmerkung zum Programmieraufwand.
Bei GLCD (U8 hab ich noch nicht genutzt) kann man Bereiche definieren (TextArea mit Eckpunkten auf dem Display), dieses einfach adressieren:

  TextArea.DefineArea(3, 12, GLCD.Right-3, GLCD.Bottom-3, SCROLL_UP);
  TextArea.SelectFont(System5x7);
  TextArea.CursorTo(0,0);
  TextArea.println("Hello World");
  TextArea.println("noch 'ne Zeile");

Das ist dann nicht komplizierter als ein "normales" Textdisplay, nur viel flexibler.

Dirk

ich danke euch für die Hinweise, werde das mal alles versuchen wenn ich die entsprechenden Displays habe.
gruß
Bernward

Ich bin auch am Überlegen eventuell ein Grafikdisplay zu nehmen. Ich habe mein Auge dabei hierauf:

http://www.komputer.de/zen/index.php?main_page=product_info&cPath=30&products_id=216
http://www.elecfreaks.com/wiki/index.php?title=Color_LCD_Shield

In Farbe. Als Shield. Belegt nur 7 Pins (wovon 2 ein Bus und 3 optionale Taster sind). Hat einen 4-Richtungs Joystick.

Hat 128x128 Pixel. Bei einem normalen 58 Font sollte man also etwa 2114 Zeichen haben wenn ich das richtig sehe.

Eventueller Nachteil. Pin 4 kollidiert mit dem SD-Karten Chipselect des Ethernet Shields wenn man das hat. Das wird man aber umbauen können.