Spisu treści:

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

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

Wideo: Arduino Basic PC z wyjściem VGA: 5 kroków (ze zdjęciami)
Wideo: Jak samemu zbudować komputer 8 bitowy 2024, Lipiec
Anonim
Image
Image
Arduino Basic PC z wyjściem VGA
Arduino Basic PC z wyjściem VGA
Arduino Basic PC z wyjściem VGA
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 w czerni i bieli na ekran telewizora.

Teraz pokażę, jak zbudować ten sam komputer, ale z sygnałem wyjściowym w kolorze dla monitora VGA!

Możesz wprowadzać zmienne i program BASIC za pomocą klawiatury PS2, a on generuje dane wyjściowe dla monitora VGA z rozdzielczością tekstową 24 kolumny x 10 rzędów znaków 5x6 pikseli, w czterech kolorach. 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.

Ten projekt może być również używany do drukowania prostych wiadomości tekstowych na monitorze, jak pokazano na trzecim rysunku na tej stronie.

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 przesyłane przez port szeregowy do drugiego Arduino, które dzięki bibliotece VGAx generuje wyjście VGA.

Pomysł wykorzystania jednego lub więcej Arduino do stworzenia starego komputera PC z dialektem Basic nie jest nowy, ale o ile wiem, żaden z nich nie ma wyjścia kolorowego. 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 jest czarno-biała. Ponadto w wielu z tych projektów trzeba zbudować specjalne osłony lub sprzęt. Tutaj wystarczą tylko dwa Arduino, kilka rezystorów i złącze do klawiatury PS2 i monitora, jak pokazano na powyższych zdjęciach.

Krok 1: Zbuduj Arduino Master za pomocą klawiatury TinyBasic i PS2

TinyBasic Plus i biblioteka VGAx działają dla Arduino IDE 1.6.4.

Najpierw pobierz go 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_VGAx.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 akceptować z niej zmienne.

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 = 4800

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;
  • musisz również podłączyć GND i +5V.

Mam stare złącze żeńskie PS2 z uszkodzonej płyty głównej komputera. Możesz go po prostu sprzedać za pomocą opalarki.

Na rysunku pokazanym w tym kroku można znaleźć funkcję potrzebnych pinów złącza PS2.

Krok 3: Prześlij bibliotekę VGAx i kod do drugiego Arduino i połącz wszystko razem

Prześlij bibliotekę VGAx i kod do drugiego Arduino i połącz wszystko razem
Prześlij bibliotekę VGAx i kod do drugiego Arduino i połącz wszystko razem

Najpierw pobierz kod VGAx-PC.ino na dole tej strony i skopiuj go na swoim komputerze do katalogu o tej samej nazwie.

Pobierz bibliotekę VGAx z tego łącza na GitHub. Najprostszym sposobem jest skopiowanie go do podfolderu oprogramowania Arduino o nazwie „biblioteki”, aby był natychmiast rozpoznawany.

WAŻNE: ta biblioteka działa dla Arduno IDE 1.6.4, ale nie jest w pełni kompatybilna ze starszymi lub nowszymi wersjami.

Prześlij VGAx-PC.ino na swoją drugą płytkę Arduino (testowałem ją pod kątem wersji Nano, ale Uno również powinno działać).

Ostrzeżenie o małej ilości dostępnej pamięci jest normalne. Jeśli nie masz innych błędów, wszystko jest w porządku i możesz od razu zacząć budować swój własny 8-bitowy komputer.

Do tego potrzebujesz:

  • dwa Arduino Uno Rev. 3 lub dwa Arduino Nano 3.x (ATmega328)
  • złącze DSUB15, tj. złącze żeńskie VGA lub kabel VGA do przecięcia.
  • rezystory: 2 x 68 Ohm i 2 x 470 Ohm
  • złącze żeńskie PS2
  • przewody
  • fakultatywnie: deska do krojenia chleba lub stripboard

Schemat znajduje się na początku tego kroku. Przykład gotowej „konsoli” pokazano w kroku wstępnym.

Ten sam schemat, w wyższej rozdzielczości, znajduje się w skompresowanym pliku na dole tego kroku.

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

Możesz także zbudować ten podstawowy komputer VGA z małą płytką drukowaną. Możesz czerpać inspirację ze zdjęć w tym kroku lub możesz nawet wydrukować własną tablicę.

Do wyjścia wideo Arduino użyłem dwóch żeńskich listew nagłówkowych z 15 otworami, natomiast do mastera użyłem dwóch listew z podwójnymi otworami. W ten sposób mogę wykorzystać te zewnętrzne do wstawienia styków innych komponentów projektu, które mogą być sterowane bezpośrednio kodem Basic. Dodałem też pośrodku resztki listew, jeden podłączony do 5 V a drugi do GND.

Krok 5: Końcowe komentarze i podziękowania

Moje główne podziękowania należą się Sandro Maffiodo aka Smafferowi, twórcy niesamowitej biblioteki VGAx.

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.

Do wszystkich osób zainteresowanych tym projektem: 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: