Ich mache in der Schule ein Projekt mit einem Arduino, ich möchte eine Art Gameboy machen mit vorinstallierten Spielen welche man im "Hauptmenu" aufrufen kann.
Ich suche ein Touch-Display mit einer Diagonale von ca. 5", kennt da jemand von euch ein gutes welches auch eine Library hat?
Das Display soll schnell reagieren können, da die Spiele flüssig laufen sollten, jedoch werden es keine Spiele die viel Leistung brauchen sondern eher basic Spiele wie Pacman, Tic Tac Toe, Breakout etc.
Danke für die schnelle Antwort, welchen Arduino ich verwende weiß ich noch nicht, bisher habe ich lediglich mit dem Arduino UNO gearbeitet, aber ein anderer wäre für mich kein Problem.
Die Displays von Nextion habe ich mir schon angeschaut, ich habe aber oft gelesen dass der Arduino nicht genug schnell wäre für diesen Display und nicht flüssig laufen würde, hast du Erfahrung mit einem Nextion Display?
Ich denke für Spiele wie Breakout oder Pacman dürfte eine serielle Verbindung, wie beim Nextion, zu langsam sein. Anderseits wird wohl auch ein Arduino zuwenig Speicher haben, um das ganze Spielfeld darin zu halten und einen Sprite zu steuern.
Wenn es doch passen sollte, wird es aber garantiert kein Anfängerprojekt werden.
Sorry, wenn ich Dir ein paar Illusionen rauben muss.
Ok, mit Spielen habe ich da keine Erfahrung.
Ansonsten kann man die serielle Schnittstelle auch schneller stellen.
Ob es reicht muss man testen oder auf weitere Infos warten.
Und wenn Du die Spiele selbst programmieren möchtest, ist das Display Dein kleinstes Problem. Man kann sich auch mit einem sehr simpel anmutenden Spiel wie Tic Tac Toe ganz schön dicke Knoten ins Hirn machen.
Tommy56:
Ich denke für Spiele wie Breakout oder Pacman dürfte eine serielle Verbindung, wie beim Nextion, zu langsam sein. Anderseits wird wohl auch ein Arduino zuwenig Speicher haben, um das ganze Spielfeld darin zu halten und einen Sprite zu steuern.
Wenn es doch passen sollte, wird es aber garantiert kein Anfängerprojekt werden.
Sorry, wenn ich Dir ein paar Illusionen rauben muss.
Gruß Tommy
Ja eben, dass hab ich mir auch schon gedacht. Hättest du eine Idee welcher uC schnell genug wäre um solche Spiele zu programmieren?
gregorss:
Ich sehe das wie Tommy.
Und wenn Du die Spiele selbst programmieren möchtest, ist das Display Dein kleinstes Problem. Man kann sich auch mit einem sehr simpel anmutenden Spiel wie Tic Tac Toe ganz schön dicke Knoten ins Hirn machen.
Gruß
Gregor
Ich habe schon auf anderen uC's Spiele programmiert, also genauer gesagt habe ich einmal Tic Tac Toe und einmal Breakout programmiert, bei diesem uC war einfach die Schnelligkeit des Displays und uC's das Problem, deswegen wollte ich hier mal fragen ob jemand eine Idee hätte welchen uC ich verwenden könnte.
daveduino7:
... aber ein anderer wäre für mich kein Problem.
Auf der Produktseite von Arduino findest Du schnellere Arduinos mit mehr Speicher.
Ich kenne jemanden (RudiDL5), der mit einem UNO Schach spielt, aber der hat das in Assembler programmiert.
Auch mit der Arduino-IDE lassen sich Teensy 3.2, 3.5 und 3.6 programmieren. Das gilt auch für den ESP32, der einen Accesspoint aufmacht, mit dem sich Dein Smartphone verbinden kann. Das ist aber garantiert nichts für Anfänger. Aber auch die Sheldons dieser Welt waren mal Schüler
daveduino7:
Ich habe schon auf anderen uC's Spiele programmiert, also genauer gesagt habe ich einmal Tic Tac Toe und einmal Breakout programmiert, bei diesem uC war einfach die Schnelligkeit des Displays und uC's das Problem, deswegen wollte ich hier mal fragen ob jemand eine Idee hätte welchen uC ich verwenden könnte.
Auf welchem MC war das und in welcher Sprache?
Die quasi statischen Spiele wie Tic Tac Toe oder Memory sehe ich nicht so sehr als das Problem, sondern eher die bewegten Spiele, besonders wenn zur Eingabe auch noch Touch gefordert ist.
die schnelleren Arduinos kenne ich persöhnlich nicht, ich würde bei einem ESP8266 oder ESP32 landen mit SPI-Display, einfach weil ich die kenne und weiß, daß sie mehr als ausreichend schnell sind.
Display größer als 4,3", die ga gut zu passen, weiß ich im Moment nicht, mein größtes ist 4".
Auch auf 2,4" in 320x240 geht sowas sehr gut.
Arduino Mega2560 mit einem z.B. 3,2" Display dürfte durchaus auch eine brauchbare Wahl sein, da aber auf jeden Fall ein Display mit Parallel-Anstaeuerung. IO-Pins bleiben dann auch noch ausreichend frei, bei einem UNO bleibt nicht viel übrig.
daveduino7:
Ich habe schon auf anderen uC's Spiele programmiert, also genauer gesagt habe ich einmal Tic Tac Toe und einmal Breakout programmiert, bei diesem uC war einfach die Schnelligkeit des Displays und uC's das Problem, deswegen wollte ich hier mal fragen ob jemand eine Idee hätte welchen uC ich verwenden könnte.
Problematisch ist IMO weniger die Geschwindigkeit von µC und Display, sondern die Geschwindigkeit der Kommunikation bzw. die Menge der zwischen µC und Display zu übertragenden Daten.
gregorss:
Problematisch ist IMO weniger die Geschwindigkeit von µC und Display, sondern die Geschwindigkeit der Kommunikation bzw. die Menge der zwischen µC und Display zu übertragenden Daten.
sehe ich auch so. ILI9341 ist sehr beliebt, kann aber nur max. 320x240. max. SPI-Clock geht wenn man Glück hat bis 40MHz.
Bei den größeren mit 480x320 haben oft den ILI9486, SPI-Versionen der Displays dann zusätzliche CMOS-Logik um SPI zu machen. Da ist bei 20MHz SPI-Clock Schluß.
Sinnvoll ist auch, daß ein SPI Touch-Controller drauf ist, meist der XPT2046.
Tommy56:
Auf welchem MC war das und in welcher Sprache?
Die quasi statischen Spiele wie Tic Tac Toe oder Memory sehe ich nicht so sehr als das Problem, sondern eher die bewegten Spiele, besonders wenn zur Eingabe auch noch Touch gefordert ist.
Gruß Tommy
Die Spiele habe ich auf dem STM32F107 programmiert, ist kein sehr bekannter uC, wurde uns jedoch von der Ausbildung vorgeschrieben. Ich habe die Spiele in C programmiert und es waren auch Spiele mit Bewegungen dabei wie z.B. Breakout wo sich der Ball durchgehend bewegt.
Ich hab mir mal den ILI9341 angeschaut, er sieht an sich ziemlich gut aus und ich denke ich werde mich auch für dieses Entscheiden und es dann mit einem Arduino UNO ansteuern.