這個項目開始于2021年一個多雨的夏天,在疫情期間,我開始從頭開始為Arduino編寫BASIC解釋器。該項目很簡單,主要針對ArduinoUNO和其他小型系統,但現在已經過時了。該項目旨在展示如何使用它構建完整的獨立計算機。
這里的計算機是基于ArduinoDUE的家用計算機,具有7英寸800*480圖形顯示器、打印機支持、SD卡磁盤、PS2鍵盤和實時時鐘。它包括完整的ArduinoI/O支持和從BASIC語言訪問I2C設備的簡單方法。
如何選擇合適的顯示器
購買合適的顯示器可能有點棘手。市場上有許多不同質量的庫支持。我選擇了7寸SSD1936兼容800*480屏幕。它可以與UTFT庫一起使用。要將其連接到ArduinoMega或DUE,需要一個屏蔽。由于兩個Arduino中SPI引腳的布局不同,DUE和Mega屏蔽有所不同。
最好在購買顯示器之前查閱UTFT庫手冊。
當您將TFT屏蔽用于DUE時,還有一點更重要。在UTFT的庫文件夾(UTFT/hardware/arm)中,您需要編輯HW_ARM_defines.h并取消注釋#defineCTE_DUE_SHIELD1.
準備TFT屏蔽和TFT
TFTshield將完全覆蓋Arduino的上側。無需額外的電線即可輕松連接。市場上沒有與屏蔽配合使用的原型板。出于這個原因,我在屏蔽層上焊接了幾根電線以獲取電源。
藍線為GND,白線為+5V,綠線為+3.3V。電線可以連接到顯示器底部的面包板,為鍵盤和其他設備供電。
我的DUE作為自己的SD卡插槽。使用FAT文件系統格式化的舊2GBSD卡用作大容量存儲。
DUE屏蔽板的中間有一個SPI連接器。與MEGA256不同,DUE的SPI總線不能從引腳50-53訪問。它只能通過中間的SPI連接器訪問。MEGAShield在DUE上不起作用。
準備Arduino
我使用引腳8和9連接PS2鍵盤、打印機的第二個串行端口以及可選實時時鐘和其他外圍設備的I2C引腳。
要在沒有更多焊接電纜的情況下訪問引腳,可以在連接屏蔽之前將其連接到DUE。
按下屏蔽上的DUE將使電纜固定到位。這不是完美的電子產品,但它可以工作。
然后將DUE和屏蔽插入顯示器的背面
準備PS2插座
如果您使用的是5V機器ArduinoMEGA256,您在焊接后就完成了。您可以將Arduino的引腳8連接到鍵盤插座的時鐘引腳,將引腳9連接到數據引腳。鍵盤的電源來自GND和焊接到屏蔽層的5V。在這里仔細檢查,因為電源的極性錯誤會炸鍵盤。
對于ArduinoDUE,建議在鍵盤和ArduinoPIN之間使用電平轉換器,因為DUE是3.3V系統。
GND和+5V引腳以及PS2插座的連接器連接到電平轉換器的5V側,而GND、3.3V電源和兩個Arduino引腳連接到3.3V側。最好將電平轉換器安裝在屏幕后面的面包板上。
上傳軟件
從網站加載ArduinoIDE中的UTFT庫。還要確保您擁有PS2庫的實際修補版本(請參閱下面的鏈接)。如果您計劃添加時鐘,您還應該下載uRTCLib和uEEPROMLib。
在ArduinoIDE中加載BASIC解釋器。您只需要草圖TinybasicArduino/TinybasicArduino.ino。一切都在一個文件中。接下來您需要打開文件并設置語言功能。
以及代碼開頭的硬件特性
編譯并上傳到ArduinoDUE。享受帶圖形功能的全功能60kBBASIC家用電腦。
上面的輸出是由這個小程序生成的
-
計算機
+關注
關注
19文章
7421瀏覽量
87718 -
Arduino
+關注
關注
187文章
6464瀏覽量
186651
發布評論請先 登錄
相關推薦
評論