hallo,
da die Display-Ausgabe nicht ganz einfach ist und wenn ich schon etwas mehr Geld (<=50 EUR) für was fertiges ausgeben muss, dann eher etwas größeres...
so wie hier:
oder hier:
oder hier:
die kosten ja auch alle keine 50 EUR so wie ichs gesehen habe.
Aber wie ist dann der elektrische Anschluss (höchstens ein paar wenige Kabel oder direkt dranstecken, nicht mehr als 3-4 analoge oder digitale pins)?
Und wie ist die softwaremässige Ansteuerung?
Ist die auch wirklich einfach möglich so wie
Indirekt kann man printf() natürlich verwenden. Die Libs funktionieren meistens so:
display.print(string, x, y);
Da legt man sich dann einmal einen globalen Puffer für alle String Funktionen an und verwendet snprintf() um in den Puffer zu schreiben. Diesen kann man dann auf dem Display ausgeben.
Hier empfiehlt sich gerade auf dem UNO übrigens die _P Version. Damit bleibt der Format-String im Flash wenn man ihn in ein PSTR() packt.
Mit dem Touchscreen gibt es Unterschiede. Das untere mittlere Shield braucht 2 digitale und 2 analoge Pins, da es direkt gemacht wird. Das mittlere untere hat einen Controller dafür drauf, der das erledigt. Das wird dann auch über SPI ausgelesen und braucht daher nur einen weiteren Pin für Chip Select. Also 6 insgesamt.
Wenn du die Touch Funktion nicht braucht, muss man das natürlich nicht anschließen. Viele der ganz kleinen TFT Displays haben es auch gar nicht erst.
Das mit dem _P oder dem Entpacken ist mir noch nicht klar, kann aber warten.
Normalerweise landen allen String Literale im RAM (da Harvard Architektur). Das auf dem UNO und mit RAM intensiven Libs wie TFTs nicht gut. Also macht man es so:
jetzt bräuchte ich nur noch mal kurz feedback von jemandem, der dieses Teil schon in Gebrauch hat, vllt auch mit einem sehr einfachen Sketch-Demo-Programm mit SPI-Verbindung
Wenn du die Touchfunktion verwenden willst, ist die Shield Version wie gesagt besser, da die nur einen Pin braucht statt 4. Die Lib funktioniert aber genauso.
Es gibt aber noch andere Displays, die alle ähnlich funktionieren. Wenn du nach "Arduino SPI TFT" und ähnlichem suchst. Da findest du vielleicht noch was billigeres oder passenderes für dich.
Hallo,
also das hier: http://www.exp-tech.de/Displays/2-8-TFT-Touch-Shield-for-Arduino.html
habe ich in gebrauch gehabt. Ist zwar zum aufstecken, geht aber auch auf einem
Steckbrett. 6 Leitungen für SPI und vier für den Rest.
Das Ding ist hübsch anzusehen und funktinoiert sofort.
Aber- schneckelangsam, liegt wieder in der Bastelkiste.
Bin wieder auf 4x20 zurück.
Mein nächster Versuch wird dieses sein:
oder das:
mit dem:
ich weiß noch nicht was besser sein könnte.
Wenn Du darüber mehr erfahren möchtest, dann mußt Du bis Juli warten.
BastelKistenEbbe.
Gruß und Spaß
Andreas
ein bisschen googlen kann nicht Schaden. Viele der Fragen kann man innerhalb 1 Minute problemlos mit Google erfragen.
Zu deiner letzten Frage, das Serielle GLCD braucht mit dem Backpack nur Tx und Rx sowie die Spannungsversorgung. Es wird aber sicherlich nicht so schnell laufen wie die einfachen 16x02 Displays. TFTs gibt es meiner Meinung nach keine wirklich schnellen für den Arduino Uno etc. Wenn Touch dazukommt, sind die meisten Pins weg. Das ist einfach so, für solche Aufgaben ist ein soclher Arduino nicht ausgelegt. Was abhilfe schafft, ist ordentlich zu Programmieren. Nur die Daten am Display abändern, die wirklich neugeschrieben werden müssen.
Beispiel wenn ich die Zeit auf einem Display anzeigen möchte, dann gehe ich bei einem TFT wie folgt vor
Immer nur die Stelle, die geändert wird mit überschreiben mit Schrifthintergrund.
Bei einem TFT gehe ich mit dem cursor an die richtige Stelle und überschreibe hier die Stelle. lcd.clear und ähnliche Konsorten machen auch einem schnellen LCD eine lahme Ente.
sschultewolter:
TFTs gibt es meiner Meinung nach keine wirklich schnellen für den Arduino Uno etc.
Das kommt auch darauf an was man machen will. Nur für ein paar Menüs, Buttons und Anzeige von Werten reicht es locker. Da sieht man zwar auch wenn größere Flächen neu gezeichnet werden, aber das ist vertretbar.
Wenn Touch dazukommt, sind die meisten Pins weg. Das ist einfach so, für solche Aufgaben ist ein soclher Arduino nicht ausgelegt
Das Adafruit Shield geht da eigentlich. Das braucht für Touch nur einen weiteren Pin, da das auch über SPI und den Controller auf dem Shield gemacht wird. Und nicht direkt vom Arduino.
so ein I/O multiplexer shield wär da nicht schlecht, und sei's nur fürs Display...
aber ich komme grad schon sehr schnell an die Speichergrenze - 1kb für Variablen sind wirklich äußerst mager...
vllt sollte man da einfach einen Mega nehmen und den Uno per i2c oder SPI dranhängen, und den dann nur fürs Display nutzen....
...wird dann ntl wieder super-kompliziert mit den printf Ausgabe-Routinen...
nachdem man aber sowieso pin ana 4+5 für i2c braucht, wär ein i2c-Display nicht schlecht, denke ich.
bis zu 127 Geräte an den i2c dranhängen ist sicher ausreichend und wenns dann sogar mit 400kHz geht, um so besser...
Brauchst bzw. willst du den Touch unbedingt?
Kleine, monocrome Grafikdisplays für I2C gibts nämlich, die Crius OLED (im Kontrast umd Tempo um ganze Klassen besser als die grottigen TFT`s). Beim Chinesen für rund nen Fünfer (128<64)- aber eben kein Touch...