基于ESP8266的动态机械钟

简介: 基于ESP8266的动态机械钟

基于ESP8266的动态机械钟

简介

大家好,今天我要和大家分享一个非常有趣的项目——Lenticular Clock,即立体动态时钟。你是否曾在明信片上看到过这种效果?我还记得在小学时,我有一个标有恐龙图案的尺子,图案会随着观察角度的变化而变化。这种立体动态动画是基于通过一系列圆柱形透镜观察交织在一起的多张图片。通过改变观察角度,可以区分出不同的图片。我的想法是创建一个使用立体动态动画来显示时间的时钟。

实物图:

材料清单

  • 4个SG92R 270度伺服电机(实际上你只需要2个270度伺服电机,另外2个可以是180度)
  • PCA9685 PWM驱动板
  • Wemos D1 mini ESP8266
  • 20 LPI立体透镜片
  • A4可打印透明自粘箔
  • 彩色激光/喷墨打印机
  • 3D打印机

制作步骤

步骤1:选择合适的LPI

立体透镜片的特性是每英寸透镜的数量(LPI)。我订购了60、40和20 LPI的片材。更高的LPI可以给你更好的分辨率,但你需要打印更细的线条,并且更难正确对齐透镜片。由于时钟动画将包含多达6帧,我发现只有20 LPI才能清晰地区分它们。

我使用了一张20 LPI的片材,具有54度的大视角,非常适合显示动画。

步骤2:LPI校准

由于立体透镜片和打印机的制造公差,你需要确定用于交织的确切LPI值。有几个软件可以生成校准纸。我尝试了3Dependable和fPitch的软件。但出于某种原因,校准效果并不理想,我最终使用了不同的LPI值生成最终打印,并选择了在放在我的立体透镜片下效果最好的那一个。

步骤3:创建立体打印

有几个软件可以用于交织图像,我使用的是免费的grape软件。首先,我创建了从0到9的每个数字的图片,所有数字的大小都是52.5x30mm。我为每个数字使用了不同的颜色,这有助于更清晰地区分它们,同时也有参加instructables上的“彩虹颜色”竞赛的优势;-)

在交织之前,我不得不将图片旋转90度,因为grape只能创建通过水平倾斜打印工作的动画。

交织的图像是由以下数字组创建的:

  • 0-2 -> 十小时
  • 0-4 -> 小时+分钟
  • 5-9 -> 小时+分钟
  • 0-5 -> 十分钟

我镜像了交织的图像,然后打印在自粘透明箔上,以便我可以将它们贴在立体透镜片的背面。我还用另一层自粘箔覆盖了打印,以防止墨水擦掉。交织的图片和单独的帧可以在我的GitHub上找到。

步骤4:将打印物贴到立体透镜片上

用grape创建的交织图片在边框上有一些对齐标记,这大大有助于正确对齐打印。为了能够调整自粘箔,我喷了肥皂水在立体透镜片的背面。在一切都正确对齐后,你可以在箔下挤出水分。

然后我用盒形切割器切割立体透镜片,移除了对齐标记。这证明相当繁琐,因为立体透镜片厚2mm,需要很长时间才能切穿。

步骤5:3D打印

我用白色PLA 3D打印了立体透镜片的支架。片材可以滑入支架,支架稍后会连接到伺服电机。小时和分钟的支架正面有0-4的数字,背面有5-9的数字。

时钟的外壳也是用白色PLA 3D打印的,内部装有电子设备和伺服电机。

所有的stl文件都可以在我的GitHub上找到。

步骤6:组装

时钟的组装相当简单。

  1. 将伺服电机连接到外壳
  2. 将数字支架压装到伺服电机上。十小时在左上角,小时在右上角,十分钟在左下角,分钟在右下角
  3. 安装PCA9685和Wemos板。Wemos需要用热胶固定
  4. 连接Wemos和PCA9685之间的电缆
  5. D1 -> SCL
  6. D2 -> SDA
  7. 5V -> VCC和V+
  8. GND -> GND
  9. 将伺服电机连接到PCA9685板上的CH 0-3
  10. 用拉链带固定伺服电机电缆在外壳背面
  11. 连接外壳盖子

为了最后的润色,我在外壳底部添加了另一个立体动画,可以在两个文本之间切换,使用的是40LPI的片材创建的。

步骤7:代码

代码是用Arduino IDE编写的,可以在我的GitHub上找到。首先,需要在servo.h文件中指定对应于每个数字的正确倾斜角度的电机位置。为此,我从定义的角度观察时钟,并通过IDE中的串行监视器控制伺服位置。

当代码第一次上传时,ESP8266打开一个接入点,让你输入你的wifi凭据。然后它连接到你的本地wifi,并通过NTP同步时间。

时钟将以24小时格式显示时间,顶行显示小时,底行显示分钟。

希望这个项目能激发你的创造力,让你对立体动态效果有更深的理解。如果你有任何问题或想要了解更多细节,请随时在评论区留言。期待看到你的创意作品!

希望你喜欢这个项目,并在构建过程中找到乐趣!如果你有任何问题或需要帮助,欢迎在评论区交流。

作者:Svan.


注意:本博文为不得在未经本人同意进行转载或者二次创作,违者必究!!!


目录
相关文章
|
10月前
|
JSON 安全 IDE
基于ESP8266网络天气时钟的OLED显示
【8月更文挑战第25天】基于ESP8266的网络天气时钟通过OLED显示屏提供直观的时间与天气信息。硬件包括ESP8266开发板、OLED显示屏及其他元件。软件实现涉及Wi-Fi连接、天气API数据获取、NTP时间同步及OLED显示控制。显示内容设计包括清晰的时间格式与详细的天气描述,支持图标展示。项目支持自动更新机制、低功耗模式,并可扩展闹钟等功能。开发者需根据具体环境调整优化,确保系统稳定可靠。
418 0
|
传感器 数据采集 物联网
MQTT 的 QoS 等级:QoS 0、QoS 1、QoS 2
MQTT 的 QoS 等级:QoS 0、QoS 1、QoS 2
3427 0
|
druid 前端开发 关系型数据库
mysql使用druid时自动断开连接解决方案
mysql使用druid时自动断开连接解决方案
397 0
|
数据采集 定位技术 数据安全/隐私保护
ESP8266调用NTP服务器进行时间校准
NTP服务器通常连接到具有高度精确时间源的设备,例如:GPS接收器或原子钟,以确保提供准确如一的时间。网络上的计算机可以通过连接到NTP服务器来同步其时间,并确保它们在同一时刻进行操作。
1529 0
|
8月前
|
存储 机器学习/深度学习 编解码
基于STM32的车牌识别系统
基于STM32的车牌识别系统
404 0
|
8月前
|
传感器 网络协议 物联网
基于STM32的环境监测系统 (esp8267)(下)
基于STM32的环境监测系统 (esp8267)(下)
530 0
|
监控 关系型数据库 数据库
PostgreSQL 恢复模式错误日志增强 - 提供正在恢复的WAL(XLOG)文件位置
标签 PostgreSQL , the database system is starting up , the database system is in recovery mode 背景 当数据库异常停库,再次启动时。
3209 0
|
8月前
|
人工智能 缓存 网络协议
AI模拟面试记录
AI模拟面试记录
144 4
|
6月前
|
人工智能 算法 物联网
Lyra:SmartMore 联合香港多所高校推出的多模态大型语言模型,专注于提升语音、视觉和语言模态的交互能力
Lyra是由香港中文大学、SmartMore和香港科技大学联合推出的高效多模态大型语言模型,专注于提升语音、视觉和语言模态的交互能力。Lyra基于开源大型模型和多模态LoRA模块,减少训练成本和数据需求,支持多种模态理解和推理任务。
218 33
Lyra:SmartMore 联合香港多所高校推出的多模态大型语言模型,专注于提升语音、视觉和语言模态的交互能力
|
7月前
|
缓存 Linux Docker
【最新版正确姿势】Docker安装教程(简单几步即可完成)
之前的老版本Docker安装教程已经发生了变化,本文分享了Docker最新版安装教程,其他操作系统版本也可以参考官 方的其他安装版本文档。
7546 3
【最新版正确姿势】Docker安装教程(简单几步即可完成)