用 Adafruit 60 LED NeoPixel 环形灯和 Arduino 制作时尚挂钟
元件与材料
| Adafruit NeoPixel 1/4 60 环 | ×4 |
| eDOTcore 板 (自带 RTC) | ×1 |
| Arduino UNO | ×1 |
| Arduino Nano R3 | ×1 |
| Arduino Micro | ×1 |
应用与在线服务
- Arduino IDE
项目简介
eDOTcore:内置 RTC 的多功能 Arduino 板
项目详情见链接。使用四个 60 颗 NeoPixel 环拼成圆形时钟,利用 RTC 模块精准走时,3D 打印外壳美观大方。
代码
简易 NeoPixel 环时钟
#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define PIXEL 60
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL, PIN, NEO_GRB + NEO_KHZ800);
RTC_DS1307 RTC;
DateTime Clock;
byte hourval, minuteval, secondval;
void setup() {
Serial.begin(9600);
Wire.begin();
RTC.begin();
if (!RTC.isrunning()) {
// RTC.adjust(DateTime(__DATE__, __TIME__)); // 首次运行取消注释以设置时间
}
strip.begin();
strip.show();
strip.setBrightness(20);
}
void loop() {
Clock = RTC.now();
secondval = Clock.second();
minuteval = Clock.minute();
hourval = Clock.hour();
if (hourval > 11) hourval -= 12; // 12 小时制
hourval = (hourval * 60 + minuteval) / 12; // 时针平滑移动
// 时针:青色,带渐变尾迹
strip.setPixelColor(hourval, 0x008080);
strip.setPixelColor((hourval-1+60)%60, 0x004040);
strip.setPixelColor((hourval+1)%60, 0x004040);
strip.setPixelColor((hourval+2)%60, 0x001010);
// 分针:紫色
strip.setPixelColor(minuteval, 0x800080);
strip.setPixelColor((minuteval+1)%60, 0x200020);
// 秒针:黄色
strip.setPixelColor(secondval, 0x808000);
strip.setPixelColor((secondval+1)%60, 0x002F00);
strip.show();
// 清除上一帧
strip.setPixelColor(hourval, 0);
strip.setPixelColor((hourval-1+60)%60, 0);
strip.setPixelColor((hourval+1)%60, 0);
strip.setPixelColor((hourval+2)%60, 0);
strip.setPixelColor(minuteval, 0);
strip.setPixelColor((minuteval+1)%60, 0);
strip.setPixelColor(secondval, 0);
strip.setPixelColor((secondval+1)%60, 0);
delay(25);
}
3D 打印文件
NeoPixel 环挂钟外壳模型:Thingiverse (搜索 "Neopixel ring wall clock")
制造工艺
- Arduino POV 时钟:自制视觉暂留 LED 显示器
- 用 Arduino 打造绚丽显示器 Ambilight 系统
- DIY Arduino单词时钟 – 极简优雅的实时文字显示
- 互动陀螺仪 LED 显示:NeoPixel Ring + Arduino Pro Mini
- 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
- Arduino 与智能手机打造智能电压表——简单易做的 DIY 项目
- 基于 Arduino 与 MAX30100 的实时物联网心率监测系统
- Arduino Uno WiFi 网页服务器:通过浏览器控制 LED 开关
- Pixie:基于 Arduino Pro Mini 的 NeoPixel 智能腕表 - 极简 DIY LED 时钟
- Arduino 串口简易计算器:两数四则运算演示
- DIY Arduino 智能手表:打造属于你的 Apple Watch 风格腕表
- 用 DS1302 RTC 和 Arduino UNO 制作可靠闹钟