如何利用Arduino DUE实现家用计算机的设计

描述

这个项目开始于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的上侧。无需额外的电线即可轻松连接。市场上没有与屏蔽配合使用的原型板。出于这个原因,我在屏蔽层上焊接了几根电线以获取电源。

Arduino

蓝线为GND,白线为+5V,绿线为+3.3V。电线可以连接到显示器底部的面包板,为键盘和其他设备供电。

我的DUE作为自己的SD卡插槽。使用FAT文件系统格式化的旧2GBSD卡用作大容量存储。

Arduino

DUE屏蔽板的中间有一个SPI连接器。与MEGA256不同,DUE的SPI总线不能从引脚50-53访问。它只能通过中间的SPI连接器访问。MEGAShield在DUE上不起作用。

准备Arduino

我使用引脚8和9连接PS2键盘、打印机的第二个串行端口以及可选实时时钟和其他外围设备的I2C引脚。

要在没有更多焊接电缆的情况下访问引脚,可以在连接屏蔽之前将其连接到DUE。

Arduino

按下屏蔽上的DUE将使电缆固定到位。这不是完美的电子产品,但它可以工作。

Arduino

然后将DUE和屏蔽插入显示器的背面

Arduino

准备PS2插座

如果您使用的是5V机器ArduinoMEGA256,您在焊接后就完成了。您可以将Arduino的引脚8连接到键盘插座的时钟引脚,将引脚9连接到数据引脚。键盘的电源来自GND和焊接到屏蔽层的5V。在这里仔细检查,因为电源的极性错误会炸键盘。

对于ArduinoDUE,建议在键盘和ArduinoPIN之间使用电平转换器,因为DUE是3.3V系统。

Arduino

GND和+5V引脚以及PS2插座的连接器连接到电平转换器的5V侧,而GND、3.3V电源和两个Arduino引脚连接到3.3V侧。最好将电平转换器安装在屏幕后面的面包板上。

Arduino

上传软件

从网站加载ArduinoIDE中的UTFT库。还要确保您拥有PS2库的实际修补版本(请参阅下面的链接)。如果您计划添加时钟,您还应该下载uRTCLib和uEEPROMLib。

在ArduinoIDE中加载BASIC解释器。您只需要草图TinybasicArduino/TinybasicArduino.ino。一切都在一个文件中。接下来您需要打开文件并设置语言功能。

Arduino

以及代码开头的硬件特性

Arduino

编译并上传到ArduinoDUE。享受带图形功能的全功能60kBBASIC家用电脑。

Arduino

上面的输出是由这个小程序生成的

Arduino

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分