步骤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文章
276浏览量
24071 -
Arduino
+关注
关注
187文章
6456浏览量
186484 -
TFT显示屏
+关注
关注
1文章
7浏览量
1989
发布评论请先 登录
相关推荐
评论