Nell’articolo di oggi vederemo come costruire un retrò computer a 8 bit con Arduino.
Usando Arduino, puoi costruire un computer retrò a 8 bit con Basic con un’immagine a colori in uscita su un monitor VGA.
I materiali da utilizzare sono i seguenti:
- due Arduino Uno Rev.3, o due Arduino Nano 3.x (basati su ATmega328)
- Connettore DSUB15, ad es. Presa VGA o cavo con tale presa, che non è un peccato da tagliare
- resistori: 2 per 68 ohm e 2 per 470 ohm
- Connettore PS2
- fili
- opzionale: breadboard
Questo progetto è abbastanza economico se si posseggono le schede Arduino.
Per il progetto sono necessarie due schede Arduino. Una scheda sarà utilizzata come principale (master) e sarà in grado di eseguire l’interprete Tiny Basic Plus ed è inoltre in grado di controllare una tastiera PS/2. L’outpout elaborato dalla prima scheda Arduino viene inviato tramite porta seriale al secondo Arduino, che genera un seganle VGA utilizzando la libreria VGAx.
Il programma BASIC può essere inserito nel “computer” utilizzando una tastiera PS/2. L’ouput può essere visualizzato su un monitor VGA, la cui risoluzione è 24 colonne per 10 righe e la dimensione di un singolo carattere è di 5×6 pixel. Ci sono 4 colori disponibili.
Dopo l’introduzione del programma, può essere salvato nella memoria non volatile dell’Arduino stesso, e il codice del programma prevede anche il controllo dei pin I/O dell’Arduino.
1. Colleghiamo l’Arduino principale con l’interprete TinyBasic e con una tastiera PS/2
TinyBasic Plus e la libreria VGAx funzionano con Arduino IDE 1.6.4.
Se hai già installato una versione più recente, la soluzione migliore è scaricare questa versione meno recente. Puoi scaricarla da qui.
Dobbiamo installare la libreria PS2keyboard. Dopo il download, decomprimi l’archivio e copia il suo contenuto in “arduino-1.6.4 \ librerie”.
Scarica il file TinyBasicPlus_PS2_VGAx.ino e carica il codice sull’Arduino Principlae.
Maggiori informazioni su TiniBasic Plus e il manuale (in inglese) sono disponibili qui .
Se non ci sono problemi in questa fase (inclusi problemi di compatibilità), Tiny Basic si avvierà automaticamente all’accensione di Arduino. Per verificare se il tutto funziona basta utilizzare la porta seriale del tuo PC. Puoi usare PuTty o altri software simili per il test.
Nelle impostazioni è necessario impostare:
- la porta COM utilizzata dall’Arduino principale
- baud rate = 4800
Puoi testare il sistema digitante qualche riga in Basic dalla tastiera del tuo PC.
Nelle impostazioni, è necessario impostare correttamente la porta COM (la stessa utilizzata nell’Arduino) e il baud rate = 4800.
Ad esempio, puoi digitare:
1 2 3 |
10 PRINT "Hello, World!" 20 GOTO 10 RUN |
Puoi interrompere il loop infinito di questo programma usando la combinazione di tasti Ctrl + C (questo non funzionerà se lo facciamo dalla tastiera PS / 2).
2) Ora colleghiamo la tastiera PS/2.
Dobbiamo colleggare 4 pin.
- Tastiera dati al pin 8 di Arduino,
- Tastiera IRQ (clock) al pin 3 di Arduino;
- e collegare anche la terra (GND)
- l’alimentazione + 5V, rispettivamente.
Puoi utilizzare un connettore PS/2 di una vecchia scheda madre non funzionante.
Il pinout del connettore PS/2 è mostrato nella figura sottostante:
Per maggiori informazioni clicca qui.
3. Carica la libreria VGAx e il codice nel secondo Arduino e collegalo al main
Scarica il codice VGAx-PC.ino e copialo sul tuo computer nella cartella con lo stesso nome.
Scarica la libreria VGAx da GitHub. Deve essere posizionato nella sottocartella delle librerie dell’IDE di Arduino. IMPORTANTE! Questa libreria funziona con Arduno IDE 1.6.4 e potrebbe non essere compatibile con le versioni più recenti.
Ora carica VGAx-PC.ino nel secondo Arduino (ho provato su Arduino Nano, ma non dovrebbero esserci problemi nemmeno con Arduino Uno).
L’avviso che c’è poca memoria disponibile è normale per il nostro caso. Se non ci sono altri errori, allora va tutto bene e puoi fare un altro paio di passaggi per ottenere il tuo computer retrò a 8 bit.
Ecco un video sul funzionamento:
Iscriviti ai nostri gruppi Telegram
Link utili
- Arduino UNO R3
- Elegoo UNO R3
- Arduino Starter Kit per principianti
- Elegoo Advanced Starter Kit
- Arduino Nano