Rabenauge
21.11.2017, 21:15
Hallöle.
Im anderen Faden haben wir ja schon etwas drüber gequatscht, aber dort passt es nicht.
Es geht um die (mehr oder weniger..)bekannten Displays von Itead- die NEXTION's.
Was isses?
Na, eben TFT-Displays (mit Touchscreen, bin grad nicht sicher, ob es die ohne auch gibt), die man wunderbar an nahezu jedem Controller benutzen kann.
Gibts viele oder? Ja eben. Wurde langweilig, darum hat Itead da mal was wirklich neues "erfunden": diese Displays haben ihren eigenen Controller, eigenen Speicher und, die enhanched-Versionen auch noch nette Kleingkeiten wie eine RTC drauf.
Aber nicht nur das, sondern sie werden ganz einfach über ne serielle Schnittstelle angesteuert.
Zwei Leitungen und Stromversorgung. Das wars.
Auch mit Touch-Funktion wird es nicht mehr.
Mit nem Arduino kann man beispielsweise über die serielle Schnittstelle Daten zum Display senden, die dann _dort_ ausgewertet und auf wunsch auch grafisch ausgewertet werden. Umgedreht kann das Display aber über die gleiche Schnttstelle natürlich auch Daten zum Arduino schicken!
Zudem kann man das Display standalone programmieren.
Um beispielsweise einen Taschenrechner zu bauen, braucht man _gar keine_ Zusatzhardware.
Wie funktioniert das?
Ich verlinke unten dann nen hervorragendes Tutorial (gibt noch bessere, aber nich auf deutsch), aber prinzipiell werden die Displays mit einem kostenlosen Editor programmiert.
Na klar: der läuft auf Windows....und Itead sagt, wenn sie genug Displays verkaufen, entwickeln sie vielleicht nen Webeditor, für die Linux-User *
Ich hab bissel gesucht, und ein Skript gefunden, mit dem man das Ding auch in Wine zum laufen bekommt.
In diesem Editor kann man mehrere Bildschirm-Seiten anlegen, Bedien-oder grafische Elemente anordnen, deren Verhalten programmieren, und eben _auch_ festlegen, wie auf Kommandos der seriellen Schnittstelle reagiert werden soll-oder welche Kommandos gesendet werden sollen.
Am Ende kommt dabei eine compilierte Datei heraus, die man mit nem gewöhnlichen seriellen Programmer ins Display einspielen kann, oder, wie ich (hatte keine Lust Wine die nötigen Berechtigungen einzurichten), spielt man die Datei einfach auf SD-Karte. Die im Display einlegen, Neustart-es liest die ein und behält sie dann auch.
Der Editor bietet noch mehr: man kann sein Machwerk direkt im Editor simulieren (samt Verhalten usw), kann Schriften einbetten, oder auch direkt vom Editor aus ein vorhandenes Display testen.
Worin liegen denn nun die Vorteile?
Naja, schonmal versucht, mit nem UNO ein Display mit, sagen wir 800x600 Bildpunkten in RGB anzusteuern?
Genau....das wird nix vernünftiges.
Mit Nextion kein Problem, da sich der Arduino um das Display _überhaupt nicht_ kümmern muss. Er schickt im lediglich die anzuzeigenden Daten (z.B. die Zimmertemperatur), und _alles_ andere erledigt Nextion!
Im Falle der Temperatur dürft das mit ner Handvoll Bytes gegessen sein, nun kann ja jeder, der Lust hat, mal rechnen, welche Datenmengen man da wie schnell aufs Display bekommt!
Und: wie fix gehen an nem Uno die Pins aus, wenn man mal ein Touch-TFT anbaut?
Zwei Leitungen genügen dem Nextion. Wirklich...auch einem ausgewachsenen 7-Zöller!
Und nochwas: man braucht nicht mal eine Bibliothek (es gibt aber eine), da man einfach nur die entsprechenden Daten seriell sendet- so, als würde man sie zur Konsole schicken.
Der HaWe hatte gefragt, ob ich mal nen Benchmark laufen lassen würde: würd ich. Aber das geht nicht, da ein normales Arduino-Programm für diese Art Display völlig unbrauchbar ist. Es laufen immer _zwei_ völlig unabhängige Programme-eins im Display und eines auf Arduino. Wenn nich grad das eine Daten zum anderen sendet, dann wissen die gar nix voneinander.
Ein Benchmark dafür müsste völlig anders aussehen....
Hier eine sehr gute, deutsche Einführung zu Nextion: Böcker (https://www.boecker-systemelektronik.de/epages/63381271.sf/de_DE/?ObjectPath=/Shops/63381271/Categories/Tutorials/Nextion_Tutorials)
Lest die mal einfach, ihr werdets kaum glauben, dass es so einfach sein kann (isses aber, ich habs auch erst nich geglaubt).
Durch die Möglichkeit, die Displays (in Grenzen) völlig eigenständig zu programmieren, kann man tatsächlich bereits mit einem Display ohne jegliche Peripherie (okok, bissel Strom muss rein) Anwendungen bauen.
Allerdings: die Programmierung ist eingeschränkt.
Aber für nen einfachen Taschenrechner reichts, da braucht es nicht mal nen Arduino.
Auch könnte man z.B. einen Sperrbildschirm, der mit einem einzugebenden Code gesichert ist, schon standalone machen-von dem merkt der Arduino gar nichts, und braucht sich somit auch nicht drum kümmern.
Selbst kleinere Spiele dürften möglich sein (hm, womöglich auch grössere?)....sowas läuft auch so richtig schnell!
Fazit nach etwa anderthalbem Tag rumspielen (ehrlich gesagt, ging die meiste Zeit dafür drauf, entsprechende Bitmaps zu erstellen, die man als Hintergrund benutzen, und nachträglich z.B. mit touchsensitiven Felder "überziehen" kann):
nie wieder weniger....vor allem, da die Teile auch nicht so viel mehr kosten, als die ollen, lahmen, speicherfressenden TFT's, die ich sonst benutzt hab.
Meins ist übrigens eine 3.5"-Ausführung mit "märchenhaften" 480x320 Pixeln. Kostenunkt etwa 34€- das kleinere 2.5er gibts für rund 25.
Aber: perfekt sind die Dinger natürlich auch nicht: der Blickwinkel ist "geht so", ähnlich den bekannten, billigen TFT auch, und die Farbtiefe ist nicht so, wie man sie heute erwarten würde- bei Verläufen sieht man Streifen.
Trotzdem: mal den Preis im Auge behalten....
*selten so gelacht :o
Im anderen Faden haben wir ja schon etwas drüber gequatscht, aber dort passt es nicht.
Es geht um die (mehr oder weniger..)bekannten Displays von Itead- die NEXTION's.
Was isses?
Na, eben TFT-Displays (mit Touchscreen, bin grad nicht sicher, ob es die ohne auch gibt), die man wunderbar an nahezu jedem Controller benutzen kann.
Gibts viele oder? Ja eben. Wurde langweilig, darum hat Itead da mal was wirklich neues "erfunden": diese Displays haben ihren eigenen Controller, eigenen Speicher und, die enhanched-Versionen auch noch nette Kleingkeiten wie eine RTC drauf.
Aber nicht nur das, sondern sie werden ganz einfach über ne serielle Schnittstelle angesteuert.
Zwei Leitungen und Stromversorgung. Das wars.
Auch mit Touch-Funktion wird es nicht mehr.
Mit nem Arduino kann man beispielsweise über die serielle Schnittstelle Daten zum Display senden, die dann _dort_ ausgewertet und auf wunsch auch grafisch ausgewertet werden. Umgedreht kann das Display aber über die gleiche Schnttstelle natürlich auch Daten zum Arduino schicken!
Zudem kann man das Display standalone programmieren.
Um beispielsweise einen Taschenrechner zu bauen, braucht man _gar keine_ Zusatzhardware.
Wie funktioniert das?
Ich verlinke unten dann nen hervorragendes Tutorial (gibt noch bessere, aber nich auf deutsch), aber prinzipiell werden die Displays mit einem kostenlosen Editor programmiert.
Na klar: der läuft auf Windows....und Itead sagt, wenn sie genug Displays verkaufen, entwickeln sie vielleicht nen Webeditor, für die Linux-User *
Ich hab bissel gesucht, und ein Skript gefunden, mit dem man das Ding auch in Wine zum laufen bekommt.
In diesem Editor kann man mehrere Bildschirm-Seiten anlegen, Bedien-oder grafische Elemente anordnen, deren Verhalten programmieren, und eben _auch_ festlegen, wie auf Kommandos der seriellen Schnittstelle reagiert werden soll-oder welche Kommandos gesendet werden sollen.
Am Ende kommt dabei eine compilierte Datei heraus, die man mit nem gewöhnlichen seriellen Programmer ins Display einspielen kann, oder, wie ich (hatte keine Lust Wine die nötigen Berechtigungen einzurichten), spielt man die Datei einfach auf SD-Karte. Die im Display einlegen, Neustart-es liest die ein und behält sie dann auch.
Der Editor bietet noch mehr: man kann sein Machwerk direkt im Editor simulieren (samt Verhalten usw), kann Schriften einbetten, oder auch direkt vom Editor aus ein vorhandenes Display testen.
Worin liegen denn nun die Vorteile?
Naja, schonmal versucht, mit nem UNO ein Display mit, sagen wir 800x600 Bildpunkten in RGB anzusteuern?
Genau....das wird nix vernünftiges.
Mit Nextion kein Problem, da sich der Arduino um das Display _überhaupt nicht_ kümmern muss. Er schickt im lediglich die anzuzeigenden Daten (z.B. die Zimmertemperatur), und _alles_ andere erledigt Nextion!
Im Falle der Temperatur dürft das mit ner Handvoll Bytes gegessen sein, nun kann ja jeder, der Lust hat, mal rechnen, welche Datenmengen man da wie schnell aufs Display bekommt!
Und: wie fix gehen an nem Uno die Pins aus, wenn man mal ein Touch-TFT anbaut?
Zwei Leitungen genügen dem Nextion. Wirklich...auch einem ausgewachsenen 7-Zöller!
Und nochwas: man braucht nicht mal eine Bibliothek (es gibt aber eine), da man einfach nur die entsprechenden Daten seriell sendet- so, als würde man sie zur Konsole schicken.
Der HaWe hatte gefragt, ob ich mal nen Benchmark laufen lassen würde: würd ich. Aber das geht nicht, da ein normales Arduino-Programm für diese Art Display völlig unbrauchbar ist. Es laufen immer _zwei_ völlig unabhängige Programme-eins im Display und eines auf Arduino. Wenn nich grad das eine Daten zum anderen sendet, dann wissen die gar nix voneinander.
Ein Benchmark dafür müsste völlig anders aussehen....
Hier eine sehr gute, deutsche Einführung zu Nextion: Böcker (https://www.boecker-systemelektronik.de/epages/63381271.sf/de_DE/?ObjectPath=/Shops/63381271/Categories/Tutorials/Nextion_Tutorials)
Lest die mal einfach, ihr werdets kaum glauben, dass es so einfach sein kann (isses aber, ich habs auch erst nich geglaubt).
Durch die Möglichkeit, die Displays (in Grenzen) völlig eigenständig zu programmieren, kann man tatsächlich bereits mit einem Display ohne jegliche Peripherie (okok, bissel Strom muss rein) Anwendungen bauen.
Allerdings: die Programmierung ist eingeschränkt.
Aber für nen einfachen Taschenrechner reichts, da braucht es nicht mal nen Arduino.
Auch könnte man z.B. einen Sperrbildschirm, der mit einem einzugebenden Code gesichert ist, schon standalone machen-von dem merkt der Arduino gar nichts, und braucht sich somit auch nicht drum kümmern.
Selbst kleinere Spiele dürften möglich sein (hm, womöglich auch grössere?)....sowas läuft auch so richtig schnell!
Fazit nach etwa anderthalbem Tag rumspielen (ehrlich gesagt, ging die meiste Zeit dafür drauf, entsprechende Bitmaps zu erstellen, die man als Hintergrund benutzen, und nachträglich z.B. mit touchsensitiven Felder "überziehen" kann):
nie wieder weniger....vor allem, da die Teile auch nicht so viel mehr kosten, als die ollen, lahmen, speicherfressenden TFT's, die ich sonst benutzt hab.
Meins ist übrigens eine 3.5"-Ausführung mit "märchenhaften" 480x320 Pixeln. Kostenunkt etwa 34€- das kleinere 2.5er gibts für rund 25.
Aber: perfekt sind die Dinger natürlich auch nicht: der Blickwinkel ist "geht so", ähnlich den bekannten, billigen TFT auch, und die Farbtiefe ist nicht so, wie man sie heute erwarten würde- bei Verläufen sieht man Streifen.
Trotzdem: mal den Preis im Auge behalten....
*selten so gelacht :o