怎样用Arduino制作无限时钟

电子说

1.2w人已加入

描述

步骤1:此项目所需的部件

Arduino

零件清单:

taydaelectronics上的Arduino Uno $ 6

arduino uno的Protoshield。

DS3231 plus电池。

WS2813 LED 144 1米。

Tay OH电子公司的470 OHM 1 W碳膜电阻约1美分。

Taydaelectronics的1000uf 16V电解电容9美分

5v电源 - 我用了一个旧的黑莓充电器。

6in圆镜。

10个亚克力圆盘

2 - 6“木质刺绣箍(是的,右边)

Silver one - 镜片.Ebay似乎最便宜。

各种电线。

3/8“木制方形销钉

旧木制时钟底座或其他展示架。

2个小拉链。

原型盾不是必需的,但如果您喜欢使用Arduino,您会发现它在构建这些项目时非常方便。如果需要,可以使用面包板交换原型屏蔽。

您可能还需要烙铁。

我希望该项目的成本约为40.00美元

第2步:设置你的电脑

Arduino

Arduino

Arduino

如果这是你的第一个arduino项目:

从arduino.cc下载arduino软件

使用USB电缆将Arduino连接到PC。

启动软件后,您需要安装三个库:

单击“草图”菜单,然后单击“包含库”,然后单击“管理库。..” “

安装两个库:FastLED和RTClib。有关详细信息,请参阅图片。

从我的github获取Arduino scketch

我将在最后查看代码,以便您可以修改它如所须。

此时加载程序Infinity_Clock_DS3231_WS2813.ino

转到草图和上传以加载Arduino。

Instructable的最后一部分涵盖了一些可配置的参数。

现在最好上传草图,因为一旦添加了外部电源,最好不要将它连接到您的PC。

第3步:连接项目。

Arduino

Arduino

如果您正在使用ProtoType Shield将它放在Arduino上。

接线是最复杂的部分该项目。我收录了图片,以帮助您了解我的所作所为。我建议在开机前仔细检查所有连接。

DS3231 - 实时时钟模块

将 DS3231 模块放入面包板并按照图片连接。

Arduino接地至GND

Arduino 5V至VCC

Arduino A4至SDA

Arduino A5至SCL

在图片中,我将5v和地线连接到面包板上的自己的运行,因为稍后我们将需要连接外部电源。

结果

将WS2813 LED灯条

arduino 5V连接到5V电源。

中间的两个连接器是冗余数据引脚。它们转到引脚7

确保在引脚7和两条数据引线之间放置一个470 OHM电阻。

Arduino接地到最后连接器。

连接外部5V电源(建议不要长时间从arduino电源运行LED灯条。)

在引线之间放置一个1000uf的电解电容器。

将电源和地线连接到Arduino电源(5V)和接地(GND)

我不建议将外部电源和USB连接到Arduino上同时。

第4步:构建无限镜像

Arduino

构建无限镜像的步骤

将胶片涂在丙烯酸胶片上。这将使你的单向镜像。

将丙烯酸圆盘放入刺绣箍中。拧紧螺丝以防止滑动

将镜子放入另一个Embroiery箍中。 Tighen向下拧螺丝。

将方形销钉切成小截面。约1/2“

将LED灯条环绕在圆圈内。

使用拉链将LED固定到位。

你可以需要在拉链领上切一个缺口。

把环放在镜子上

用木块作为垫片

将块粘贴到位。它们应足够牢固以将LED固定在适当的位置。

将丙烯酸镜放在镜子/LED顶部并粘合到位。

第5步:代码

Arduino

Arduino

该程序使用实时时钟库和Fastled库。

以下是一些自定义行为的代码片段。

OFFSET - 是重叠。编程期望重叠来自LED0。我有3个LED偏移。

CLOCKSTART - 中午就在时钟的位置.LED 30将它从电气连接中拨出来。

我编写程序使用HTML颜色。你可以从https://htmlcolorcodes.com/获取它们只需在prog中交换#为0x ram。

你可以改变上午/下午的背景

backgroundAM = 0x070707;

backgroundPM = 0x646D7E;

LED指针时钟:

hourHand = 0x000FFF;

minHand = 0x00CC00;

secHand = 0xcc0000;

为了让它脱颖而出,我添加了一个选项,可以让3个LED用于时针,但允许您更改两侧的颜色中间一个让它脱颖而出。

theeledhour = true;//你可以使它成为真或假

extraHourHand = 0x00001F;

另一个不错的功能是RTClib将检测到你的DS3231已经取出电池并将设置到PC编译时的时间。它是新DS3231的一个很好的功能。

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

全部0条评论

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

×
20
完善资料,
赚取积分