Spisu treści:

Arduino Basic PC z wyjściem TV: 5 kroków (ze zdjęciami)
Arduino Basic PC z wyjściem TV: 5 kroków (ze zdjęciami)

Wideo: Arduino Basic PC z wyjściem TV: 5 kroków (ze zdjęciami)

Wideo: Arduino Basic PC z wyjściem TV: 5 kroków (ze zdjęciami)
Wideo: Jak samemu zbudować komputer 8 bitowy 2024, Listopad
Anonim
Image
Image
Arduino Basic PC z wyjściem TV
Arduino Basic PC z wyjściem TV
Arduino Basic PC z wyjściem TV
Arduino Basic PC z wyjściem TV
Arduino Basic PC z wyjściem TV
Arduino Basic PC z wyjściem TV

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

Podłącz klawiaturę PS2 do Master Arduino
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

Prześlij bibliotekę MRETV na drugi Arduino i złóż wszystko razem
Prześlij bibliotekę MRETV na drugi 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

Opcjonalnie: za pomocą płytki drukowanej
Opcjonalnie: za pomocą płytki drukowanej
Opcjonalnie: za pomocą płytki drukowanej
Opcjonalnie: za pomocą płytki drukowanej
Opcjonalnie: za pomocą płytki drukowanej
Opcjonalnie: za pomocą 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: