基于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.


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


目录
相关文章
|
网络协议 IDE 开发工具
基于ESP8266远程舵机的控制与实现
基于ESP8266远程舵机的控制与实现
1589 0
基于ESP8266远程舵机的控制与实现
|
6月前
|
芯片
基于Micropython利用ESP32-C3墨水屏电子时钟方法
基于Micropython利用ESP32-C3墨水屏电子时钟方法
346 0
|
6月前
|
传感器 监控 测试技术
单片机开发|基于51单片机的全自动黑板檫粉尘清除装置设计与实现
单片机开发|基于51单片机的全自动黑板檫粉尘清除装置设计与实现
|
6月前
|
传感器 人工智能 Java
单片机开发|基于51单片机的全自动黑板檫粉尘清除装置设计
教师常年在课堂上上课,粉笔的灰尘会对学生的健康造成很大的危害,很多教师都会患上肺部疾病。教师在课堂教学中,如何有效地消除粉尘对教师的身体造成的不良影响,是一个亟待解决的问题。本文以51单片机为核心,实现并设计一种全自动黑板檫粉尘清除装置。由黑板擦上的压力传感器进行检测,由51单片机来控制吸尘器(吸尘风机),以完成清理。本系统的主要功能包括:压力检测、按键控制、灯光显示、电扇除尘等。本文在对国内外有关文献进行整理和归纳的基础上,首先介绍了全自动黑板檫粉尘清除装置的研制背景和研究意义,并结合国内外的研究情况,提出了本文的主要研究内容和系统的设计思路。接着,对系统的硬件电路进行了详细的设计,并编写了
|
异构计算
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)
821 0
实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计(上)
|
传感器 监控 测试技术
单片机开发|基于51单片机的全自动黑板檫粉尘清除装置设计与实现
教师常年在课堂上上课,粉笔的灰尘会对学生的健康造成很大的危害,很多教师都会患上肺部疾病。教师在课堂教学中,如何有效地消除粉尘对教师的身体造成的不良影响,是一个亟待解决的问题。本文以51单片机为核心,实现并设计一种全自动黑板檫粉尘清除装置。由黑板擦上的压力传感器进行检测,由51单片机来控制吸尘器(吸尘风机),以完成清理。本系统的主要功能包括:压力检测、按键控制、灯光显示、电扇除尘等。本文在对国内外有关文献进行整理和归纳的基础上,首先介绍了全自动黑板檫粉尘清除装置的研制背景和研究意义,并结合国内外的研究情况,提出了本文的主要研究内容和系统的设计思路。接着,对系统的硬件电路进行了详细的设计,并编写了
187 0
|
监控 芯片
单片机如何才能不死机之内外部时钟
单片机如何才能不死机之内外部时钟
|
JavaScript BI
5 控制转移指令【微机原理】
5 控制转移指令【微机原理】
88 0