MAKER:Mukesh_Sankhla/译:趣无尽 Cherry(转载请注明出处)
关于时钟的项目,已经推介过不少了。下面介绍一个像素排列很有创意的 RGB LED 点阵时钟。每个点阵都是一个小三角形,六个三角形组成一个字符显示区块。
其中,用到了 FastLED 库,可以在点阵上可以显示多种不同的动画效果。时钟设计了 0-9 的数字,每个数字使用了十个片段,最后通过 WiFi 连接到网络,实现当前时间显示的功能。
说明:
如果使用 Arduino 开发板,则只能显示动画,不能显示时间。
如果使用 ESP8266 开发板,则可以在点阵上显示时间和其他动画。
材料清单
ESP8266/Arduino(Uno/Nano) × 1
WS2811 LED 指示灯 × 96
5V/2A 电源 × 1
3D 打印组件 × 若干
烙铁 × 1
焊锡线 × 1
3D 打印
3D 打印的模型,请在项目文件库中下载 STL 文件。
https://make.quwj.com/project/306
使用白色的 PLA 打印时钟屏幕。
电路连接
如图所示,连接电路。
GND ~ Ve
Vin ~ 5V ~ +Ve
数据输入 ~ 引脚 2
将电源线连接到最后一个 LED,并防止 LED 两端的电压降压。
组装
1、如图所示,将所有 LED 排列成蛇形。
2、将所有组件组装在一起。
3、将连接器焊接到微控制器板上,连接器连接在 LED 线的另一端。
编程
请在项目文件库中下载代码文件。
https://make.quwj.com/project/306
关于点阵,我编写了三个代码,分别是: HexMatrix.ino,clock1.ino 和 clock2.ino。
HexMatrix 代码用于在点阵上显示动画,它可以在任何微控制器板上运行。
而 Clock 和 Clock2 代码仅在 ESP8266 开发板上运行。
1、HexMatrix.ino 代码。
打开 Arduino IDE 中打开代码。
在 Arduino IDE 中安装 FastLED 库。
选择开发板类型和端口并上传代码。
2、Clock1和Clock2代码。
在 Arduino IDE 中打开代码。
在代码中,你可以根据自己喜好的颜色更改数值。
int r=255; int g=255; int b=255; //Background color values in RGB int br=0; int bg=20; int bb=10;
输入 Wifi 名称和密码
const char* ssid = "Wifi_Name"; const char* password = "Password";
输入你所在国家的时区
//Your time zone int timezone = -5.5 * 3600;
板子类型为 ESP8266,选择端口并上传代码。
另外,FastLED 示例中还有许多其他动画,你也可参考。
代码上传后,这个项目就完成了。一个简单漂亮的时钟就做好了。
发表评论
要发表评论,您必须先登录。