电子说
步骤1:收集材料
可选自动背光调光组件仅在床边时钟
Arduino Board - Arduino Mega 2560(第1,2和3项可作为捆绑订单购买)
触摸屏Arduino Shield - 3.2英寸Mega Touch LCD扩展板屏蔽
触摸屏 - 用于Arduino Mega 2560的3.2英寸TFT LCD显示屏+触摸屏
实时时钟模块 - DS3231 RTC
录音机模块 - ISD1820录音机
用于3D打印机的PLA灯丝
用于粘合箱体的两部分环氧树脂
USB线2米长USB充电器(用于时钟电源)
热胶枪
电缆束带X 3
电阻器270k欧姆
齐纳二极管3.3v
0.5瓦时才需要电阻47欧姆
光依赖电阻(LDR)
步骤2:打印3D案例
我在Creality Ender 3上打印了时钟盒。所有3D打印文件和案例说明都可以在Thingiverse上找到
步骤3:构建电路
整个电路包含一个实时时钟,Arduino Mega,声音模块,触摸屏和屏幕Sheild。
1。实时时钟
将实时时钟安装在Arduino Mega背面,如图所示。我用热胶枪和泡沫包装,以确保它们不接触,并有一些缓冲吸收运动。在我的例子中,我将2个RTC支路直接焊接到Arduino,并使用连接线将5v和GND连接到Arduino。
2。录音模块
这些非常酷且易于使用。以与上述类似的方式,使用泡沫和热胶将模块和扬声器定位在Arduino背面,注意确保它们不接触。声音模块由Arduino上的D8触发,因此需要根据提供的电路图连接电源和电源。
第3。自动背光调光器(可选)
如果您打算用作床头钟,那么您可能希望在夜间自动调暗背光,这样就不会影响您的睡眠。 (如果没有,那么你可以跳过这一步!)不幸的是,TFT屏幕中的背光硬连接到+ 3.3v并且无法使用Arduino进行调整。这意味着我们必须将其断开并重新连接到Arduino上的PWM引脚以控制背光亮度。我想这样做,对组件上的引脚或轨道造成的损坏最小,因此采用了以下方法。请仔细按照以下步骤进行操作
(a)为实现这一目标,光敏电阻(LDR)位于设备背面以检测光线。在机箱中钻两个3毫米的孔,然后将LDR支腿穿过孔。使用机柜内侧的热胶将支腿固定到位。在外壳内侧焊接两根导线,并按照电路图连接它们。按照电路图,在Arduino的A7上增加一个270k欧姆的电阻。
(b)取下TFT显示器,并将其放在坚固的表面上。识别引脚19(LED_A)并小心地移除引脚底部的几毫米塑料。按照上图,将引脚弯曲并远离连接器。检查TFT Sheild是否可以紧密插入并且弯曲的插针不会妨碍插头或插座。
(c)将47欧姆寄存器焊接到引脚上的弯曲处,并将电阻器的导线连接到Arduino Mega的D9。 Arduino D9引脚可以吸收高达40mA的电流,因此电阻将其限制在此范围以内。将3.3v齐纳二极管连接到同一引脚(LED_A),并按照图表将其连接到地。这样做的目的是保护背光免受过压影响,因为它会将电压调节到3.3V。
4.TFT屏幕和Arduino Shield
小心将3.2英寸TFT触摸屏连接器推入TFT Arduino Shield。然后根据提供的图片小心地连接到Arduino的顶部。 RTC有电池,即使断电也会保留正确的时间。报警时间存储在Arduino上的Eeprom中,这意味着如果断电,它将被保留。
步骤4:加载代码
项目在编译和运行之前需要加载以下文件和库。代码是独一无二的,围绕库的功能,硬件,一些自定义图形以及我借用的其他项目构建。
请注意:开发该项目的代码使用了IDE v1.06,并且一些必需的库已过时。这意味着有些人在加载代码时遇到了新的IDE 1.6及更高版本的问题。因此,为了简单起见,我建议人们使用IDE v1.06,并在instructable步骤4底部的zip文件中包含正确的版本库文件。
1。 Arduino IDE
我一直在使用早期版本的Arduino IDE,因此为了简单起见,我建议您在安装代码之前在桌面计算机上下载Arduino IDE版本1.06 。你可以从这里获得他的版本。
2。库
这些需要下载并添加到计算机上运行的IDE(集成开发环境)中,用于编写计算机代码并将其上载到物理板。
UTFT.h和URtouch.h位于下面的zip文件中
Time.h位于下面的zip文件中
DS1307RTC.h位于下面的zip文件中
Wire.h和EEPROM.h已包含在IDE V1.06中
UTFT.h和URtouch.h的信用转到Rinky-Dink Electronics我已经包含了这些zip文件,因为它显示源网站已关闭。
4。 TFT屏幕变化
TFT屏幕和制造商的迷雾导致了这些笔记。
(a) Sainsmart - 如果您已购买在TFT设备背面标有Sainsmart的3.2英寸TFT屏幕,你会发现他们必须修改库来解决显示问题。如果您已经购买了Sainsmart TFT显示器,则有以下修正
编辑文件“initlcd.h”并修改以下行
LCD_Write_COM_DATA(0x01,0x2B3F);
到
LCD_Write_COM_DATA(0x01,0x3B3F);
您需要重新启动IDE,然后将代码重新加载到Arduino。
(b。) TFT控制器芯片组 - 购买了3.2英寸TFT屏幕的人可能会发现他们也可能拥有两种不同芯片组中的一种“SSD1289”或“ILI9341”。令人烦恼的是,在网上区分差异并不容易。好消息是它很容易修复。如果你在加载代码后得到一个空白的屏幕,那可能是因为它是一个ILI9341控制器。
要修复你需要对代码进行以下更改。编辑代码并修改以下代码行
来自
UTFT myGLCD(SSD1289,38,39,40,41);//参数应调整为您的Display/Schield模型
到
UTFT myGLCD(ILI9341_16,38,39,40,41);//参数应调整为您的Display/Schield模型
现在尝试重新加载代码Arduino。
(c。)倒置触摸屏控件
一些制造商有报道d Y轴触摸屏按钮已反转。 @dissy确定了这方面的修复,其中两行代码要更改以翻转触摸屏读数。
执行查找:“yT = myTouch.getY();”将其更改为:“yT = 240 - myTouch.getY();”
不要忘记搜索两次,第一个用于控制时钟模式下的pacman,第二个用于设置菜单。
5。图形文件
当您开始加载到Arduino时,我在下面包含的一组位图文件需要与Arduino代码位于同一子目录中。因此,请下载以下文件并使用IDE加载。
6。设置时钟
代码加载成功后按屏幕中央,这将显示设置屏幕。使用菜单以24小时格式设置时间和闹钟。按SAVE按钮存储设置。 RTC有电池,即使断电也会保留正确的时间。报警时间存储在EEPROM中,这意味着如果有电源切断,它将被保留。
7。测试警报
声音模块用于提供闹钟。 ISD1820由Arduino D8引脚控制。通过将声音播放到麦克风中,同时按下ISD1820上的录制按钮,可以轻松添加声音。就我而言,我从另一台设备播放的音频文件中录制了原始的Pac-Man介绍音乐。一旦录制完声音,就可以通过按PLAY-E按钮测试录音,该按钮应通过扬声器播放声音。使用设置菜单将时钟时间和闹钟时间分开设置几分钟。务必“设置”警报并按“保存”菜单按钮。一旦回到主屏幕,警报应该在时间发生时响起。关闭警报可以通过按触摸屏面板的中心来完成设置屏幕。
8。触摸屏校准
一些制造商发现设置屏幕上的按钮与TFT触摸控件不对齐。在这些情况下,触摸屏需要校准。这可以通过使用触摸屏校准代码和URtouch库中提供的说明轻松完成。如果您发现此问题,请按照以下说明操作。
9。四种不同的程序可供选择
1。街机时钟 - DK马里奥,太空侵略者和吃豆子动画
2。 Pacman Clock - 具有时钟功能的互动动画吃豆人/Pacman女士游戏
3。 DK Clock - 具有时钟功能的交互式动画DK游戏
4。 Tumble Ghost - 基于Flappy Bird的动画Pacman Ghost游戏
第5步:完全放入
1.添加外部电源
最后一步是添加外部电源。使用钻头,在机柜背面添加一个孔。将USB电缆穿过后面板,然后根据电路图将USB电缆VCC,GND,D +和D-线连接到Arduino USB连接器的底座。这有两个优点,首先是Arduino Mega Boards的USB输入具有过流保护功能;其次,您可以使用USB线上传代码更改,而无需拆除盒子。将电源线绝缘层热粘到Arduino背面,以便在组装前后面板时提供电缆张力保护。在距离Arduino连接6-8厘米的电源线上,将电缆扎带紧紧缠绕在电缆外壳上的电缆上,从而为电缆添加电线夹。当USB电缆通过抵住外壳内部而拉动时,电缆扎带应避免接头张紧。
2。将电子元件安装在外壳中
将电路放在前面板顶部,并带有四个孔导向器,这样可使屏幕在切口中居中对齐。接通电路电源,以便可以看到前面板屏幕,检查屏幕图像是否处于正确位置,然后使用热胶粘合到位。结果是与方形屏幕紧密贴合,方形屏幕位于切口孔的中心。
3。最终组装
轻轻将前面板推到后面板上,然后轻轻拉动USB电源线以占用后面板中的松弛部分。线夹在这里很有用,应该保护线路的任何损坏。插上USB充电器就可以了。
全部0条评论
快来发表一下你的评论吧 !