Sommario:
- Passaggio 1: crea il master Arduino con TinyBasic e la tastiera PS2
- Passaggio 2: collega la tastiera PS2 al Master Arduino
- Passaggio 3: carica la libreria e il codice VGAx sul secondo Arduino e metti tutto insieme
- Passaggio 4: Opzionale: utilizzo di un PCB
- Passaggio 5: commenti finali e ringraziamenti
Video: Arduino Basic PC con uscita VGA: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Nel mio precedente Instructable ho mostrato come costruire un computer retrò a 8 bit con BASIC, tramite due Arduino, e con un segnale di uscita in bianco e nero per uno schermo TV.
Ora mostrerò come costruire lo stesso computer, ma con il segnale in uscita a colori per un monitor VGA!
Puoi inserire le variabili e il programma BASIC con una tastiera PS2 e genera l'output per un monitor VGA con una risoluzione del testo di 24 colonne x 10 righe di caratteri 5x6 pixel, in quattro colori. Potete vederlo in azione nel video in alto. Il programma può quindi essere salvato sulla EEPROM di Arduino, ed è comunque possibile controllare i pin I/O direttamente tramite i comandi dedicati Basic.
Questo progetto può essere utilizzato anche per stampare semplici messaggi di testo sul monitor, come mostrato nella terza immagine in questa pagina.
Un Arduino è il "master" ed esegue Tiny Basic Plus, un'implementazione C di Tiny Basic, con particolare attenzione al supporto per Arduino. Controlla anche una tastiera PS2. L'output viene poi inviato tramite la porta seriale al secondo Arduino che genera l'output VGA grazie alla libreria VGAx.
L'idea di utilizzare uno o più Arduino per creare un PC vecchio stile con un dialetto Basic non è nuova ma, per quanto ne so, nessuno di loro ha un output a colori. In alcuni progetti disponibili in rete si è utilizzato display LCD, mentre in altri, per consentire l'utilizzo dei monitor, è stata utilizzata la libreria TVout, che è B&W. Inoltre, in molti di questi progetti devono essere costruiti scudi o hardware speciali. Qui sono necessari solo due Arduino, poche resistenze e il connettore per la tastiera PS2 e il monitor, come mostrato nelle immagini sopra.
Passaggio 1: crea il master Arduino con TinyBasic e la tastiera PS2
TinyBasic Plus e la libreria VGAx funzionano per Arduino IDE 1.6.4.
Prima scaricalo dalla pagina web ufficiale di Arduino. Se hai una versione più recente sul tuo PC, la cosa migliore è scaricarla in formato.zip e decomprimerla sul tuo PC. Fare clic su questo collegamento per scaricare la versione per Windows.
Hai bisogno della libreria PS2keyboard. Lo trovi in fondo a questa pagina. Basta decomprimerlo e copiare la cartella PS2keyboard in: arduino-1.6.4\libraries
Infine, in questa pagina, scarica il file: TinyBasicPlus_PS2_VGAx.ino, decomprimilo e caricalo sul tuo Arduino.
Questa è una variazione dello standard TinyBasic Plus in cui ho aggiunto la libreria PS2 e modificato il codice per accettare le variabili da essa.
Maggiori dettagli su TiniBasic Plus e tutorial sono disponibili a questo link.
Se non ci sono problemi e problemi di compatibilità, Tiny Basic è già in esecuzione. Puoi testarlo tramite un monitor seriale nel tuo PC. A questo scopo utilizzo PuTTY, ma sono disponibili molti altri programmi.
Devi impostare la porta COM corretta (è la stessa che trovi nell'IDE di Arduino) e baud rate = 4800
Qui puoi già testare alcuni programmi in Basic semplicemente digitandoli con la tastiera del tuo PC (NB più avanti ti mostrerò come collegare la tastiera della PS2 direttamente ad Arduino).
Prova ad esempio:
10 STAMPA "Ciao, Mondo!"
20 VAI A 10
CORRERE
Puoi quindi interrompere il ciclo infinito semplicemente digitando ctrl+c.
Nota che questa combinazione non funzionerà per la tastiera PS2.
Nel passaggio successivo mostrerò come collegare la tastiera PS2 ad Arduino.
Passaggio 2: collega la tastiera PS2 al Master Arduino
Ho ottenuto tutte le informazioni e la libreria da questo Instructable.
Essenzialmente è necessario collegare i seguenti quattro pin:
- dati della tastiera al pin 8 di Arduino,
- tastiera IRQ (clock) al pin 3 di Arduino;
- devi collegare anche GND e +5V.
Ho preso un vecchio connettore PS2 femmina da una scheda madre del PC rotta. Puoi semplicemente rivenderlo con una pistola termica.
Nell'immagine mostrata in questo passaggio, puoi trovare la funzione dei pin necessari del connettore PS2.
Passaggio 3: carica la libreria e il codice VGAx sul secondo Arduino e metti tutto insieme
Prima scarica il codice VGAx-PC.ino in fondo a questa pagina e copialo sul tuo PC in una directory con lo stesso nome.
Scarica la libreria VGAx da questo link su GitHub. Il modo più semplice è copiarlo nella sottocartella del software Arduino denominata "librerie", per essere immediatamente riconosciuto.
IMPORTANTE: questa libreria funziona per Arduno IDE 1.6.4 ma non è completamente compatibile con versioni precedenti o più recenti.
Carica il VGAx-PC.ino nella tua seconda scheda Arduino (l'ho testato per la versione Nano ma anche Uno dovrebbe funzionare).
Un avviso per memoria disponibile insufficiente è normale. Se non hai altri errori tutto ok e puoi iniziare subito a costruire il tuo PC a 8 bit.
Per questo hai bisogno di:
- due Arduino Uno Rev. 3 o due Arduino Nano 3.x (ATmega328)
- un connettore DSUB15, ovvero un connettore VGA femmina o un cavo VGA da tagliare.
- resistenze: 2 x 68 Ohm e 2 x 470 Ohm
- un connettore PS2 femmina
- fili
- facoltativa: una breadboard o una strip board
Lo schema è riportato all'inizio di questo passaggio. Un esempio di una "console" finita è mostrato nel passaggio introduttivo.
Lo stesso schema, con una risoluzione maggiore, è riportato in un file compresso in fondo a questo passaggio.
Passaggio 4: Opzionale: utilizzo di un PCB
Puoi anche costruire questo PC VGA di base utilizzando un piccolo PCB. Puoi prendere ispirazione dalle immagini in questo passaggio o puoi persino stampare la tua tavola.
Ho usato due strip di header femmina con 15 fori per l'uscita video Arduino, mentre per il master ho usato due strip con doppi fori. In questo modo posso utilizzare quelli esterni per inserire i contatti di altri componenti del progetto, che possono essere pilotati direttamente con il codice Basic. Ho anche aggiunto al centro delle strisce rimanenti, una collegata a 5 V e l'altra per GND.
Passaggio 5: commenti finali e ringraziamenti
Il mio principale ringraziamento va a Sandro Maffiodo aka Smaffer, il creatore della fantastica libreria VGAx.
Molte grazie anche agli autori di TinyBasic Plus:
- Tiny Basic 68k - Gordon Brandly
- Arduino Basic / Tiny Basic C - Michael Field
- Tiny Basic Plus - Scott Lawrence
Grazie anche a "djsadeepa", l'autore di Instructable per il collegamento della tastiera PS2.
A tutte le persone interessate a questo progetto: se avete problemi, non esitate a chiedere suggerimenti nei commenti.
Se ci riesci, scrivi anche un commento o condividi un'immagine del dispositivo che costruisci.
Consigliato:
Tobias - Arduino Music Box con uscita TV: 5 passaggi (con immagini)
Tobias - Arduino Music Box With TVout: Prima di tutto, lascia che ti presenti Tobias, l'orsacchiotto gigante della mia ragazza, che è l'ispirazione per questo progetto. Tobias ha una personalità, costruita nel tempo mentre ci chiediamo scherzosamente nella nostra mente cosa fa mentre lei è via al lavoro. Il progetto è stato
Alimentatore lineare a doppia uscita regolabile: 10 passaggi (con immagini)
Alimentatore lineare a doppia uscita regolabile: Caratteristiche: Conversione AC – DC Doppie tensioni di uscita (Positivo – Terra – Negativo) Linee positive e negative regolabili Solo un trasformatore AC a uscita singola Rumore di uscita (20MHz-BWL, senza carico): Circa 1,12 mVpp Basso rumore e uscite stabili (ideale
PC di base ESP32 con uscita VGA: 7 passaggi
PC di base ESP32 con uscita VGA: in questo Instructable mostrerò come costruire un semplice PC in stile retrò fatto con un singolo ESP32 e pochi altri componenti. Questo PC esegue Tiny Basic, un dialetto semplificato di BASIC, e genera l'output per un monitor VGA. La risoluzione è 640
PropVario, un variometro/altimetro fai-da-te con uscita vocale per alianti RC: 7 passaggi (con immagini)
PropVario, un variometro/altimetro fai-da-te con uscita vocale per alianti RC: queste istruzioni ti mostreranno come costruire un Vario economico, che potrebbe parlare l'altitudine e, naturalmente, inviare vari toni quando si cambia l'altezza del tuo aliante. Alcune caratteristiche: - voce e tono - usa i tuoi campioni (wave-) nella tua la
Arduino Basic PC con uscita TV: 5 passaggi (con immagini)
Arduino Basic PC con uscita TV: in questo Instructables mostrerò come costruire un computer retrò a 8 bit con BASIC, per mezzo di due Arduino e pochi altri componenti. Puoi inserire le variabili e il programma BASIC con una tastiera PS2 e l'output viene mostrato su un monitor con un