复古街机时钟的制作

电子说

1.3w人已加入

描述

步骤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充电器就可以了。

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

全部0条评论

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

×
20
完善资料,
赚取积分