RGB 十六进制矩阵 |物联网时钟
组件和用品
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 |
必要的工具和机器
![]() |
| |||
![]() |
| |||
![]() |
| |||
![]() |
|
应用和在线服务
![]() |
|
关于这个项目


HexMatrix 是具有许多三角形像素的 LED 矩阵。六个像素组合形成一个六边形。有许多不同的动画可以在矩阵形式的 FastLED 库上显示,我还设计了从 0 到 9 的数字,对矩阵中的每个数字使用 10 个段并制作了一个 IoT 时钟。
补给:
- ESP8266 或 Arduino(Uno/Nano)
- WS2811 LED(96 个 LED)
- 5V/2A 电源
- 3D 打印
第 1 步:3D 打印:





- 3D 打印所有给定的 3D 模型:单击此处获取 STL 文件和代码
- 用白色 PLA 打印屏幕层。
第 2 步:电路连接:


- 按照电路图所示进行所有连接。
- GND~-Ve
- Vin~5V~+Ve
- 数据输入 ~ 引脚 2
- 还要将电源线延伸到最后一个 LED 并连接,以防止 LED 上的电压下降。
第 3 步:注意:
- 如果使用Arduino板,则只能显示动画,不能显示时间。
- 如果您使用 ESP8266 板,那么我们可以在矩阵上显示时间和其他动画。
第 4 步:组装:
- 按蛇形顺序排列所有 LED。
- 将所有东西组装在一起。
- 将连接器焊接到微控制器板上,连接器取自 LED 线的另一端。








第 5 步:编码:
- 点击此处获取代码
- 对于这个矩阵,我编写了三个代码 HexMatrix.ino、clock1.ino 和 clock2.ino。
- HexMatrix 代码是在矩阵上显示动画的代码,它可以在任何微控制器板上运行。
- 时钟和时钟 2 代码仅在 ESP8266 板上运行。
HexMatrix.ino:
- 打开 Arduino IDE 中给出的代码。
- 在 Arduino IDE 中安装 FastLED 库。
- 选择板卡类型、端口并上传代码。



时钟 1 和时钟 2 代码:
- 在 Arduino IDE 中打开代码。
- 在此代码中,我们可以根据颜色要求更改这些值
//RGB中的数字颜色值int r=255;
int g=255;
int b=255;
//RGB中的背景色值
int br=0;
int bg=20;
int bb=10;
- 输入 Wifi 名称和密码
const char* ssid ="Wifi_Name";
const char* password ="密码";
- 输入您所在国家/地区的时区(印度 5:30=5.5 同样输入您的时区)
//你的时区
int timezone =-5.5 * 3600;
- 选择板子类型为ESP8266,选择端口并上传代码。


- 除此之外,我们在 FastLED 示例中还有许多其他动画。
代码
- clock1
- clock2
clock1Arduino
#include#include #include #define LED_PIN 2#define NUM_LEDS 96#define BRIGHTNESS 255#define LED_TYPE WS2811#define COLOR_ORDER RGBCRGB LED[NUM_LEDS];/ /RGB中的数字颜色值int r=255;int g=255;int b=255;//RGB中的背景色值int br=0;int bg=20;int bb=10;const char* ESP_HOST_NAME ="esp-" + ESP.getFlashChipId();//你的Wifi infoconst char* ssid ="Wifi_Name";const char* password ="Password";//你的时区int timezone =-5.5 * 3600;int dst =0; WiFiClient wifiClient;void connectWifi() { WiFi.begin(ssid, password); Serial.print("连接到"); Serial.println(ssid);而(WiFi.status()!=WL_CONNECTED){延迟(500); Serial.print("."); Serial.println(""); Serial.println("WiFi 已连接!"); Serial.println(WiFi.localIP()); Serial.println();}void setup() { Serial.begin(115200);延迟(500);连接Wifi(); Serial.println(); Serial.println("\n\n下一个循环步骤:" + String(millis()) + ":"); configTime(时区,dst,“pool.ntp.org”,“time.nist.gov”); FastLED.addLeds (leds, NUM_LEDS).setCorrection(TypicalLEDStrip); FastLED.setBrightness( BRIGHTNESS );}void loop(){ time_t now =time(nullptr); struct tm* p_tm =localtime(&now); Serial.print("-------------------------------------------- ----\n"); Serial.print("日期和时间:"); Serial.print(p_tm->tm_mday); Serial.print("/"); Serial.print(p_tm->tm_mon + 1); Serial.print("/"); Serial.print(p_tm->tm_year + 1900); Serial.print(" "); int 小时=p_tm->tm_hour; int 分钟=p_tm->tm_min;如果(小时> 12){小时=小时-12;串行打印(小时); Serial.print(":"); Serial.print(分钟); Serial.print(":"); Serial.println(p_tm->tm_sec);背景();如果(小时==0||小时==12){小时12(); } if(hour==1) { hour1(); } if(hour==2) { hour2(); } if(hour==3) { hours3(); } if(hour==4) { hour4(); } if(hour==5) { hour5(); } if(hour==6) { hour6(); } if(hour==7) { hour7(); } if(hour==8) { hour8(); } if(hour==9) { hour9(); } if(hour==10) { hour10(); } if(hour==11) { hour11(); } if(minute==0) { min0(); } if(minute==1) { min1(); } if(minute==2) { min2(); } if(minute==3) { min3(); } if(minute==4) { min4(); } if(minute==5) { min5(); } if(minute==6) { min6(); } if(minute==7) { min7(); } if(minute==8) { min8(); } if(minute==9) { min9(); } if(minute==10) { min10(); } if(minute==11) { min11(); } if(minute==12) { min12(); } if(minute==13) { min13(); } if(minute==14) { min14(); } if(minute==15) { min15(); } if(minute==16) { min16(); } if(minute==17) { min17(); } if(minute==18) { min18(); } if(minute==19) { min19(); } if(minute==20) { min20(); } if(minute==21) { min21(); } if(minute==22) { min22(); } if(minute==23) { min23(); } if(minute==24) { min24(); } if(minute==25) { min25(); } if(minute==26) { min26(); } if(minute==27) { min27(); } if(minute==28) { min28(); } if(minute==29) { min29(); } if(minute==30) { min30(); } if(minute==31) { min31(); } if(minute==32) { min32(); } if(minute==33) { min33(); } if(minute==34) { min34(); } if(minute==35) { min35(); } if(minute==36) { min36(); } if(minute==37) { min37(); } if(minute==38) { min38(); } if(minute==39) { min39(); } if(minute==40) { min40(); } if(minute==41) { min41(); } if(minute==42) { min42(); } if(minute==43) { min43(); } if(minute==44) { min44(); } if(minute==45) { min45(); } if(minute==46) { min46(); } if(minute==47) { min47(); } if(minute==48) { min48(); } if(minute==49) { min49(); } if(minute==50) { min50(); } if(minute==51) { min51(); } if(minute==52) { min52(); } if(minute==53) { min53(); } if(minute==54) { min54(); } if(minute==55) { min55(); } if(minute==56) { min56(); } if(minute==57) { min57(); } if(minute==58) { min58(); } if(minute==59) { min59(); } if(minute==60) { min60(); FastLED.show(); FastLED.clear(); FastLED.show();}void background(){ leds[0] =CRGB(br,bg,bb); leds[1] =CRGB(br,bg,bb); leds[2] =CRGB(br,bg,bb); leds[3] =CRGB(br,bg,bb); leds[4] =CRGB(br,bg,bb); leds[5] =CRGB(br,bg,bb); leds[6] =CRGB(br,bg,bb); leds[7] =CRGB(br,bg,bb); leds[8] =CRGB(br,bg,bb); leds[9] =CRGB(br,bg,bb); leds[10] =CRGB(br,bg,bb); leds[11] =CRGB(br,bg,bb); leds[12] =CRGB(br,bg,bb); leds[13] =CRGB(br,bg,bb); leds[14] =CRGB(br,bg,bb); leds[15] =CRGB(br,bg,bb); leds[16] =CRGB(br,bg,bb); leds[17] =CRGB(br,bg,bb); leds[18] =CRGB(br,bg,bb); leds[19] =CRGB(br,bg,bb); leds[20] =CRGB(br,bg,bb); leds[21] =CRGB(br,bg,bb); leds[22] =CRGB(br,bg,bb); leds[23] =CRGB(br,bg,bb); leds[24] =CRGB(br,bg,bb); leds[25] =CRGB(br,bg,bb); leds[26] =CRGB(br,bg,bb); leds[27] =CRGB(br,bg,bb); leds[28] =CRGB(br,bg,bb); leds[29] =CRGB(br,bg,bb); leds[30] =CRGB(br,bg,bb); leds[31] =CRGB(br,bg,bb); leds[32] =CRGB(br,bg,bb); leds[33] =CRGB(br,bg,bb); leds[34] =CRGB(br,bg,bb); leds[35] =CRGB(br,bg,bb); leds[36] =CRGB(br,bg,bb); leds[37] =CRGB(br,bg,bb); leds[38] =CRGB(br,bg,bb); leds[39] =CRGB(br,bg,bb); leds[40] =CRGB(br,bg,bb); leds[41] =CRGB(br,bg,bb); leds[42] =CRGB(br,bg,bb); leds[43] =CRGB(br,bg,bb); leds[44] =CRGB(br,bg,bb); leds[45] =CRGB(br,bg,bb); leds[46] =CRGB(br,bg,bb); leds[47] =CRGB(br,bg,bb); leds[48] =CRGB(br,bg,bb); leds[49] =CRGB(br,bg,bb); leds[50] =CRGB(br,bg,bb); leds[51] =CRGB(br,bg,bb); leds[52] =CRGB(br,bg,bb); leds[53] =CRGB(br,bg,bb); leds[54] =CRGB(br,bg,bb); leds[55] =CRGB(br,bg,bb); leds[56] =CRGB(br,bg,bb); leds[57] =CRGB(br,bg,bb); leds[58] =CRGB(br,bg,bb); leds[59] =CRGB(br,bg,bb); leds[60] =CRGB(br,bg,bb); leds[61] =CRGB(br,bg,bb); leds[62] =CRGB(br,bg,bb); leds[63] =CRGB(br,bg,bb); leds[64] =CRGB(br,bg,bb); leds[65] =CRGB(br,bg,bb); leds[66] =CRGB(br,bg,bb); leds[67] =CRGB(br,bg,bb); leds[68] =CRGB(br,bg,bb); leds[69] =CRGB(br,bg,bb); leds[70] =CRGB(br,bg,bb); leds[71] =CRGB(br,bg,bb); leds[72] =CRGB(br,bg,bb); leds[73] =CRGB(br,bg,bb); leds[74] =CRGB(br,bg,bb); leds[75] =CRGB(br,bg,bb); leds[76] =CRGB(br,bg,bb); leds[77] =CRGB(br,bg,bb); leds[78] =CRGB(br,bg,bb); leds[79] =CRGB(br,bg,bb); leds[80] =CRGB(br,bg,bb); leds[81] =CRGB(br,bg,bb); leds[82] =CRGB(br,bg,bb); leds[83] =CRGB(br,bg,bb); leds[84] =CRGB(br,bg,bb); leds[85] =CRGB(br,bg,bb); leds[86] =CRGB(br,bg,bb); leds[87] =CRGB(br,bg,bb); leds[88] =CRGB(br,bg,bb); leds[89] =CRGB(br,bg,bb); leds[90] =CRGB(br,bg,bb); leds[91] =CRGB(br,bg,bb); leds[92] =CRGB(br,bg,bb); leds[93] =CRGB(br,bg,bb); leds[94] =CRGB(br,bg,bb); leds[95] =CRGB(br,bg,bb);}/*-------------------------------- ---Hour LEDs------------------------------------*/void hour12(){ leds[ 2] =CRGB(r,g,b); leds[4] =CRGB(r,g,b); leds[5] =CRGB(r,g,b); leds[7] =CRGB(r,g,b); leds[10] =CRGB(r,g,b); leds[14] =CRGB(r,g,b); leds[16] =CRGB(r,g,b); leds[17] =CRGB(r,g,b); leds[23] =CRGB(r,g,b); leds[25] =CRGB(r,g,b); leds[30] =CRGB(r,g,b); leds[32] =CRGB(r,g,b); leds[33] =CRGB(r,g,b);}void hour1(){ leds[3] =CRGB(r,g,b); leds[9] =CRGB(r,g,b); leds[15] =CRGB(r,g,b); leds[24] =CRGB(r,g,b); leds[31] =CRGB(r,g,b);}void hour2(){ leds[0] =CRGB(r,g,b); leds[1] =CRGB(r,g,b); leds[4] =CRGB(r,g,b); leds[8] =CRGB(r,g,b); leds[9] =CRGB(r,g,b); leds[15] =CRGB(r,g,b); leds[23] =CRGB(r,g,b); leds[24] =CRGB(r,g,b);}void hour3(){ leds[0] =CRGB(r,g,b); leds[1] =CRGB(r,g,b); leds[4] =CRGB(r,g,b); leds[8] =CRGB(r,g,b); leds[9] =CRGB(r,g,b); leds[16] =CRGB(r,g,b); leds[23] =CRGB(r,g,b); leds[24] =CRGB(r,g,b);}void hour4(){ leds[3] =CRGB(r,g,b); leds[4] =CRGB(r,g,b); leds[8] =CRGB(r,g,b); leds[9] =CRGB(r,g,b); leds[16] =CRGB(r,g,b); leds[23] =CRGB(r,g,b);}void hour5(){ leds[0] =CRGB(r,g,b); leds[1] =CRGB(r,g,b); leds[3] =CRGB(r,g,b); leds[8] =CRGB(r,g,b); leds[9] =CRGB(r,g,b); leds[16] =CRGB(r,g,b); leds[23] =CRGB(r,g,b); leds[24] =CRGB(r,g,b);}void hour6(){ leds[0] =CRGB(r,g,b); leds[1] =CRGB(r,g,b); leds[3] =CRGB(r,g,b); leds[8] =CRGB(r,g,b); leds[9] =CRGB(r,g,b); leds[15] =CRGB(r,g,b); leds[16] =CRGB(r,g,b); leds[23] =CRGB(r,g,b); leds[24] =CRGB(r,g,b);}void hour7(){ leds[0] =CRGB(r,g,b); leds[1] =CRGB(r,g,b); leds[3] =CRGB(r,g,b); leds[4] =CRGB(r,g,b); leds[8] =CRGB(r,g,b); leds[16] =CRGB(r,g,b); leds[23] =CRGB(r,g,b);}void hour8(){ leds[0] =CRGB(r,g,b); leds[1] =CRGB(r,g,b); leds[3] =CRGB(r,g,b); leds[4] =CRGB(r,g,b); leds[8] =CRGB(r,g,b); leds[9] =CRGB(r,g,b); leds[15] =CRGB(r,g,b); leds[16] =CRGB(r,g,b); leds[23] =CRGB(r,g,b); leds[24] =CRGB(r,g,b);}void hour9(){ leds[0] =CRGB(r,g,b); leds[1] =CRGB(r,g,b); leds[3] =CRGB(r,g,b); leds[4] =CRGB(r,g,b); leds[8] =CRGB(r,g,b); leds[9] =CRGB(r,g,b); leds[16] =CRGB(r,g,b); leds[23] =CRGB(r,g,b); leds[24] =CRGB(r,g,b);}void hour10(){ leds[2] =CRGB(r,g,b); leds[4] =CRGB(r,g,b); leds[5] =CRGB(r,g,b); leds[7] =CRGB(r,g,b); leds[8] =CRGB(r,g,b); leds[10] =CRGB(r,g,b); leds[14] =CRGB(r,g,b); leds[22] =CRGB(r,g,b); leds[23] =CRGB(r,g,b); leds[25] =CRGB(r,g,b); leds[30] =CRGB(r,g,b); leds[32] =CRGB(r,g,b); leds[33] =CRGB(r,g,b);}void hour11(){ leds[2] =CRGB(r,g,b); leds[4] =CRGB(r,g,b); leds[8] =CRGB(r,g,b); leds[10] =CRGB(r,g,b); leds[14] =CRGB(r,g,b); leds[16] =CRGB(r,g,b); leds[23] =CRGB(r,g,b); leds[25] =CRGB(r,g,b); leds[30] =CRGB(r,g,b); leds[32] =CRGB(r,g,b);}/*----------------------------分钟 LEDs--- -------------------------*/void min0(){ leds[62] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[73] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[87] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[91] =CRGB(r,g,b); leds[92] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min1(){ leds[56] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[79] =CRGB(r,g,b); leds[87] =CRGB(r,g,b);}void min2(){ leds[55] =CRGB(r,g,b); leds[56] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[79] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[87] =CRGB(r,g,b);}void min3(){ leds[55] =CRGB(r,g,b); leds[56] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[87] =CRGB(r,g,b);}void min4(){ leds[63] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[86] =CRGB(r,g,b);}void min5(){ leds[55] =CRGB(r,g,b); leds[56] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[87] =CRGB(r,g,b);}void min6(){ leds[55] =CRGB(r,g,b); leds[56] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[79] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[87] =CRGB(r,g,b);}void min7(){ leds[55] =CRGB(r,g,b); leds[56] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[86] =CRGB(r,g,b);}void min8(){ leds[55] =CRGB(r,g,b); leds[56] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[79] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[87] =CRGB(r,g,b);}void min9(){ leds[55] =CRGB(r,g,b); leds[56] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[87] =CRGB(r,g,b);}void min10(){ leds[62] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[73] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[92] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min11(){ leds[62] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[73] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[92] =CRGB(r,g,b);}void min12(){ leds[62] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[73] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[92] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min13(){ leds[62] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[73] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[92] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min14(){ leds[62] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[73] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min15(){ leds[62] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[73] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[92] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min16(){ leds[62] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[73] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[92] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min17(){ leds[62] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[73] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min18(){ leds[62] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[73] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[92] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min19(){ leds[62] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[73] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[92] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min20(){ leds[62] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[79] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[91] =CRGB(r,g,b); leds[92] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min21(){ leds[62] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[79] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[91] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min22(){ leds[62] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[79] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[86] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[91] =CRGB(r,g,b); leds[92] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min23(){ leds[62] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[79] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[91] =CRGB(r,g,b); leds[92] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min24(){ leds[62] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[70] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[79] =CRGB(r,g,b); leds[80] =CRGB(r,g,b); leds[81] =CRGB(r,g,b); leds[85] =CRGB(r,g,b); leds[88] =CRGB(r,g,b); leds[90] =CRGB(r,g,b); leds[91] =CRGB(r,g,b); leds[93] =CRGB(r,g,b);}void min25(){ leds[62] =CRGB(r,g,b); leds[63] =CRGB(r,g,b); leds[64] =CRGB(r,g,b); leds[65] =CRGB(r,g,b); leds[71] =CRGB(r,g,b); leds[72] =CRGB(r,g,b); leds[78] =CRGB(r,g,b); leds[79] =CRGB(r,g,b); leds[80] =CRGB(r,g,b);...此文件已被截断,请下载以查看其完整内容。
clock2Arduino
#include#include #include "FastLED.h"#if FASTLED_VERSION <3001000#error "Requires FastLED 3.1 or later; check github for latest code."#endif#define DATA_PIN 2#define LED_TYPE WS2811#define COLOR_ORDER RGB#define NUM_LEDS 96#define BRIGHTNESS 255CRGB leds[NUM_LEDS];//RGB中的数字颜色值int r=255;int g=255;int b=255;const char* ESP_HOST_NAME -" + ESP.getFlashChipId();//你的Wifi infoconst char* ssid ="Wifi_Name";const char* password ="Password";//你的时区int timezone =-5.5 * 3600;int dst =0; WiFiClient wifiClient;void connectWifi() { WiFi.begin(ssid, password); Serial.print("连接到"); Serial.println(ssid);而(WiFi.status()!=WL_CONNECTED){延迟(500); Serial.print("."); Serial.println(""); Serial.println("WiFi 已连接!"); Serial.println(WiFi.localIP()); Serial.println();}void setup() { Serial.begin(115200);延迟(500);连接Wifi(); Serial.println(); Serial.println("\n\n下一个循环步骤:" + String(millis()) + ":"); configTime(时区,dst,“pool.ntp.org”,“time.nist.gov”); FastLED.addLeds (leds, NUM_LEDS) .setCorrection(TypicalLEDStrip) .setDither(BRIGHTNESS <255); FastLED.setBrightness(BRIGHTNESS);}void loop(){ time_t now =time(nullptr); struct tm* p_tm =localtime(&now); Serial.print("-------------------------------------------- ----\n"); Serial.print("日期和时间:"); Serial.print(p_tm->tm_mday); Serial.print("/"); Serial.print(p_tm->tm_mon + 1); Serial.print("/"); Serial.print(p_tm->tm_year + 1900); Serial.print(" "); int 小时=p_tm->tm_hour; int 分钟=p_tm->tm_min;如果(小时> 12){小时=小时-12;串行打印(小时); Serial.print(":"); Serial.print(分钟); Serial.print(":"); Serial.println(p_tm->tm_sec);自豪();如果(小时==0||小时==12){小时12(); } if(hour==1) { hour1(); } if(hour==2) { hour2(); } if(hour==3) { hours3(); } if(hour==4) { hour4(); } if(hour==5) { hour5(); } if(hour==6) { hour6(); } if(hour==7) { hour7(); } if(hour==8) { hour8(); } if(hour==9) { hour9(); } if(hour==10) { hour10(); } if(hour==11) { hour11(); } if(minute==0) { min0(); } if(minute==1) { min1(); } if(minute==2) { min2(); } if(minute==3) { min3(); } if(minute==4) { min4(); } if(minute==5) { min5(); } if(minute==6) { min6(); } if(minute==7) { min7(); } if(minute==8) { min8(); } if(minute==9) { min9(); } if(minute==10) { min10(); } if(minute==11) { min11(); } if(minute==12) { min12(); } if(minute==13) { min13(); } if(minute==14) { min14(); } if(minute==15) { min15(); } if(minute==16) { min16(); } if(minute==17) { min17(); } if(minute==18) { min18(); } if(minute==19) { min19(); } if(minute==20) { min20(); } if(minute==21) { min21(); } if(minute==22) { min22(); } if(minute==23) { min23(); } if(minute==24) { min24(); } if(minute==25) { min25(); } if(minute==26) { min26(); } if(minute==27) { min27(); } if(minute==28) { min28(); } if(minute==29) { min29(); } if(minute==30) { min30(); } if(minute==31) { min31(); } if(minute==32) { min32(); } if(minute==33) { min33(); } if(minute==34) { min34(); } if(minute==35) { min35(); } if(minute==36) { min36(); } if(minute==37) { min37(); } if(minute==38) { min38(); } if(minute==39) { min39(); } if(minute==40) { min40(); } if(minute==41) { min41(); } if(minute==42) { min42(); } if(minute==43) { min43(); } if(minute==44) { min44(); } if(minute==45) { min45(); } if(minute==46) { min46(); } if(minute==47) { min47(); } if(minute==48) { min48(); } if(minute==49) { min49(); } if(minute==50) { min50(); } if(minute==51) { min51(); } if(minute==52) { min52(); } if(minute==53) { min53(); } if(minute==54) { min54(); } if(minute==55) { min55(); } if(minute==56) { min56(); } if(minute==57) { min57(); } if(minute==58) { min58(); } if(minute==59) { min59(); } if(minute==60) { min60(); FastLED.show(); FastLED.clear(); FastLED.show(); }void 骄傲(){ 静态 uint16_t sPseudotime =0;静态 uint16_t sLastMillis =0;静态 uint16_t sHue16 =0; uint8_t sat8 =beatsin88(87、220、250); uint8_t Brightdepth =beatsin88(341, 96, 224); uint16_t 亮度thetainc16 =beatsin88(203,(25 * 256),(40 * 256)); uint8_t msmultiplier =beatsin88(147, 23, 60); uint16_t Hue16 =sHue16;//gHue * 256; uint16_t Hueinc16 =beatsin88(113, 1, 3000); uint16_t ms =毫秒(); uint16_t deltams =ms - sLastMillis ; sLastMillis =ms; sPseudotime +=deltams * msmultiplier; sHue16 +=deltams * beatsin88( 400, 5,9); uint16_t 亮度theta16 =sPseudotime; for( uint16_t i =0; i
示意图


制造工艺