Ich habe meinen Sohn jetzt für Arduino begeistern können. Lockmittel war, dass wenn er den Baukasten mit den ganzen Elektroniksachen durch hat ich ihm ein Display kaufe und er dann Spiele für seinen Mega2560 schreiben kann. Irgendwie will er unbedingt ein OLED haben, ich finde da aber nichts was etwas größer ist. Was wäre denn eure Empfehlung, möglichst mit Adruino-Lib. Marko
Ob Spiele Entwicklung auf einem "größeren" Display mit 8k SRAM Spaß macht...
Marko R. schrieb: > Irgendwie will er unbedingt ein OLED haben, ich finde da aber nichts was > etwas größer ist. So sollte "man" erst mal herausfinden warum es OLED sein soll. Es gibt genügend Displays als TFTs so wie es jedes Handy heutzutage hat. OLEDs sind heute einfarbig oder teuer, TFTs bekommt man sicher günstiger, bunt und in höherer Auflösung. Grösster Nachteil den ich sehe ist bei OLEDs die Degenerierung. YMMV
> Irgendwie will er unbedingt ein OLED haben, ich finde da aber > nichts was etwas größer ist. Du musst definieren was "etwas groesser" ist. OLED mit 2.4" und einfarbig sind noch gaengig und bereits deutlich groesser wie die ueblichen 1.3" Teile. Noch groesseres wird dann exotisch, also selten und der Preis steigt exponentiell. Wenn du dagegen an sowas wie ein Handy denkst, also sagen wir mal 6" mit RGB dann wird das Interface wohl eure Faehigkeiten uebersteigen und dein bescheidener Controller ist damit auch ueberfordert. Du bist dann in der Klasse wo man sowas wie einen Raspberry Pi mit aufgestecktem Display nimmt. Die sind aber TFT und keine Oled, einfach aus preisgruenden. Vanye
OK, dann wird es ein TFT. Welches würdet ihr empfehlen? Ich denke möglichst groß bei mäßiger Auflösung, damit er nicht zu viele Pixel schreiben muss und man trotzdem noch was erkennt. Möglichst mit SPI. Das hier schaut brauchbar aus: https://www.reichelt.de/arduino-shield-display-3-5-320-x-480-ard-shd-lcd3-5-p291375.html?&nbc=1&trstct=lsbght_sldr::282497 Würdet ihr einen ST7796 der ILI9486 als Kontroller wählen? Marko @Vanye: An meinen Fähigkeiten scheitert es nicht, ich mache sowas beruflich, kenne mich mit den Hobbyisten-Sachen aber nicht aus. Arduino habe ich letzte Woche das erste Mal angefasst, denke aber es ist für ihn, nachdem er mit dem Calliope "fertig" ist, das richtige. Und da sich so ein pupertierender nichts mehr von seinem Alten sagen lässt muss es halt ein Display sein, das möglichst gut unterstützt und in Foren komplett mit allem dokumentiert ist.
:
Bearbeitet durch User
Für mehr Freude ist mehr Speicher nötig und dann ist man beim Cortex-M. Die Bodmer/TFT_eSPI kennt Sprites, was für bewegte Objekte hilfreich ist, aber auch mehr Speicher braucht. Ein guter und sehr günstiger Controller ist da der Raspberry Pico. Als Tufti 2040 von Pimoroni gibt es das als kompakte Einheit mit Display und Akkuanschluss, also für so einen Gameboy Clone schon ideal. Durch schnelles SPI mit DMA dauert selbst ein kompletter Screen Refresh nur wenige ms. https://www.berrybase.de/pimoroni-tufty-2040 Dann ginge Spieleentwicklung noch rein in SW, mit dem Retro Projekt https://www.lexaloffle.com/pico-8.php Eine sehr minimale Spiele Engine, wo gerade der Minimalismus den Charme ausmacht.
OK, ich denke eines der beiden wird es werden: http://lcdwiki.com/3.95inch_Arduino_Display-Mega2560_ST7796 http://lcdwiki.com/3.95inch_Arduino_Display-Mega2560 Welcher Chip ist besser unterstützt? - ILI9488 - ST7796S Marko
Marko R. schrieb: > Welcher Chip ist besser unterstützt? Ziemlich egal, mit geringer Präferenz für ILI9488. Für Arduinos gibt es hauptsächlich vier Sorten von Displays was die Steckverbindung angeht. - das von dir gezeigte Reichelt-Display hat eine 8-Bit Schnittstelle die jedoch auf 6+2 Bit (separat zu schreiben) aufgeteilt ist, passt auf alle Arduinos. - normale SPI-Displays die "von Hand" mit dem Arduino verdrahtet werden müsssen. Löten oder Dupont Steckverbinder. - 16-Bit (Interface) Displays die ein Adapterboard brauchen um von ihrem 40-poligen Stecker auf den 36-poligen des Arduino Mega zu kommen - 16-Bit (Interface) Displays die bereits mit 36-poligem Steckverbinder (Buchse) daherkommen und nur auf den Mega passen. Also Obacht passen welcher Stecker und welches Interface.
Hier ein Display vom Typ "Reichelt", jedoch mit höherer Auflösung und ILI9488 (du wolltest ja weniger Auflösung) Beitrag "LCD 480x320 mit wenig Aufwand zum Anbinden" Wenn man das so selbst verdrahtet braucht man sich nicht um die 6+2 Bit Aufspaltung zu kümmern. Ansonsten ist es immer doppelte Schreibarbeit für den Arduino. Allerdings braucht man eben einen kompletten 8-Bit-Port, den es beim Arduino Uno nicht gibt.
OK, dann wird es wohl dieses hier in der 16 Bit-Variante. Ich glaube was die 8 von der 16 Bit Variante untescheidet ist nur ob ein zusätzlicher Level-Shifter aufgelötet ist oder nicht: https://es.aliexpress.com/item/1005003752743978.html?spm=a2g0o.cart.0.0.202b4ae44rUNXy&mp=1&gatewayAdapt=glo2esp Marko
Marko R. schrieb: > Ich glaube was die 8 von der 16 Bit Variante untescheidet ist nur ob ein > zusätzlicher Level-Shifter aufgelötet ist oder nicht: Ist von der Artikelbeschreibung her nicht erkennbar. Ich habe jedoch bisher kein 8-Bit Display mit 36-poligem Stecker gesehen. Die 8-Bitter waren immer die 6+2 Typen mit zwei Stecker-Reihen (vom "Typ Reichelt"). Also was du jetzt ausgesucht hast ist weder niedrig auflösend noch mit SPI, wie du vorher gewünscht hast.
Marko R. schrieb: > Möglichst mit SPI. Marko R. schrieb: > OK, dann wird es wohl dieses hier in der 16 Bit-Variante. Also wie nun, erst wollst SPI und jetzt doch Parallel? Wobei das erste (Reichelt) auch Parallel war, SPI war nur das SD-Karten Interface. Bzgl. RAM: Je nachdem was man machen möchte, ist es echt ein Krampf wenn man den Displayinhalt nicht als "Frame-Buffer" im RAM hat. Wenn er doch grad erst anfängt mit Arduino und Co., warum fängt er dann nicht mit einem simplen Display (KS0108) an um erstmal das Prinzip zu verstehen? Bei OLED und TFT kommen dann noch so Dinge wie z.B. RGB565 hinzu usw. Klar kann das alles Easy sein, wenn man Klicki_Bunti GUI Apps hat für Bildkonvertierung und ne Arduino LIB, aber Verständis entsteht da wohl eher weniger.
Adam P. schrieb: > Je nachdem was man machen möchte, ist es echt ein Krampf wenn man den > Displayinhalt nicht als "Frame-Buffer" im RAM hat. Er will seinen Sohn mit Arduino-Lib anfangen lassen. Da gibt und braucht es keinen Frame-Buffer.
Ich selber schreibe mir mein Zeug einfach vom Datenblatt selber runter wenn ich keine ordentliche Lib habe (fremde Libs zu debuggen dauert meist länger als selber zu schreinen..). Ich hatte mit dem Arduino-Zeug noch nichts gemacht und die letzten Minuten mich mal eingelesen. Der Gedanke hinter SPI war, dass man das Interuptgetrieben eh im Hintergrund laufen lassen kann, da der MEGA2560 eh nicht der schnellste ist und man einfach die Pins spart. Ein paar YouTube-Videos später scheint das parallele Interface aber doch einen Unterschied zumachen. Im Grunde ist es egal. Wenn ich bei ihm das Display-Fieber zünde, dann sucht er sich selber raus was er braucht. Und wenn das erreicht ist, dann ist die Mission eh erfüllt - er soll ja nur lernen wie das Zeug funktioniert. Und wenn er Probleme hat, kommt er ja vielleicht doch zu seinem "Alten" und fragt... Vielen Dank für eure Hilfe! Ich berichte dann mal über unserer Erfahrungen.
> Der Gedanke hinter SPI war, dass man das Interuptgetrieben eh im > Hintergrund laufen lassen kann, da der MEGA2560 Du wolltest ein Display das gross ist. Da sind eigentlich so 320x240 Pixel ueblich. Das Datenblatt zum ILI sagt 10Mhz SCK. Das ist dann schon etwas langsam. Allerdings hab ich denen selber schon mit 40Mhz die Daten reingeblasen. Damit bist du an der unteren Grenze von Okay, Videokucken also eher nicht, sowas wie Tetris aber sicher kein Problem. Wenn du dich aber schon mit einem TFT zufrieden gibst dann findet sich bei Alieexpress auch eine Menge Display die etwas kleiner sind wie QVGA. Auch sehr preiswert. Allerdings haben die oft eine sehr beschissenes Kontrastverhaeltnis oder engen Blickwinkel. Da merkt man deutlich das es billig sein soll. https://de.aliexpress.com/item/1005005990806476.html Allerdings muss man dann auch sagen das du da ernsthaft mit Hand anlegen musst. Die Dokumentation bei Ali ist oftmals zweifelhaft, fuer einen Anfaenger eigentlich unzumutbar. Vanye
Marko R. schrieb: > OK, dann wird es ein TFT. Welches würdet ihr empfehlen? > Ich denke möglichst groß bei mäßiger Auflösung, damit er nicht zu viele > Pixel schreiben muss und man trotzdem noch was erkennt. > Möglichst mit SPI. Da gab es mal ein 1,8 Zoll LCD. Gibt es das heute noch? https://docs.arduino.cc/retired/other/arduino-lcd-screen Ja, wenn gleich leicht geändert. https://www.reichelt.de/entwicklerboards-display-lcd-1-8-128-x-160-st7735s-debo-lcd128x160-p282502.html?&trstct=pol_3&nbc=1 > Das hier schaut brauchbar aus: > https://www.reichelt.de/arduino-shield-display-3-5-320-x-480-ard-shd-lcd3-5-p291375.html?&nbc=1&trstct=lsbght_sldr::282497 > > Würdet ihr einen ST7796 der ILI9486 als Kontroller wählen? Ist am Ende egal. Dein Junior wird jetzt keine Rekorde aufstellen und keine Super Power GPU benötigen. Für ein Pacman & ähnliches reichen fast alle. Beitrag "Welchen TFT für Atmega328 oder ähnlichen AVR?"
Marko R. schrieb: > An meinen Fähigkeiten scheitert es nicht, ich mache sowas beruflich, > kenne mich mit den Hobbyisten-Sachen aber nicht aus. Dann schaue Dir zumindest an, wieviel Speicher der Arduino verfügbar hat und, wie viel davon für das Grafikdisplay belegt wird. Bleibt da noch genug für die eigentlichen Aufgaben über?
Der ATmega2560 hat viel zu wenig RAM, um mit so einem Display Spaß zu haben. Für einen Buffer, der via SPI im Hintergrund-Prozess auf ein 480x320 TFT Display übertragen wird, brauchst du schon ca. 300 Kilobyte RAM. Für ruckelfreie Wiedergabe bewegter Bilder brauchst du zwei Buffer. Der ATmega2560 hat 8 Kilobyte.
Stefan F. schrieb: > Der ATmega2560 hat 8 Kilobyte. und ein ESP32 512KB, ein ATmega 1284p immerhin 16KB
Wastl schrieb: > Adam P. schrieb: >> Je nachdem was man machen möchte, ist es echt ein Krampf wenn man den >> Displayinhalt nicht als "Frame-Buffer" im RAM hat. > > Er will seinen Sohn mit Arduino-Lib anfangen lassen. Da gibt > und braucht es keinen Frame-Buffer. Für Spiele? Da wird's dann aber schon schwierig, wenn man was animieren will. Außer man nimmt ein Display, das einen Controller eingebaut hat, der komplexere Sachen wie Sprite-Animationen schon von sich aus kann. Mal zum Vergleich: Der Game Boy Color hatte ein 160x144-Pixel-Display und 32kB RAM + 16kB Grafikspeicher und konnte damit bis zu 56 von insgesamt 32k Farben gleichzeitig nutzen. Dazu konnte das Cartridge neben dem ROM für das Spiel selbst auch nochmal bis zu 128kB RAM haben.
:
Bearbeitet durch User
Mit unseren Studenten nehmen wir immer ein ESP32 Board mit Display. Kostenfaktor 10-15€ bei Ali. Damit programmieren sie dann meist Pong. Als nächstes dann Bluetooth/WLAN und anschließend Pong über Funk als Multiplayer. Ressourcen hat es genug um auch später mal einen richtigen Emulator laufen zu lassen. Gerade am Anfang ist es deutlich einfacher mehr Speicher bei so etwas zu haben. Der Frustfaktor ist dadurch deutlich geringer und man kann sich auf die eigentliche Aufgabe konzentrieren.
Beitrag #7493154 wurde vom Autor gelöscht.
> Mit unseren Studenten nehmen wir immer ein ESP32 Board mit Display. > Kostenfaktor 10-15€ bei Ali. Interessant. War noch gar nicht in meinem Wahrnehmungshorizont aufgetaucht. Ich nehme an du meinst sowas: https://de.aliexpress.com/item/1005004840423443.html Wie ist denn da dein Eindruck vom Display? Will man da drauf schauen oder sieht das eher billig und kontrastarm aus? > Gerade am Anfang ist es deutlich einfacher mehr Speicher > bei so etwas zu haben. Der Meinung bin ich auch. Vanye
Vanye R. schrieb: > Ich nehme an du meinst sowas: Ja sowas in der Art. Gibt auch noch andere: https://a.aliexpress.com/_EICOecL Größeres Display. Mit Touch. Aber halt fast keine Pins raus geführt. Kommt drauf an was man alles damit machen möchte. Vanye R. schrieb: > Wie ist denn da dein Eindruck vom Display? Will man da drauf schauen > oder sieht das eher billig und kontrastarm aus? Von dem Bild auf Ali würde ich das nicht abhängig machen. Schau Mal bei YouTube, da gibt's einige Videos dazu. Da sieht man das wahrscheinlich besser als auf dem Bild. Ich finde die was wir haben gut. Sehe gerade aber die gibt es im gleichen Formfaktor auch mit OLED (30€). Könnte sein dass es die sind. Vanye R. schrieb: >> Gerade am Anfang ist es deutlich einfacher mehr Speicher >> bei so etwas zu haben. > > Der Meinung bin ich auch. Aus deinem Link mit der Uhr sieht man zumindest ein paar Laufzeit Zahlen. 62FPS sind beim 240MHZ Boliden immerhin schon 10% Systemlast. Für eine Uhr natürlich etwas übertrieben, bei einem Spiel aber nicht so arg.
Vanye R. schrieb: > Wie ist denn da dein Eindruck vom Display? Will man da drauf schauen > oder sieht das eher billig und kontrastarm aus? Das ist von LilyGo, die entwerfen und bauen sehr coole und wertige Sachen: https://www.lilygo.cc/ Ich habe die erste Version von dem ESP32/Display, das Display ist sehr gut, hell, kontrastreich und guter Ablesewinkel.
Marko R. schrieb: > Ich hatte mit dem Arduino-Zeug noch nichts gemacht und die letzten > Minuten mich mal eingelesen. Der Gedanke hinter SPI war, dass man das > Interuptgetrieben eh im Hintergrund laufen lassen kann, da der MEGA2560 > eh nicht der schnellste ist und man einfach die Pins spart. Ein paar > YouTube-Videos später scheint das parallele Interface aber doch einen > Unterschied zumachen. Die performanteste Art ein TFT-Display anzusteuern ist über das External Bus Interface. Der Mega2560 hat das ja. Das ist etwa Faktor 5 schneller als per GPIO-Bitwackelei. Been there, done that. Und am EBI kann man auch noch ein extra SRAM anschließen. Entweder ein 32k 62256 oder ein 128k oder 512k mit Bankswitching. Aufgrund des Adress-/Datenbus-Multiplexing ist das externe RAM nicht so schnell wie das interne, aber ansonsten ist es für den Prozessor ganz normales RAM. Der Linker sollte dessen Existenz aber im Linkerscript mitgeteilt bekommen. fchk
> Der Linker sollte dessen Existenz aber im Linkerscript mitgeteilt > bekommen. Ts ts....hab doch letztens erst hier irgendwo gelesen das man nicht wissen muss was ein Linkerscript ist. :-D Vanye
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.