×

使用ATTINY85的简单RGB桌面时钟

消耗积分:0 | 格式:zip | 大小:0.23 MB | 2023-06-09

康辅佑

分享资料个

描述

pYYBAGSBpPuAM5S9AAAdK9RFwaU863.jpg
 
poYBAGSBpP2AWVTWAAAVv7Nyt7w271.jpg
 
poYBAGSBpQCAQU1WAAAYJD7i96U055.jpg
 

我想为我的办公桌定制一个时钟。在 neopixel LED 的帮助下,我决定构建自己的数字时钟,它足以在我工作时显示时间。在这个时钟中,我们可以改变时间、数字颜色和亮度。让我们开始制作吧。

 

所需组件

poYBAGSBpQKATMFKAAC734MsTX0358.jpg
 

阁楼85*1

WS2812B LED *54

实时时钟 DS1307*1

AMS1117-5.0*1

开关*1

10k*1

二极管_4148*1

滑动开关*1

32.768kHz晶振*1

TP4056锂离子电池充电模块

18650锂电池

首先,我为时钟选择了 neopixels,因为我们只需要一个引脚来控制所有 LED,我们可以简单地显示不同的颜色。要显示一个数字,我们至少需要 5 行和 3 列的 LED。所以我设计了这样的一位数段。也就是说,一位数需要 13 个 LED。我们有 4 个数字,总共 52 个新像素。此外,我还为第二个指示添加了两个 LED。为了节省时间,我在电路中添加了 ds1307 rtc ic。

电路原理图

pYYBAGSBpQWAJH63AABqtWpnJOM548.png
 

我在easyeda上设计了电路。在这里,我将 RGB LED 排列成数字模式,每个数字由 13 个 LED 组成。另外,我为第二个指示添加了 2 个 LED。rtc ic 的 SDA 和 SCL 引脚连接到 attiny 的引脚 5 和 7。

从这里下载电路图

电路板设计

poYBAGSBpQiAa1XYAAArYyYC-L8129.png
 
pYYBAGSBpQqAZYYiAAC7TUK61wM486.png
 
poYBAGSBpQ2AJYiKAAASCkA8NfA650.png
 

用手焊接这个 54 Led 和其他组件是不切实际的,所以我将电路转换为 PCB。首先,我将 LED 布置在 PCB 的顶部。然后在底层,我布置了所有其他组件并完成了PCB设计。完成设计后,我们的 PCB 看起来像这样。所以接下来我生成并下载了用于 PCB 制造的 Gerber 文件。

从这里下载 Gerber 文件

印刷电路板制造

pYYBAGSBpRCAWXjoAACceiDOLRk684.png
 

为了制作 PCB,我访问了JLCPCB.com。jlcpcb仅需 2 美元即可购买 5 块很棒的 PCB,其 PCB 组装从 0 美元起。

领取JLCPCB $54新用户优惠券:https ://jlcpcb.com/ ESC

要订购 PCB,只需单击立即订购并上传 Gerber 文件,然后您可以选择颜色厚度数量等。在这种情况下,我选择紫色。之后,我选择了运输方式并下了订单。

poYBAGSBpROANIoIAAHFIFWwpa4369.jpg
 
pYYBAGSBpRWAEFouAAAsgQ_ezys900.jpg
 
pYYBAGSBpReAJnNTAABD2RfBXtc599.jpg
 
poYBAGSBpRqAWKAkAABBQKQnb6A971.jpg
 

两周后,我收到了 PCB,紫色的 PCB 看起来很棒,质量也非常好。

焊接

poYBAGSBpR2ADhTHAADNI4d9m18708.jpg
 
poYBAGSBpSCAFL-6AABEWHHvpRw910.jpg
 
pYYBAGSBpSKAKCKcAAAvyzsZM9E965.jpg
 

接下来,我抓住了 Neopixel LED。我们必须将 54 个 LED 焊接到 PCB 上,手工焊接会很痛苦,所以我决定使用回流焊方法。所以首先我用针分配焊膏。然后我将每个 LED 放在正确的焊盘上。完成后,我把它放在我自己动手做的电炉里煮了。LED 回流后,我们的 PCB 看起来像这样。现在我们必须将元件焊接到 PCB 的下侧。在这里我们不能使用回流焊方法,因为另一侧已经用 LED 焊接了。所以我手工焊接了每个组件。

编程和测试

poYBAGSBpSWAEoruAACopDfIa_4928.jpg
 

我将 spi 引脚 attiny 连接到 Arduino 并对 attiny85 进行了编程,现在我将电池连接到时钟,在这里你可以看到结果。它运行良好,但您可以看到 LED 的光一起漫射并发出混合光。

从这里下载 Arduino 代码

外壳设计和 3D 打印

poYBAGSBpSiAOHkdAAAXTpt5ZI8572.jpg
 
pYYBAGSBpSqAZL3uAAAilikn0X4535.jpg
 

为了解决这个问题,我在 tinkerkad 中设计了一个外壳,并使用我的 ender 3v2 3d 打印了设计。我们有三个不同的 3d 部分。带 LED 夹具的底座、后盖和前面板。

从这里下载 3D 文件

最后组装

poYBAGSBpS2AeNnKAAHSnWoecg4859.jpg
 
poYBAGSBpS-AJf7rAABTbJWvYyg156.jpg
 
pYYBAGSBpTKAS0bmAABF4btl4sE465.jpg
 

接下来,我从时钟 PCB 上拆下按钮和开关,并将软线连接到它。

pYYBAGSBpTWAA67fAAAuoyZerm8960.jpg
 
poYBAGSBpTeAH9eTAAAo30_Rd3s068.jpg
 
pYYBAGSBpTqAUS4nAAAvLoUQqTQ255.jpg
 

然后我将开关和按钮焊接到它的焊盘上,并将 neopixel PCB 插入夹具中。这里我把tp4056充电模块加到锂离子电池上接上电路。在后盖上,我粘上了tp4056充电模块、按钮和开关。最后,我合上了盖子。对于前面板,我把它粘在前面,就是这样。

如何设置时间/颜色/亮度

现在你可以看到工作看起来不错吧。我们可以更改时间、颜色和亮度,只需按下按钮,然后再次按下按钮即可更改颜色。选择颜色后等待 3 秒选择亮度,我们可以将其设置为 0-10,然后我们可以设置小时和分钟,就是这样。

快乐制作

这就是我制作基于 Attiny85 的 Neopixel 时钟的方法。这就是今天的全部内容。希望您喜欢我的教程并从中学到了一些东西。下次见


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

评论(0)
发评论

下载排行榜

全部0条评论

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