HexClock 创意像素时钟

基于 Arduino/ESP8266 的物联时钟

Spoony

喜欢

1291
浏览
0
喜欢

> 更多图片

项目状态:已完成
开放度:公开
所属分类:电子
发布时间:2024-06-22
最近更新:2024-06-25

详细说明

HexClock 是一款实木 WIFI 天气时钟。源于 @风轻云淡RGB HexMatrix 项目的产品衍生。

这款时钟不仅具备传统时钟的显示功能,还融入了 WIFI 连接和天气信息获取的智能化元素,为用户带来全新的使用体验。本页面将介绍 HexClock 的功能特性、引脚定义、开发教程及安装程序。

特性

  • 外壳材质:榉木

  • 尺寸:宽 19.5CM/高 20.8CM/厚 4CM

  • 电源:DC5V 1A(Type-C 接口)

  • 屏幕:96 颗全彩 RGB 灯珠

  • WiFi:802.11 b/g/n

  • 处理器:ESP 12E-8266 核心

购买链接

http://link.nxez.com/buy/rgb-hex-matrix

入手前提示

1、成品不带电池,即插即用
2、网络为 2.4G WiFi 网络,不支持 5G WiFi 与校园网
3、不支持国外天气,不支持华硕路由器、不支持快充高压供电源(会损坏屏幕)

使用说明

1、连接 USB-C 电源。
2、首次使用需要进行 WEB 设置 WIFI。
3、打开手机 WIFI 管理,选择 HexClock,输入密码(请看商品背面铭文)。
4、打开手机浏览器,输入 192.168.1.1,进入设置主界面。
5、进入网络设置,主要填入你家的 WIFI 账号与密码,其他保持默认即可。
6、相应设置完成即可重启,若无法正常显示,则 WIFI 输入错误,请重新设置若无法显示正常数值,则检查网络是否正常。
7、需要对其他功能进行设置,请长按实体按钮 10 秒,听到“滴”一声后,重复第 3 步、第 4 步进入设置主界面操作。

https://www.bilibili.com/video/BV1CxK8eAETR/ (下方视频如无法显示请点此链接查看)

功能列表

显示时间

  • 高精度时间显示,与互联网时间同步,确保准确性。

  • 灯盘作为显示界面,可以清晰展示时间信息。

  • 屏幕采取 96 颗全彩 RGB 灯珠焊接而成,三角形格栅分隔成形显示,创意满满。

显示天气信息

  • 通过内置的 WIFI 模块,时钟能够连接至互联网,实时获取最新的天气信息。

  • 显示的天气状况(如晴、雨、雪、多云等)。

按钮控制

  • 配备一个按钮,用于控制时钟的多种功能。包括:切换显示模式(时间、天气、氛围灯等)

闹钟

  • 设置多个闹钟,支持定时提醒。

  • 通过无源蜂鸣器发出闹钟铃声,提醒用户。

  • 闹钟铃声可以选择不同的声音或音乐。

声音律动

  • 内置声音传感器,能够感应外界声音。

  • 当感应到声音时,灯盘可以展示带有律动的光线或光波效果。

  • 律动效果可以根据声音的大小、频率等参数进行调整。

灯光氛围调节

  • 用户可以根据需要调整灯盘的亮度和颜色,营造不同的氛围。

  • 支持多种颜色选择和渐变效果(可 DIY 自定义颜色)

WIFI

  • 通过手机浏览器或网页界面进行 WIFI 设置和配置。

  • 支持热点连接和密码输入,方便用户快速连接网络(目前只支持 2.4G WIFI 网络)

用户交互与设置

  • 提供用户友好的交互界面(Web 页面实时控制),允许用户进行各种设置和操作。

  • 设置内容包括网络设置、亮度设置、时间显示设置、天气设置、显示模式设置、闹钟设置、重启硬件等。

自动更新与同步

  • 时钟能够自动与互联网时间同步,确保时间准确性。

  • 天气信息也能自动更新,保持最新状态。

  • 无需城市代码。可自动定位城市或直接输入城市名切换城市

  • 内置 CH340 下载芯片,支持固件升级更新,同时支持 OTA 无限升级

节能与休眠模式

  • 支持节能模式,当长时间无人使用时自动进入休眠状态,降低能耗。

  • 可通过按钮或感应外界动作来唤醒。

实木定制

  • 采用高品质实木材料,经过精细加工和打磨,使时钟外观更加优雅大方。

可编程

  • 开放编程接口和示例代码,允许用户自行编程控制实现各种功能。

  • 根据用户需求,可以添加更多扩展功能,如温度显示、湿度显示、空气质量检测等。

  • 支持与其他智能家居设备的联动控制。

注意事项

  • 请确保在使用 WIFI 智能时钟时,遵循产品说明书上的安全指南。避免在潮湿、高温或阳光直射的环境中使用,以防设备损坏或发生危险。

  • 请正确使用产品配置的充电器和电源线,此产品不支持高压供电源(可能会损坏电子元件)。

  • 请确保 WIFI 智能时钟远离其他可能产生电磁干扰的设备,如微波炉、无线电话等。

常见故障排除

  • 连接问题:如果你的 WIFI 智能时钟无法连接到网络,请检查你的 WIFI 密码是否正确,以及你的路由器是否正常运行。此外,确保你的时钟与路由器的距离不太远,以避免信号弱导致连接失败。

  • 时间显示错误:如果 WIFI 智能时钟的时间显示不准确,请检查你的时区设置是否正确。同时,确保你的时钟已经成功连接到网络,并已经自动获取了正确的时间。

  • 屏幕显示问题:如果 WIFI 智能时钟的屏幕显示异常,如出现花屏、黑屏等,请尝试重启时钟。

  • 声音问题:如果 WIFI 智能时钟的闹钟声音不响或声音异常,请检查音量设置是否正常,以及是否选择了正确的闹钟铃声。

  • 电源问题:如果你的 WIFI 智能时钟无法开机或突然关机,请检查电源线是否插好,以及电源插座是否正常工作。

温馨提示

  • 实木家具由于材料的天然特性,颜色深浅,白边,树结,矿物条痕,纹路,结巴细微修补,加工痕迹,气候差异,便用环境导致木材自身开裂,属于正常现象。

  • 避免长时间暴晒,避免温度和湿度剧烈变化,与空调或暖气片保持一定距离否则容易出现开裂,变形等问题。尺寸为人工测量,可能稍有存在1-3mm 的误差。

链接表


文件库

wifi-connect-demo.ino
[963 Bytes at 2024-06-24, 1 次下载]

time.ino
[38006 Bytes at 2024-06-24, 1 次下载]

show.zip
[90622 Bytes at 2024-06-24, 2 次下载]



教程

引脚定义

时钟的引脚定义如下:

准备开发环境

下面假设你已经配置好了 ESP8266 开发板的开发环境。如果还没有准备好,请参考使用 Arduino IDE 配置 ESP8266 开发环境一文进行配置。

示例代码

1、以下是一个简单的示例代码(wifi-connect-demo.ino),用于在 ESP8266 上设置 WIFI 并连接到网络并点亮 RGD 灯(连接上网络显示蓝灯,没有连接显示红灯):

#include <ESP8266WiFi.h>  
#include <FastLED.h>  
  
#define NUM_LEDS 96 // 假设有 96 个 LED  
#define DATA_PIN 4 // LED数据引脚连接到 ESP8266 的 GPIO2  
  
CRGB leds[NUM_LEDS]; // 用于存储 LED 颜色的数组  
  
const char* ssid = "yourSSID";  
const char* password = "yourPASSWORD";  
void setup() {  
  Serial.begin(115200);  
  
  // 初始化FastLED  
  FastLED.addLeds<WS2811, DATA_PIN, GRB>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip ); 
  FastLED.setBrightness(255);
  
  FastLED.clear();

  // 连接到WiFi网络  
  WiFi.begin(ssid, password);  
  
  // 等待WiFi连接  
  while (WiFi.status() != WL_CONNECTED) {  
    delay(500);  
    Serial.print(".");  
    fill_solid(leds, NUM_LEDS, CRGB::Red); 
    FastLED.show();  
  }  
  
  Serial.println("");  
  Serial.println("WiFi 连接成功");  
  
  // 设置所有LED为绿色  
  fill_solid(leds, NUM_LEDS, CRGB::Green);  
  FastLED.show();  
}  
  
void loop() {
  delay(100);
}

需要修改代码中的 WiFi 名称和密码为你自己路由器的 WiFi SSID、密码:

const char* ssid = "yourSSID";  
const char* password = "yourPASSWORD";  

将上述代码上传到 ESP8266 模块后,打开串行监视器(Serial Monitor),你应该能够看到 ESP8266 连接到 WI-FI 网络 RGB 灯亮起并打印出其 IP 地址的消息。

2、连接 WIFI 并显示时间(time.ino)。

3、各种霓虹光特效(show.ino),例如火焰,流星之类的特效,执行不同的函数,可以出现不同的效果,可以自己尝试。

// Run selected pattern
void loop() {
      runRainbow();
      //runFire();
      //runCircles();
      //runPlasma();
      //runMatrix();
      //runNoise();
}

开发教程

1、在本项目的文件库中下载三个示例程序 wifi-connect-demo.ino、time.ino、show.zip:
https://make.quwj.com/project/524

2、将下载的示例程序源代码复制到你的 C 语言项目或文件夹中,确保所有必要的头文件和库文件都已经包含在你的项目中。

3、下载对应的库文件,这里我们驱动灯条使用的库文件是 FastLED。

4、代码编写:根据示例代码,编写符合自己需求的程序。

5、程序烧录:将编写好的程序烧录到时钟主板上,确保程序能够正常运行。

一旦你成功运行了示例程序,你可以考虑对其进行优化和定制,以满足你的特定需求。例如,你可以更改时钟的外观、添加新功能或与其他程序集成。

好啦,以上就是安装并运行时钟示例程序的详细步骤啦!如果你还有其他问题或需要进一步的帮助,可以查看我们的玩家社区,这里会有小伙伴分享新奇又好玩儿的东西!