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

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

3天内不再提示

复古街机时钟的制作

454398 来源:工程师吴畏 2019-08-20 10:55 次阅读

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

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

    关注

    11

    文章

    1742

    浏览量

    131638
收藏 人收藏

    评论

    相关推荐

    TLC2574将单片机时钟倍频,采集的都是固定的数值,这是为什么?

    单片机外部晶振16M,指令周期8M,SPI速率设置为4M,TLC2574可以正常采集 将单片机时钟倍频,输出晶振为32M,指令周期为16M,SPI速率设置为8M,TLC2574也可以正常采集 但是
    发表于 01-16 06:46

    时序约束一主时钟与生成时钟

    一、主时钟create_clock 1.1 定义 主时钟是来自FPGA芯片外部的时钟,通过时钟输入端口或高速收发器GT的输出引脚进入FPGA内部。对于赛灵思7系列的器件,主
    的头像 发表于 11-29 11:03 534次阅读
    时序约束一主<b class='flag-5'>时钟</b>与生成<b class='flag-5'>时钟</b>

    本源产品丨100MHz时钟功分器

    让量子计算机走出实验室造中国自主可控量子计算机时钟功分器具备将一个输入时钟信号有效分配至多个输出端口的能力,从而使得单一时钟源能够借助该设备同步驱动多个组件,实现时钟信号的共享与同步,
    的头像 发表于 11-15 01:05 240次阅读
    本源产品丨100MHz<b class='flag-5'>时钟</b>功分器

    AM574x延长开机时间(POH)

    电子发烧友网站提供《AM574x延长开机时间(POH).pdf》资料免费下载
    发表于 10-10 09:22 0次下载
    AM574x延长开<b class='flag-5'>机时</b>间(POH)

    AM62x延长开机时间应用说明

    电子发烧友网站提供《AM62x延长开机时间应用说明.pdf》资料免费下载
    发表于 09-13 10:01 0次下载
    AM62x延长开<b class='flag-5'>机时</b>间应用说明

    时钟抖动和时钟偏移的区别

    时钟抖动(Jitter)和时钟偏移(Skew)是数字电路设计中两个重要的概念,它们对电路的时序性能和稳定性有着显著的影响。下面将从定义、原因、影响以及应对策略等方面详细阐述时钟抖动和时钟
    的头像 发表于 08-19 18:11 1196次阅读

    基于51单片机时钟温度显示设计

    本资源内容概要:       这是基于51单片机时钟温度显示设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、proteus仿真图。本资源适合人群
    发表于 06-25 10:17 0次下载

    基于51单片机时钟SHT10湿度采集显示定时报警设计

    本资源内容概要:       这是基于51单片机时钟SHT10湿度采集显示定时报警设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、proteus
    发表于 06-25 10:14 0次下载

    怎么设置电脑定时关机时

    怎么设置电脑定时关机时间 win7系统则直接点击电脑中的“win”开始—运行—输入命令cmd— shutdown -s -t 3660(1小时1分钟后) 步骤五:如果设置定时,不想让他关机的话,可以从新输入另一条命令 ” shutdown -a“进行取消
    发表于 06-14 07:36

    开源DIY!用 ESP32 制造迷你复古小电视

    MAKER :陳亮 这款迷你的复古电视机非常的小巧可爱,它会不会成为你的桌摆新宠呢!它无法接收模拟电视广播信号,但是它可以通过微型 SD 卡播放录像带。你可以多准备几套 SD 卡来播放你喜欢的节目
    发表于 05-27 11:01

    STM32F4作为SPI从机,在主机时钟结束后MISO依然有输出,为什么?

    spi配置如下,打开了SPI1全局中断,从机以TXRX中断方式通信。主机SPI波特率为8MHz左右。 逻辑分析仪图如下,其中第二行为时钟,第三行为片选信号,第四行为MISO。红色框为主机时钟结束后,MISO继续依然有数据。
    发表于 05-27 06:13

    如何使用emwin制作时钟

    请教下,使用emwin制作时钟 ??
    发表于 04-29 06:21

    街机弹球机的模拟设计实现

    该项目是实现经典的街机游戏——弹球机。使用DE1-SOC开发板上的滑动开关,玩家可以设置球的初始速度。
    的头像 发表于 04-09 11:30 506次阅读
    <b class='flag-5'>街机</b>弹球机的模拟设计实现

    选择美国vps云主机时应该考虑哪些因素

     美国VPS云主机是指位于美国的虚拟私人服务器,它提供独立的操作系统、内存和CPU资源,用户可以根据自身需求进行配置。那么选择美国vps云主机时应该考虑哪些因素,rak小编为您整理发布选择美国vps云主机时应该考虑哪些因素。
    的头像 发表于 03-26 09:21 361次阅读

    Aurix系列单片机时钟系统有哪些特点?

    Aurix系列单片机时钟系统有哪些特点
    发表于 02-04 06:48