二进制时钟DIY图解

第1步:工具和材料
虽然有很长的材料清单,但我在ebay上收集了所有组件成本。便宜组件的缺点是运输速度很慢,但我有时间等待。
工具

烙铁
万用表
热胶枪
凿子
钳子
sidecutters
材料
2 x arduino微处理器
20 x ws2812b 5050 rgb led
1 x 0.1uf电容器
3 x 1 kohm电阻器
1 x 470 ohm电阻器
1 x 820欧姆电阻器
1 x 10 kohm电阻器
3 x npn开关晶体管
1 x红色led
1 x ldr
1 x ir传感器
1 x ir遥控器
1 x ds3231 rtc
gdp2846a tf卡mp3解码板
1 x 4欧姆扬声器
原型板
各种杜邦连接器
连接线
18号铜线
5v电源
浮木
第2步:硬件
完整的电路按照上面附图。
现在它已经完成,看起来相对简单,但由于这是我迄今为止尝试过的最大项目,因此随着项目的进展,设计的各个元素被添加并进行了测试。这个迭代设计周期允许添加和测试新功能,同时限制错误检查的范围,如果出现错误。
我将在接下来的几个步骤中详细介绍一些绊脚石你经历了同样的痛苦。
步骤3:硬件 - led阵列
led阵列通过将各个led焊接到铜线结构而形成。结构可以根据您的特殊口味进行修改,并且可以根据您的需要进行调整,增加艺术性或简约性。
导线需要很厚才能支撑结构,但也要足够精细,以便将其焊接到led上的连接焊盘上。我使用了18号线。
框架由连接到vcc的连续电路和用于gnd的单个提升器组成。然后进行信号的第三次连接。信号连接需要将led串联“菊花链”,链条从led开始指示小时。电线上的尾部留有很长时间,因为它们将穿过外壳,然后弯曲以将其固定到位。 gnd线将在外壳内连接在一起。
阵列标记在一块废木上。标记需要考虑到您焊接在led背面的事实,因此是相反的。我忘记了我的第一次尝试,虽然错误得以纠正,但框架并没有我想要的那么好,所以制作了第二个版本。
在木头上钻孔以保持当铜焊接时,led就位。您将找到最适合您的方法,但我首先单独构建了列,然后在外部添加最终帧之前添加了它们之间的信号连接。
检查所有连接并仔细检查以确保不存在焊桥。此时我将阵列连接到arduino并编写了一个简单的程序来测试所有led是否正常工作。
步骤4:硬件 - 红外接收器
我最初认为ir接收器是项目中的次要组件,我错了!
用于控制led的时序非常精确被用于处理ir远程命令接收的中断破坏了。这可以通过不使用遥控器来控制时钟来解决,但我很顽固并决定这就是我想要的!一个不同的led封装(四线而不是三个)可能也解决了这个问题,但我已经有了led,看到上面,我很顽固!
解决方案是一个单独的arduino接收到的命令来自ir遥控器然后通过串行链路将它们发送到时钟arduino。这意味着时钟不处理中断,并且可以根据主循环中的需要动作接收串行消息。
解决方案实际上非常简单但是需要一些修补才能理解为什么添加远程功能时,时钟停止工作。这证明了随着项目的进展构建和测试每个组件的优势。当添加遥控器后时钟停止时,很容易确定故障必须与此相关。
电线被焊接到ir接收器的引脚并进行热收缩。杜邦连接器被压接但未插入壳体中。这是为了允许它们插入体内而不需要太大的孔。
步骤5:硬件 - 音频模块
音频模块的附加功能是可选的,可以省略或用简单的压电蜂鸣器代替。但是,二进制时钟的更好的警报音是拨号调制解调器音调序列!!!
gpd2846a tf卡mp3解码板允许播放存储在micro sd卡上的音频文件。它有一个内置放大器,因此扬声器可以直接连接到解码板。解码器板以重复循环播放卡上的文件。这意味着可以通过选择“下一步”来启动警报,并且将重复音调直到选择“播放/暂停”按钮。 “prev”选择仅需要通过长按来控制音量(按下软件长度由软件控制)。
带有晶体管的简单开关电路用于将音频模块连接到arduino。 jason smith在此讲解中提供的说明用于确定开关布置。对互联网的研究表明,有些人将正电压连接到正确的开关垫;但是,我的测量表明它们直接连接到地面(这也是我不需要将地线连接到这些焊盘的原因)。我不知道我是否遗漏了一些东西,但我可以说我所实施的工作正常。
扬声器导线应切成一定长度并焊接到解码板上。将电线焊接到三个按钮输入和电源连接器。使用dupont连接器终止。将解码器板粘贴到扬声器背面,以最大限度地减少安装所需的空间。
在vcc和gnd之间使用0.1uf电容来滤除噪声。这是非常重要的。没有它,arduinos‘会在音频开始时重置。
步骤6:硬件 - 次要组件
以下描述了设计中使用的其他组件。所有这些都相对简单,但我们会对其进行描述,以便您可以关注,重复和改进我所做的工作。
实时时钟(rtc)
rtc模块(ds3231)用于确保即使从时钟断电也能保持时间。 ds3231声称非常准确,可以跟踪日期和时间。对于此项目,仅使用时间,但这对所需的连接没有影响。
标题已从模块中移除并替换为电线。这是为了让设备占用更小的空间,这对于将所有电子设备安装在一块浮木中非常重要!电缆的末端用杜邦连接器终止。
调光器
光敏电阻(ldr)用于测量环境光并改变显示亮度。一个10k电阻用于构建分压器电路,然后由arduino读取并转换为数字值。然后,该值用于计算led阵列的亮度。此项是可选的,如果您决定删除,则应更新代码以在调用set_brightness函数时返回静态值。
应在代码内调整上下亮度级别以适合您的情况,我已经将最大亮度设置为相对较低的水平,因为即使在光线充足的房间里也发现它非常明亮。如果led太亮,显示屏很难读取。
将电线焊接到ldr的支脚上,连接热缩管并用杜邦连接器端接。
报警指示
a红色led指示是否设置了警报。连接的电阻是820欧姆,选择它是为了确保led相对暗淡并且没有将注意力集中在它上面。如果您愿意,可以增加或减少价值。这个项目是可选的,但如果没有它,你就不会知道报警的状态,我建议把它包括在内。
将电线焊接到led的支脚上,连接热缩管并用杜邦连接器端接。/p》
步骤7:硬件 - 主电路板
原型板用于安装arduinos和其他电子元件。这包括每个板外项目的连接器的标题。
花一些时间考虑每个组件的位置,以最大限度地减少所需的连接,并允许轻松创建轨道。我最终得到了电路板一端的所有连接器,其中vcc和gnd轨道在电路板上运行。
除了简化连接之外,还要确保最终布局能够成为可能。包含在您选择的外壳内,您仍然可以访问arduinos上的usb连接器以上载所需的任何代码更改。
两个arduinos之间的串行连接在一端有一个插头。这是为了允许在代码上传期间断开连接。
步骤8:软件
代码分为两个程序,一个用于arduino充当红外接收器,另一个用于时钟。
红外接收器
在上传红外接收器代码之前,遥控器发送的十六进制值需要确定。 irremote库附带标题为“irrecvdemo”的示例代码。上传到arduino时,按键的十六进制值显示在arduino ide的串行监视器中。
需要记录七个键的值,然后输入“ir receiver”的定义部分。我不确定为什么,但我的遥控器每个按钮有两个代码,发送的代码随机出现。该软件允许远程发送任何代码。
所需的按钮是:
向上
向下
向左
向右
警报
静音
时间
二进制时钟
注释包含在代码中,并提供了实现的说明。
上传代码后,将使用以下说明:
设置时间:按时间然后 up 或向下设置小时,按向右然后向上或向下设置分钟,按右返回时钟
设置闹钟:按闹钟,然后按向上或向下设置小时,按向右然后向上或向下设置分钟,按向右返回时钟
关闭闹钟(设置时):按闹钟
打开睡眠:按睡眠
设置显示颜色:按向左或向右循环选择颜色
设置闹钟音量:按向上或向下提高或降低音量
播放闹铃:当闹钟未被激活时,按睡眠。
第9步:身体
我决定在时钟体上使用一些浮木。这件作品需要足够大,以便能够将其挖空以容纳电子设备,但不要太大而不能放在架子上。我认为身体的选择也是在找到“正确的”片之前在海滩上游荡几天的借口!
替代材料可以用于身体。其范围从一块新木材到混凝土浇筑。您的想象力是唯一阻止制作真正独特时钟的东西!
一旦选择了您的身体,您需要考虑安装各种组件的位置以及需要钻孔的位置。
首先为硬件制作腔体。这应该尽可能大,以简化安装,但仍保持木材的强度。我的作品实际上是一些交织在一起的根,所以必须小心不要完全敲掉。工具可用性有限,因此通过用大钻头钻多个孔然后用凿子将其平滑来制造腔。在进行测试时,测试是否适合cicuit板,以确保腔体足够大。
完成后,可以为扬声器安装额外的切口。在这样做时,请考虑下面对电路板的干扰以及如何进行各种连接。
然后为各种组件钻孔。测量led阵列引线的间距,并且实际上证明是构造铅笔的厚度。这用于获得正确的孔间距。旨在使所有组件紧密贴合,以简化它们的粘合。
钻完所有孔后,用喷雾密封剂涂上木材。我选择了一种低光泽产品。
第10步:最终装配
喷雾消失后,清除各种组件的孔。
led阵列是第一个安装的组件。将引线推过孔直到达到所需的高度。然后将gnd引线弯曲,使它们相互接触并焊接。连接电线用于vcc,gnd和信号。电缆的末端用杜邦连接器终止。然后使用热胶以确保阵列中没有移动。
将静态袋切割并胶合到位以覆盖显示器的裸铜线。这是为了确保它们在插入原型板时不会短路。可以使用支架来实现相同的目标,但我有静电袋并且没有任何支架!
然后将所有其他组件安装到位。使用热胶将每个固定到位。一旦传感器被固定,dupont外壳就安装在ir传感器电缆上。
接下来安装了原型板和rtc。两者都用一个小螺钉固定。此时连接所有电缆,最后将扬声器/音频模块放置到位并固定。
底座上有一块轻微的岩石,这是通过添加几个橡胶脚来纠正的。支脚还确保扬声器螺钉不与工作台表面接触。
第11步:完成了!
如果你设法做到这一点,你将有一个完整的,希望独特的时钟。请发布您的作品!
此时我无需改变或改进设计。我的儿子们建议显示器应该自动改变颜色,或者只是随机间隔发疯。我喜欢他们思考的方式,并且可能很快就会这样做。

日置示波器探头如何校准?
华为Mate20X和iPhoneXsMax哪个游戏性能最好
三星注册的GALAXY BUDS SOUND商标是下一代TWS耳塞吗?
万用表怎么判断场效应管的好坏?
Intel至强处理器大规模路线图被曝光
二进制时钟DIY图解
云芯带您了解BC1电子元件的功能、应用与未来前景
PD通信协议芯片选型分析对比
人工智能电话机器人会完全取代掉电销行业吗?
新基建将加快无人驾驶的落地
PLC的发展历史
限制出口!芯片业或受重创
PROTO用于桥接Arduino兼容板与可编程逻辑控制器
三星继2015年推出首个1μm图像传感器 刷新业界最小单位像素尺寸图像传感器纪录
如何构建任何自定义掩码R-CNN模型
西交大成功开发新型高灵敏度GMI传感器 未来潜力巨大
汇顶科技@MWC19:展现屏下光学指纹无穷魅力 释放IoT综合平台无限可能
一位老电子工程师给新手的经验分享
干货:node服务实现负载均衡的步骤
Cadence Tensilica Vision P6 DSP 助力AI和视觉应用性能提升