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 MRETV 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 TV: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
In questo Instructables mostrerò come costruire un computer retrò a 8 bit con BASIC, per mezzo di due Arduino e pochi altri componenti.
Si possono inserire le variabili e il programma BASIC con una tastiera PS2, e l'output viene mostrato su un monitor con un testo 47 colonne x 29 righe di caratteri 8x8 pixel (B&N), una risoluzione simile o migliore del Commodore 64, pari a 40x25 caratteri.
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.
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 quindi inviato tramite la porta seriale al secondo Arduino che genera l'output video grazie alla fantastica libreria MRETV.
L'idea di utilizzare uno o più Arduino per creare un PC vecchio stile con un dialetto Basic non è nuova, ma finora c'erano alcune forti limitazioni nella risoluzione dell'output. In alcuni progetti disponibili in rete si utilizzavano display LCD, mentre in altri, per consentire l'utilizzo dei monitor, è stata utilizzata la libreria TVout, che ha una risoluzione molto più bassa. Inoltre, in molti di questi progetti devono essere costruiti scudi o hardware speciali.
Qui hai bisogno solo di due Arduino, un paio di diodi, alcune resistenze e il connettore per la tastiera PS2 e il monitor, come mostrato nell'immagine sopra.
Passaggio 1: crea il master Arduino con TinyBasic e la tastiera PS2
TinyBasic Plus e MRETV funzionano per gli anziani - e diversi - Arduino IDE.
Prima scarica IDE 1.6.4 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.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 il viariable da esso.
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 = 2400
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;
- ovviamente devi collegare anche GND e +5V.
Ho preso un vecchio connettore femmina PS2 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 MRETV sul secondo Arduino e metti tutto insieme
Il punto chiave di questo progetto è l'esistenza della fantastica libreria MRETV. C'è un Instructable dedicato dove è descritto in dettaglio.
Utilizza solo due resistori e due diodi per generare video a schermo intero, con una risoluzione del testo di 47 x 29 di 8x8 caratteri. Come si dice nell'introduzione, "la generazione video è stata fatta prima, ma non in questo modo. Seriale FULL DUPLEX ancora disponibile durante la generazione del video". Questo permette di prelevare i dati dall'Arduino "master" e mostrarli sul monitor. In pratica questo secondo Arduino "slave" viene utilizzato come interfaccia grafica!
Poiché MRETV funziona per IDE 1.6.6, scaricalo dalla pagina Web ufficiale di Arduino. Ancora una volta, la cosa migliore è scaricarli in formato.zip e decomprimerli sul tuo PC. Fare clic su questo collegamento per scaricare la versione per Windows.
Scarica quindi la libreria MRETV da questo link.
Decomprimilo e salva la cartella "MRETV" in: arduino-1.6.6\libraries
Infine scarica TVtext_slave.rar in fondo a questa pagina, decomprimilo e caricalo nel tuo Arduino slave.
Se non ci sono messaggi di errore, puoi collegare il connettore RCA. Servono i due diodi e le resistenze da 1 kOhm e 300 Ohm, come mostrato nello schema in questa pagina.
A questo punto puoi collegare tutto insieme.
L'elenco completo dei materiali è:
- due Arduino Uno Rev. 3 o due Arduino Nano 3.x (ATmega328)
- due resistori 1 kOhm
- una resistenza da 300 Ohm
- due diodi 1n4148 (x2) o diodo di commutazione al silicio simile
- due spine RCA femmina (una per video, una - facoltativa - per audio)
- un connettore PS2 femmina
- una breadboard e fili
Il master Arduino invia i dati allo slave tramite il cavo arancione, ovvero dal pin 1 (Tx) del master al pin 2 (Rx) dello slave. Se devi ricaricare del codice, devi prima scollegare questo cavo.
Collega quindi l'arduino slave a un alimentatore 5V, il cavo RCA alla TV e la tastiera alla PS2, e ora dovresti vedere il codice sulla tua TV!
Le funzioni di questo dialetto Basic sono descritte in dettaglio nella sua homepage (vedi link al punto 2). Con i comandi "esave" e "eload" è possibile salvare un programma Basic nella EEPROM. Questo programma viene eseguito per impostazione predefinita ogni volta che si ripristina il master Arduino. Per eliminarlo puoi usare il comando "eformat".
Una delle caratteristiche più importanti di questo programma è che puoi ancora pilotare l'I/O Arduino master con comandi Basic dedicati, come
- DWRITE pin, value - imposta il pin con un valore (HIGH, HI, LOW, LO)
- AWRITE pin, value - imposta pin con valore analogico (pwm) 0..255
- DREAD(pin) - ottieni il valore del pin
- AREAD(analogPin) - ottiene il valore del pin analogico
Quindi puoi scrivere un programma in Basic che guida dell'hardware, salvarlo nella EEPROM e quindi eseguirlo automaticamente semplicemente ripristinando Arduino.
Passaggio 4: Opzionale: utilizzo di un PCB
Puoi anche costruire questo PC di base usando un piccolo PCB. Puoi prendere ispirazione dalle immagini in questo passaggio o puoi persino stampare la tua tavola.
Per l'uscita video Arduino si possono usare due header strip femmina con 15 fori, mentre per il master suggerisco di usare quattro strip. In questo modo potrete utilizzare quelli esterni per inserire i contatti dei vostri componenti di progetto.
Ho anche aggiunto al centro delle strisce rimanenti, una collegata a 5 V e l'altra per GND.
Infine, nel file.rar, si trovano le maschere per incidere una scheda ramata.
Passaggio 5: commenti finali e ringraziamenti
Questo progetto non avrebbe potuto essere realizzato senza la libreria MRETV. Quindi il mio principale riconoscimento va al suo autore, che usa l'acronimo Mr E.
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: costruire è più facile di quanto possa sembrare a prima vista. I miei problemi principali sono stati con le compatibilità dell'IDE di Arduino. Se hai problemi, non esitare 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
Arduino Basic PC con uscita VGA: 5 passaggi (con immagini)
Arduino Basic PC With VGA Output: 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 B&W per uno schermo TV. Ora mostrerò come costruire lo stesso computer, ma con il segnale di uscita in
Movie Tracker - Tracker di uscita teatrale alimentato da Raspberry Pi: 15 passaggi (con immagini)
Movie Tracker - Tracker di rilascio teatrale alimentato da Raspberry Pi: Movie Tracker è un tracker di rilascio a forma di ciak, alimentato da Raspberry Pi. Utilizza l'API TMDb per stampare il poster, il titolo, la data di uscita e la panoramica dei film in uscita nella tua regione, in un intervallo di tempo specificato (ad es. film in uscita questa settimana) su
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