Spisu treści:
- Krok 1: Zbuduj Arduino Master za pomocą klawiatury TinyBasic i PS2
- Krok 2: Podłącz klawiaturę PS2 do Master Arduino
- Krok 3: Prześlij bibliotekę MRETV na drugie Arduino i złóż wszystko razem
- Krok 4: Opcjonalnie: użycie płytki drukowanej
- Krok 5: Końcowe komentarze i podziękowania
Wideo: Arduino Basic PC z wyjściem TV: 5 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
W tej instrukcji pokażę, jak zbudować retro 8-bitowy komputer z systemem BASIC, za pomocą dwóch Arduino i kilku innych komponentów.
Możesz wprowadzać zmienne i program BASIC za pomocą klawiatury PS2, a wynik jest wyświetlany na monitorze z tekstem 47 kolumn x 29 rzędów znaków 8x8 pikseli (czarno-biały), w rozdzielczości zbliżonej lub lepszej niż Commodore 64, równej 40 x 25 znaków.
Możesz zobaczyć to w akcji w górnym filmie.
Program można następnie zapisać w pamięci EEPROM Arduino i nadal można sterować pinami I/O bezpośrednio za pomocą dedykowanych poleceń Basic.
Jeden Arduino jest „masterem” i uruchamia Tiny Basic Plus, implementację C Tiny Basic, z naciskiem na obsługę Arduino. Kontroluje również klawiaturę PS2. Wyjście jest następnie wysyłane przez port szeregowy do drugiego Arduino, które generuje wyjście wideo dzięki niesamowitej bibliotece MRETV.
Pomysł, aby użyć jednego lub więcej Arduino do stworzenia starego komputera PC z dialektem Basic, nie jest nowy, ale jak dotąd miał pewne silne ograniczenia w rozdzielczości wyjściowej. W niektórych projektach dostępnych w sieci wykorzystano wyświetlacze LCD, w innych, aby umożliwić korzystanie z monitorów, wykorzystano bibliotekę TVout, która ma znacznie niższą rozdzielczość. Ponadto w wielu z tych projektów trzeba zbudować specjalne osłony lub sprzęt.
Tutaj wystarczą tylko dwa Arduino, kilka diod, kilka rezystorów i złącze do klawiatury PS2 i monitora, jak pokazano na powyższym obrazku.
Krok 1: Zbuduj Arduino Master za pomocą klawiatury TinyBasic i PS2
TinyBasic Plus i MRETV działają dla starszego - i innego - Arduino IDE.
Najpierw pobierz IDE 1.6.4 z oficjalnej strony Arduino. Jeśli masz nowsze wersje na swoim komputerze, najlepiej pobrać je w formacie.zip i rozpakować je na swoim komputerze. Kliknij to łącze, aby pobrać wersję dla systemu Windows.
Potrzebujesz wtedy biblioteki PS2keyboard. Możesz go znaleźć na dole tej strony. Po prostu rozpakuj go i skopiuj folder PS2keyboard w: arduino-1.6.4\biblioteki
Na koniec na tej stronie pobierz plik: TinyBasicPlus_PS2.ino, rozpakuj i prześlij go na Arduino.
Jest to odmiana standardowego TinyBasic Plus, w którym dodałem bibliotekę PS2 i zmodyfikowałem kod, aby zaakceptować z niej viariable.
Więcej szczegółów na temat TiniBasic Plus i samouczków można znaleźć pod tym linkiem.
Jeśli nie ma problemów i problemów ze zgodnością, Tiny Basic już działa. Możesz to przetestować za pomocą monitora szeregowego w swoim komputerze. W tym celu używam PuTTY, ale dostępnych jest wiele innych programów.
Musisz ustawić poprawny port COM (ten sam znajdziesz w Arduino IDE) i szybkość transmisji = 2400
Tutaj możesz już przetestować niektóre programy w Basicu, po prostu wpisując je na klawiaturze komputera PC (notabene później pokażę, jak podłączyć klawiaturę PS2 bezpośrednio do Arduino).
Spróbuj na przykład:
10 DRUKUJ "Witaj świecie!"
20 PRZEJDŹ 10
BIEGAĆ
Następnie możesz zatrzymać nieskończoną pętlę, naciskając ctrl+c. Zauważ, że ta kombinacja nie będzie działać na klawiaturze PS2.
W kolejnym kroku pokażę jak podłączyć klawiaturę PS2 do Arduino.
Krok 2: Podłącz klawiaturę PS2 do Master Arduino
Mam wszystkie informacje i bibliotekę z tego Instruktażu.
Zasadniczo musisz połączyć następujące cztery piny:
- dane klawiatury na pin 8 Arduino,
- IRQ (zegar) klawiatury na pin 3 Arduino;
- oczywiście trzeba również podłączyć GND i +5V.
Dostałem stare złącze żeńskie PS2 z uszkodzonej płyty głównej komputera. Możesz je po prostu odsprzedać za pomocą opalarki.
Na rysunku pokazanym w tym kroku można znaleźć funkcję potrzebnych pinów złącza PS2.
Krok 3: Prześlij bibliotekę MRETV na drugie Arduino i złóż wszystko razem
Kluczowym punktem tego projektu jest istnienie niesamowitej biblioteki MRETV. Istnieje dedykowana instrukcja, w której jest szczegółowo opisana.
Wykorzystuje tylko dwa rezystory i dwie diody do generowania pełnoekranowego wideo o rozdzielczości tekstu 47 x 29 znaków 8x8. Jak mówi we wstępie, „generowanie wideo zostało zrobione wcześniej, ale nie w ten sposób. Serial FULL DUPLEX nadal dostępny podczas generowania wideo”. Pozwala to na pobranie danych z „mastera” Arduino i pokazanie ich na monitorze. W praktyce to drugie „podrzędne” Arduino służy jako interfejs graficzny!
Ponieważ MRETV działa dla IDE 1.6.6, pobierz go z oficjalnej strony Arduino. Ponownie najlepiej jest pobrać go w formacie.zip i rozpakować na komputerze. Kliknij to łącze, aby pobrać wersję dla systemu Windows.
Pobierz następnie bibliotekę MRETV z tego linku.
Rozpakuj go i zapisz folder „MRETV” w: arduino-1.6.6\libraries
Na koniec pobierz TVtext_slave.rar na dole tej strony, rozpakuj go i wgraj do swojego Arduino slave.
Jeśli nie ma komunikatu o błędzie, możesz podłączyć złącze RCA. Potrzebujesz dwóch diod i rezystorów 1 kOhm i 300 Ohm, jak pokazano na schemacie na tej stronie.
W tym momencie możesz wszystko połączyć.
Pełna lista materiałów to:
- dwa Arduino Uno Rev. 3 lub dwa Arduino Nano 3.x (ATmega328)
- dwa rezystory 1 kOhm
- jeden rezystor 300 Ohm
- dwie diody 1n4148 (x2) lub podobna krzemowa dioda przełączająca
- dwa wtyki żeńskie RCA (jedno dla wideo, jedno - fakultatywne - dla audio)
- złącze żeńskie PS2
- płytka stykowa i przewody
Master Arduino przesyła dane do slave'a pomarańczowym kablem, tj. master pin 1 (Tx) do slave pin 2 (Rx). Jeśli chcesz ponownie przesłać kod, najpierw odłącz ten kabel.
Podłącz następnie arduino slave do zasilacza 5 V, kabel RCA do telewizora i klawiaturę do PS2, a teraz powinieneś zobaczyć kod do telewizora!
Funkcje tego podstawowego dialektu są szczegółowo opisane na jego stronie głównej (patrz link w kroku 2). Za pomocą poleceń "esave" i "eload" można zapisać jeden program Basic w EEPROM. Ten program jest uruchamiany domyślnie za każdym razem, gdy resetujesz Arduino master. Aby go usunąć, możesz użyć polecenia "eformat".
Jedną z najważniejszych cech tego programu jest to, że nadal możesz sterować głównymi wejściami/wyjściami Arduino za pomocą dedykowanych poleceń Basic, takich jak
- DWRITE pin, wartość - ustaw pin z wartością (HIGH, HI, LOW, LO)
- AWRITE pin, wartość - ustawia pin z wartością analogową (pwm) 0..255
- DREAD(pin) - uzyskaj wartość pinu
- AREAD(analogPin) - pobierz wartość pinu analogowego
W ten sposób możesz napisać program w Basicu, który steruje jakimś sprzętem, zapisać go w EEPROM, a następnie uruchomić go automatycznie, po prostu resetując Arduino.
Krok 4: Opcjonalnie: użycie płytki drukowanej
Możesz również zbudować ten podstawowy komputer przy użyciu małej płytki drukowanej. Możesz czerpać inspirację ze zdjęć w tym kroku lub możesz nawet wydrukować swoją tablicę.
Do wyjścia wideo Arduino można zastosować dwie żeńskie listwy nagłówkowe z 15 otworami, natomiast do mastera proponuję użyć czterech listew. W ten sposób możesz użyć zewnętrznych, aby wstawić styki komponentów twojego projektu.
Dodałem też pośrodku resztki listew, jeden podłączony do 5 V a drugi do GND.
Wreszcie, w pliku.rar, możesz znaleźć maski do wytrawiania miedzianej płyty.
Krok 5: Końcowe komentarze i podziękowania
Ten projekt nie mógłby zostać zrealizowany bez biblioteki MRETV. Stąd moje główne podziękowanie kieruję do jego autora, który używa akronimu Mr E.
Wielkie podziękowania również dla autorów TinyBasic Plus:
- Tiny Basic 68k - Gordon Brandly
- Arduino Basic / Tiny Basic C - Michael Field
- Tiny Basic Plus - Scott Lawrence
Podziękowania również dla „djsadeepa”, autora Instructable za podłączenie klawiatury PS2.
Wszystkim zainteresowanym tym projektem: łatwiej zbudować, niż mogłoby się to wydawać na pierwszy rzut oka. Moje główne problemy dotyczyły kompatybilności Arduino IDE. Jeśli masz problemy, nie wahaj się pytać o sugestie w komentarzach.
Jeśli Ci się uda, napisz też komentarz lub udostępnij zdjęcie zbudowanego urządzenia.
Zalecana:
Regulowany zasilacz liniowy z podwójnym wyjściem: 10 kroków (ze zdjęciami)
Regulowany zasilacz liniowy z podwójnym wyjściem: Cechy: Konwersja AC – DC Podwójne napięcia wyjściowe (dodatnie – uziemienie – ujemne) Regulowane szyny dodatnie i ujemne Tylko pojedynczy transformator AC z pojedynczym wyjściem Szum wyjściowy (20 MHz-BWL, bez obciążenia): około 1,12 mVpp niski hałas i stabilne wyjścia (idealne
Arduino Basic PC z wyjściem VGA: 5 kroków (ze zdjęciami)
Arduino Basic PC z wyjściem VGA: W moim poprzednim Instructable pokazałem, jak zbudować retro 8-bitowy komputer z systemem BASIC, za pomocą dwóch Arduino i z sygnałem wyjściowym czarno-białym dla ekranu telewizora. Teraz pokażę jak zbudować ten sam komputer, ale z sygnałem wyjściowym w
Kalkulator Arduino z wyjściem LED: 5 kroków
Kalkulator Arduino z wyjściem LED: Hej chłopaki! Chcesz dowiedzieć się, jak korzystać z wejścia i wyjścia monitora szeregowego. Cóż, tutaj masz doskonały samouczek, jak to zrobić! W tej instrukcji poprowadzę Cię przez proste kroki potrzebne do stworzenia kalkulatora przy użyciu m
ESP32 Basic PC z wyjściem VGA: 7 kroków
ESP32 Basic PC z wyjściem VGA: W tej instrukcji pokażę, jak zbudować prosty komputer w stylu retro z jednym ESP32 i kilkoma innymi komponentami. Ten komputer PC obsługuje Tiny Basic, uproszczony dialekt języka BASIC i generuje dane wyjściowe dla monitora VGA. Rozdzielczość to 640
PropVario, wariometr/wysokościomierz DIY z wyjściem głosowym dla szybowców RC: 7 kroków (ze zdjęciami)
PropVario, wariometr/wysokościomierz dla majsterkowiczów z wyjściem głosowym dla szybowców RC: Ta instrukcja pokaże Ci, jak zbudować niedrogi Vario, który mógłby podawać wysokość i oczywiście wysyłać różne dźwięki podczas zmiany wysokości szybowca. Niektóre funkcje: - głos i ton - używaj własnych (falowych) sampli w swoim la