RGB HexMatrix 物联网时钟


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 示例中还有许多其他动画,你也可参考。

代码上传后,这个项目就完成了。一个简单漂亮的时钟就做好了。

via