Arduino制作(如何制作老電腦)
2019年1月25日 admin 未分類 0
本期將為大家介如何用兩個 Arduino 制作一個可以運行 BASIC 的復古8位計算機。更棒的是,這個計算機帶有 VGA 接口和 PS2 鍵盤接口,已經還原了當年上微機課時所用的老爺機了(暴露年齡,逃~)。
你可以使用 PS2 鍵盤輸入變量和 BASIC 程序,文本最大可顯示24列10行。字符采用4色5×6像素。效果見下面的視頻。
程序保存在 Arduino EEPROM 中,你甚至可以通過 Basic 指令來直接控制 I/O 腳。
這個項目也可用于在顯示器上打印簡單文本消息,如圖所示。
把其中一個 Arduino 看作為項目的“主機”,它運行 Tiny Basic Plus ,一款用 C 實現的 Tiny Basic,支持 Arduino 。它還可以驅動 PS2 鍵盤。其輸出通過串口發送到另一個 Arduino ,由 VGAx 庫,產生 VGA 輸出信號。
材料清單
Arduino Uno Rev 3 ×2 或 Nano 3.x ×2(ATmega328)
DSUB15連接器×1(VGA插座)
電阻 68 歐 ×2
電阻 470 歐 ×2
PS2母頭連接器×1
電線×若干
面包板或條形板×1
用 TinyBasic、PS2 鍵盤制作 Arduino 主機
TinyBasic Plus 和 VGAx 庫適用于 Arduino IDE 1.6.4。
1、從 Arduino 官方網頁下載。如果你的 電腦 上有更新版本,最好以 .zip 格式下載并在 電腦 上解壓縮。這個鏈接下載 Windows 版本。
2、使用 PS2 鍵盤庫。你可以在本頁底部找到它。只需將其解壓縮并復制到 arduino-1.6.4libraries 中的 PS2keyboard 文件夾即可
3、在本項目文件庫中下載文件TinyBasicPlus_PS2_VGAx.ino,解壓縮并將其上傳到你的 Arduino 上。
這是標準 TinyBasic Plus 的變體,我添加了 PS2 庫并修改了代碼以接受來自它的變量。
有關 TiniBasic Plus 和相關教程的更多詳細信息,請猛擊這里
如果兼容性等其他的問題, Tiny Basic 就已經跑起來。你可以通過 電腦中的串行的顯示器進行測試。我使用 PuTTY ,但是還有許多其他程序可替代。
你必須設置正確的 COM 端口(它與你在 Arduino IDE 中找到的相同)
baud rate = 4800
4、在 電腦 鍵盤上輸入一些程序就可以測試它了。
嘗試如下:
10 PRINT“Hello,World!”
20 GOTO 10
RUN
5、只需鍵入 Ctrl + C 即可停止無限循環。
請注意,此組合不適用于 PS2 鍵盤。
TinyBasicPlus_PS2_VGAx.ino 和 PS2Keyboard.rar 文件請在項目文件庫中下載:
https://make.quwj.com/project/92
連接 PS2 鍵盤和 Arduino 的主機
請在這篇在 Arduino 上使用 PS/2 鍵盤進行輸入中獲取所有的信息和庫。
四個引腳連接如下(如圖):
1、鍵盤數據連接到 Arduino 引腳8。
2、鍵盤 IRQ (時鐘)連接到 Arduino 引腳3。
3、連接 GND 和+ 5 V 。
PS2 所需引腳的功能如圖所示。
在第二個 Arduino 中上傳 VGAx 庫和代碼
1、下載本項目文件庫中的 VGAx-PC.ino 代碼,然后將其復制到電腦上的同名目錄中。
2、從GitHub上的點擊鏈接下載VGAx 庫。最簡單的方法是將其復制到名為 “libraries” 的 Arduino 文件夾中,以便立即識別。
注意:此庫適用于 Arduno IDE 1.6.4,它與舊版本或新版本不完全兼容。
3、在另一個 Arduino 板上傳 VGAx-PC.ino (我測試它的 Nano 版本,但 Uno 應該也能正常運行)。
內存不足的警告是正常的。如果你沒有其他錯誤,一切正常,你可以馬上開始構建自己的 8-bit 電腦。
原理圖如上圖所示。請按照圖中所示步驟中示出了完成的“控制臺”的示例。
VGAx-PC.inov文件請在項目文件庫中下載:
https://make.quwj.com/project/92
可選:制作電路板
你也可以使用一塊小電路板來制作這款 Basic VGA 的電腦。你可以從圖片中獲取靈感,或者甚至可以設計自己的電路板。
我使用了兩條帶15孔的母頭線,用于視頻輸出 Arduino 。對于 Arduino 主機,我使用兩條雙排母排座。通過這種方式,我可以使用外部的插口與其他項目組件組合在一起,可以用 Basic 代碼直接驅動。我還在中心添加幾條預留的線,一個連接到5V ,另一個連接到 GND 。
完成,喜歡這個項目就動手起來吧!