这个项目开始于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家用电脑。
上面的输出是由这个小程序生成的
这里还没有内容,您有什么问题吗?