Arduino VGA Multigame
HTML-код
- Опубликовано: 8 сен 2024
- I have done different video showing the reproduction of some among the most popular old arcade games by means of a bare Arduino and few basic components. The main feature is the generation of a VGA signal, thanks to the VGAx library, published on GitHub by Sandro Maffiodo aka Smaffer.
On the other end any games needs a slightly different configuration, i.e. a different number of buttons and/or potentiometers to drive it.
Finally I decided to build a single game platform, and to correct the codes consequently, for all games, in particular: Pong, Tetris, Breakout, Snake, Bomber and a drawing toy inspired to etch-a-Sketch.
An Instructable with instrucions and the Arduino codes is available here:
www.instructabl...
Absolutely incredible!
Lo hice, te di tu credito a tu inescrutable, un saludo
Awesome!
Hope - there is video how to build It :)
How can I run software on a VGA monitor without using a os
Kernel drives the signal directly, in the same way as the old Atari did, or the Sinclair ZX81. You can also push the job onto a second Arduino as a kind of GPU.
Spettacolare!!! Approfitto per chiedere aiuto, ho collegato due servo motori ad Arduino sui pin PWM 5, 6 e l'alimentazione su un alimentatore switching esterno 5V 2A ponticellando GND su Arduino. I servi vengonl comandati da due pulsanti ma quando dovrebbero stare fermi saltellano, soffrono del problema chiamato "jitter", qualche soluzione a riguardo? Non riesco a trovare nulla in giro. Grazie per una eventuale risposta.
Ciao, grazie del commento.
Riguardo i jitter dei servo: è un comportamento normale se non aggiungi una esistenza verso massa ai pin di ingresso degli interruttori. Se un tasto è collegato tra i +5V e, ad esempio, il pin D9, quando lo apri lo stato di D9 è indefinito (dato che è scollegato), basta infatti un po' di elettricità statica per fare andare la tensione oltre la soglia di attivazione. Devi sempre collegare una resistenza, ad esempio 1 o 2 kOhm, tra D9 e GND, così quando l'interruttore è aperto la tensione su D9 va esattamente a zero.
Guarda come collego gli interruttori nel mio dispositivo descritto in questo video.
Ciao e buon lavoro.
Rob Cai avevo già messo una resistenza sui pulsanti. Tuttavia ho notato che scollegando il cavetto che va al pin PWM, il servo smette di vibrare. Stavo quasi pensando di mettere un relè che interrompa il cavo PWM dopo qualche millisecondo... Ma prima di arrivare a fare questa prova mi domandavo se ci fosse qualche alternativa valida...
io proveei a collegare a massa attraverso la solita resistenza 1-2 kOhm anche l'uscita PWM... Cosí funziona?
Rob Cai questo ancora non l'ho provato, appena ho un attimo provo e ti faccio sapere; questo problema mi sta davvero dando tanto da pensare!!! Davvero grazie per l'aiuto che mi stai dando. Se si riesce a trovare "la quadra" questo potrà aiutare altri makers!
Guarda cosa scrivono sul sito ufficiale di Arduino a proposito di analogWrite() - PWM:
www.arduino.cc/en/Reference/AnalogWrite
Notes and Known IssuesThe PWM outputs generated on pins 5 and 6 will have higher-than-expected duty cycles. [...] This will be noticed mostly on low duty-cycle settings (e.g 0 - 10) and may result in a value of 0 not fully turning off the output on pins 5 and 6.
Sembra proprio il tuo caso! Prova due pin diversi, 3, 9, 10 e 11. fammi sapere se su questi funziona.
No more details??
yes, there is a link in the video description!
@@RobCai74 thanks
Can this run on attiny85
No, not enough RAM and EEPROM, for instance...
@@RobCai74 thanks for your feedback and your effort 🌹
How about an atmega328p?
@@billjr9526 of course it can see description box for the tutorial.
@Rob Cai thanks. Planning to do this when I get some free time