0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何基于Arduino Mega和TFT显示屏构建简单的8位基本计算机系统

454398 来源:网络整理 作者:网络整理 2019-11-12 11:29 次阅读

步骤1:您要使用什么组件需要吗?

1 Arduino Mega(我使用便宜的克隆);

1个2.2英寸SPI TFT显示模块240 x 320 ILI9341;

2 SPI 5v至3v3电平转换器

1个AT24C256串行EEPROM模块;

1 Arduino Uno原型板;

1母对母接头电缆;

1母USB连接器

1被动压电蜂鸣器;

2个4k7电阻器

用于ld的1200欧姆电阻器;

1 40针接头连接器公头;

1 40针接头连接器母;

几种颜色的电线用于连接原型板上的组件;

我自己使用了许多廉价的克隆,如果您想要优质的组件并且用于《实例Arduino板没有驱动程序问题,您可以购买原装零件,这些便宜的TFT模块的触摸界面非常糟糕,以至于我不使用它,因此您还可以订购更便宜的无触摸芯片。使用2板的4线电平转换器,我相信也有单板8线的转换器。我使用标准(Arduno Uno,由于尺寸)prot otype板因为易于使用,还可以使用普通的PCB实验板。蜂鸣器必须是被动的才能将其用作扬声器。我使用母头连接器将电平转换器和eeprom模块放置在板上,您不必这样做,这样可以节省空间和金钱,但是它不那么容易更换零件,也不容易将导线焊接到电路板上。如果没有板子挡住板子。

步骤2:全部放在一起。

在大多数情况下,当我构建项目时,我首先将其构建在试验板上,以查看一切是否都按预期的方式工作。我进行了所有测试,因此您可以跳过此阶段。我将eeprom模块的引脚和电平转换器的引脚焊接在组件侧,以便可以将它们上下颠倒放置在原型板上。您可以按照任何方便的顺序放置组件,如果要使用原始的3D打印外壳,则唯一需要放置在特定位置的就是USB连接器

步骤3:整个图

该图似乎有些混乱,但是很难绘制标准组件之间所有连接的图。我将尝试解释一下,我没有画所有的电源线和地线,首先,我将Eeprom板上的插头引脚,转换板推入,并在原型板上找到一个点(在中间),为布线。然后,我找到了一个合适的区域来放置用于将电线连接至显示板的凸头。然后,我将它们焊接到板上并进行所有电源连接,以使事情井井有条。我使用黑色电线接地,红色使用5V电线,橙色使用3V3电线。在转换板上,您只需要连接一根接地线,它们就内部连接在板上。

在左上角,您将看到键盘的USB连接器。这是一个标准的母头USB连接器,外部引脚是电源引脚,另外两个引脚是data +和data-引脚。我利用了一个事实,即普通USB键盘具有“回退”模式到PS2模式(一种简单的串行协议),可以由Arduino处理器轻松解释。当两个数据引脚都通过“上拉”电阻器连接到正5电压时,就会发生这种“后退”。这解释了两个4k7上拉电阻。 USB引脚2是数据,必须连接到Arduino的引脚2,USB引脚3是必须连接到Arduino引脚3的时钟。键盘CLK在引脚3上非常重要,因为这是读取键盘代码的中断例程。

左下角的Eeprom模块是标准的I2C设备,可以连接到键盘的A4和A5。 Arduino的。在Mega上,这些不是标准的I2C引脚,但我使用非常简单的软件I2C,并且占用的内存很少,可以使用这些引脚。

压电蜂鸣器必须是被动类型,并且可以连接在接地和引脚8。该引脚是软件定义的,您可以使用任何其他引脚。

显示器的连接要复杂一些,因为显示线均为3v3(尽管显示器电源强大)使用板载电源稳压器时为5V),因此我们必须使用小型转换器板将所有线路从5v转换为3v3并向后转换。这些板具有Hv(高电压)和Lv(低电压)侧,Hv侧为连接到Arduino,Lv端连接到显示器。这些转换器是双向的,因此它们将双向工作。我使用了来自Arduino Mega中部连接器的SPI信号,该连接器上还有一个额外的电源和接地引脚。将Mosi,Miso和Clk引脚连接到转换器,并将Lv侧连接到显示器和SD引脚。其他线路(如芯片选择线,复位引脚)分别连接至Arduino Mega d5至D10引脚(分别位于Hv侧和Lv一侧)至显示器和SD卡连接器。

万用表测试所有连接,通常我至少有一个不良的焊点,看起来像是一个良好的连接,但事实并非如此,在完全组装完所有零件之后,您可能会永远搜索。在给电路板上电之前,还要用万用表检查短路情况。

现在是时候测试所有内容并加载软件了。

步骤4:软件

当我开始这个项目时,我打算使用Arduino Nano和尽可能多的标准库。我发现(很多次以前)很多标准库的内存占用非常大,它们通常具有比我需要的功能更多的功能,有时并不能提供我需要的所有功能。我自己写了很多小型库,例如一个简单的I2C库,它不占用大量内存,只具有一些功能。我还为显示器和键盘编写了库,以便仅用最少的内存就可以拥有所需的功能。 Arduino Nano受到限制,因此在项目进行到一半时,我将其更改为具有更多I/O引脚和8 K内存的Arduino Mega。我现在使用的唯一外部库是Arduino IDE软件包中标准的SDcard库。如果您将文件解压缩到Arduino项目目录中,则应该能够将其编译为Arduino Mega开发板并上传。我提供了完整的源代码(请保留我的名字),您可以根据需要进行修改或扩展。可以从我的网站下载该软件包的最新版本(1.0.1):https://www.heinpragt.com/techniek/arduino/arduino_basic_computer.php。在Arduino草图文件夹中,还有一个(Word)文档,其中包含基本语言的文档。

在我的网站上,您还可以下载用于3D打印机的一组STL文件,以打印我为我的版本设计这种情况下具有显示器的安装点,外部的Arduino Mega底部具有连接器,用于连接外部设备。

简单的示例基本程序

10 REM PROGRAM TO CONVERT FROM FAHRENHEIT TO CELSIUS

15 CLS

20 INPUT “Temperature in Fahrenheit”;F

30 C=5/9*(F-32)

40 PRINT “Temperature in Celsius is : ”;C

50 END

步骤5:已知问题

TFT显示器不支持水平方向的硬件滚动,因此我不得不创建一个软件滚动条。由于内存缓冲区较小,因此滚动速度很慢。我的建议是使用屏幕区域,并尽可能避免滚动。

过一会儿,盒子会变得很容易缩开,使零件变得太容易分开,我在零件重叠的情况下在盒子上钻了一些小孔,并使用很小的螺钉(1毫米)将所有东西紧密地固定在一起。
责任编辑:wv

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

    关注

    0

    文章

    213

    浏览量

    23879
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184819
  • TFT显示屏
    +关注

    关注

    1

    文章

    7

    浏览量

    1982
收藏 人收藏

    评论

    相关推荐

    计算机系统由什么两部分组成 计算机系统的层次结构

    计算机系统是由硬件和软件两部分组成的。 硬件部分包括计算机的实体组件,如中央处理器(CPU)、内存、存储设备、输入输出设备、显示器等。CPU是计算机系统的核心部件,负责执行指令、运算和
    的头像 发表于 02-01 14:13 647次阅读

    计算机系统如何应对大模型时代的挑战与机遇

    “操作系统管理着计算机的资源和进程,以及所有的硬件和软件。计算机的操作系统让用户在不需要了解计算机语言的情况下与
    发表于 01-23 11:06 158次阅读
    <b class='flag-5'>计算机系统</b>如何应对大模型时代的挑战与机遇

    如何让Adafruit 320x240 IPS TFT显示屏在PSoC上运行?

    我有一台 Adafruit 320x240 IPS TFT 显示屏,希望它能够使用我的 PSoC 4200 主板绘制图像。 来自 Adafruit 的代码库是为 Arduino 设计的,我不确定如何让它在 PSoC 上运行。
    发表于 01-22 06:33

    tft显示屏显示问题

    stm32通过控制一个电机模块来控制水泵工作,水位低于阈值时,水泵就工作,一工作TFT显示屏就白屏不显示,这个问题怎么解决,电源直接接的是32的5v
    发表于 12-26 01:02

    基于ARM的嵌入式飞行控制计算机系统设计

    电子发烧友网站提供《基于ARM的嵌入式飞行控制计算机系统设计.pdf》资料免费下载
    发表于 10-27 10:35 0次下载
    基于ARM的嵌入式飞行控制<b class='flag-5'>计算机系统</b>设计

    42 24 RGB TFT显示屏原理与驱动实现 - 第6节 #硬声创作季

    RGBTFT显示屏
    充八万
    发布于 :2023年08月19日 12:03:14

    42 24 RGB TFT显示屏原理与驱动实现 - 第5节 #硬声创作季

    RGBTFT显示屏
    充八万
    发布于 :2023年08月19日 12:02:24

    42 24 RGB TFT显示屏原理与驱动实现 - 第4节 #硬声创作季

    RGBTFT显示屏
    充八万
    发布于 :2023年08月19日 12:01:34

    42 24 RGB TFT显示屏原理与驱动实现 - 第2节 #硬声创作季

    RGBTFT显示屏
    充八万
    发布于 :2023年08月19日 11:59:54

    42 24 RGB TFT显示屏原理与驱动实现 - 第1节 #硬声创作季

    RGBTFT显示屏
    充八万
    发布于 :2023年08月19日 11:59:04

    TFT显示屏上的Arduino游戏X/O

    电子发烧友网站提供《TFT显示屏上的Arduino游戏X/O.zip》资料免费下载
    发表于 06-28 10:25 0次下载
    <b class='flag-5'>TFT</b><b class='flag-5'>显示屏</b>上的<b class='flag-5'>Arduino</b>游戏X/O

    将量子计算机连接到Arduino

    电子发烧友网站提供《将量子计算机连接到Arduino.zip》资料免费下载
    发表于 06-25 15:09 1次下载
    将量子<b class='flag-5'>计算机</b>连接到<b class='flag-5'>Arduino</b>

    计算机系统的小常识

    计算机系统指用于数据库管理的计算机硬软件及网络系统。数据库系统需要大容量的主存以存放和运行操作系统、数据库管理
    的头像 发表于 05-09 16:05 545次阅读

    浅析计算机系统的组成

    近年来,随着 PC( Personal Computer, 个人电脑) 在家庭中的广泛普及, 计算机对我们的生活产生了深远的影响。如今, 不仅是 PC,与我们生活息息相关的手机、平板等也广泛应用了计算机。通过此文来介绍一下计算机系统
    的头像 发表于 05-09 15:57 877次阅读
    浅析<b class='flag-5'>计算机系统</b>的组成

    如何将文件内容从Arduino无线发送到计算机

    Arduino UNO 正在将带有格式化文本行的约 8 MB 文件记录到 SD 卡中。我已经将 ESP8266-01 插入到 Arduino 的软件串行端口中。局域网内的计算机最终会请
    发表于 05-04 06:47