Android Things 单词时钟 – 用自然语言显示时间,支持多语言与语音控制
项目亮点
- **自然语言显示时间** – 仅点亮组成当前时间短语的字母(如 "IT IS TEN FIFTEEN")
- **多语言支持** – 内置英语/意大利语激光切割字模,可扩展任意语言
- **智能家居集成** – 通过 Google Assistant / Firebase 远程调节颜色、亮度、时区
- **模块化硬件** – 支持 WS2801(直驱)与 WS2812B(需 Arduino Nano 中转)两种 LED 灯带
硬件架构
| 组件 | 规格/数量 | 说明 |
|---|---|---|
| 主控板 | Raspberry Pi 3 Model B ×1 | 运行 Android Things OS |
| LED 驱动 | Arduino Nano R3 ×1 | 仅 WS2812B 方案需要,通过 USB 串口通信 |
| LED 灯带 | NeoPixel (WS2801/WS2812B) ×1 条 | 按字模矩阵剪切成蛇形排列 |
| 字模面板 | 激光切割亚克力/木板 ×1 | 字母间距匹配 LED 间距 |
| 隔光结构 | 钻孔木板 ×1 | 每字母一个盲孔,防止漏光串色 |
| 相框外壳 | 标准相框 ×1 | 成品装饰性强,可挂墙 |
软件栈
- Android Things (已停止维护,建议迁移至 Android 10+ / LineageOS + ThingsBoard)
- Google Firebase Realtime Database – 存储颜色、亮度、时区配置
- Firebase Cloud Functions – 响应 Google Assistant 指令写入数据库
- Actions on Google – 配置 Smart Home trait (ColorSetting, Brightness)
- Android Nearby API – 手机伴侣 App 自动发现设备并配色
制作流程
1. 字模设计与激光切割
使用矢量软件排版所需语言的时间短语字母矩阵(如 11×10 字符),字母中心间距 = LED 间距(通常 10mm/16mm)。导出 DXF/SVG 激光切割。
2. LED 灯带重组
将灯带剪切为每行一段,按“蛇形”首尾相连(第 1 行左→右,第 2 行右→左…),焊接三/四根导线 (VCC, GND, DATA, CLK)。
3. 光学隔离
在与字模等大的木板上钻孔(孔径略大于字母笔画),每孔对应一颗 LED,LED 珠嵌入孔中并用胶带固定,确保光线仅照亮对应字母。
4. 组装
相框内依次放入:字模面板 → 隔光木板(含 LED) → 背板。引出数据线连接树莓派 GPIO (WS2801: SPI0 MOSI/SCLK) 或 Arduino Nano (WS2812B: D6)。
5. 固件烧录与配置
- Android Studio 导入项目,选择
Build Variants对应语言与 LED 类型 - 配置 WiFi SSID/密码(首次可通过 adb 或串口注入)
- 部署运行,联网后自动同步 NTP 时间并开始显示
智能家居联动配置要点
- Firebase 控制台创建项目,启用 Realtime Database 与 Cloud Functions
- 部署提供的
functions/index.js,处理action.devices.commands.ColorAbsolute等指令 - Actions on Google 控制台创建 Smart Home Action,账号关联 OAuth,同步设备
- Android Things 端监听数据库
/clock/color/clock/brightness节点变化,实时更新 LED
已知限制与迁移建议
- Android Things 官方已于 2022 年停止支持,建议改用 Raspberry Pi OS + Python/Node.js + MQTT 实现同等功能
- WS2812B 时序要求严格,树莓派 GPIO 直驱易受干扰,保留 Arduino Nano 中转更稳健
- 激光切割字模可改用 3D 打印透明字块 + 遮光墙,工艺更灵活
扩展创意
- 增加环境光传感器自动调节亮度
- 集成温湿度/空气质量传感器,闲时滚动显示
- 接入 Home Assistant,统一管理所有智能设备
- 设计磁吸模块化字模,随时切换语言/字体
制造工艺
- 布谷鸟钟:历史、工艺与现代演变
- 集成电路 (IC):微观世界里的算力引擎与制造极限
- Arduino POV 时钟:自制视觉暂留 LED 显示器
- 复古 Numitron 管时钟:Arduino Nano 驱动,低温可靠省电
- DIY Arduino单词时钟 – 极简优雅的实时文字显示
- 精准文字时钟:分钟级文字显示时间
- 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
- 意大利语单词时钟:Arduino Nano + NeoPixel 144 灯珠 + LCD + RTC 打造
- 用 Arduino UNO 制作柏林时钟 – DIY LED 矩阵时钟
- MotionSense:基于 Arduino 与 ESP8266 的智能入侵检测系统
- MOSMusic 套件:MOSFET + Arduino 打造音乐同步灯光控制系统
- 车辆底盘布局:发动机位置与驱动配置详解