2025-2-5 14:05:09 只看该作者
191浏览
查看: 191|回复: 0
打印 上一主题 下一主题

[项目] 基于RP2040做一个空心时钟的升级版本——折射投影时钟

[复制链接]
这个项目是对之前大家都比较感兴趣的shiura的空心时钟项目的改造,使用折射透镜将时钟表面投影到了墙上。

基于RP2040做一个空心时钟的升级版本——折射投影时钟图1

基于RP2040做一个空心时钟的升级版本——折射投影时钟图2

最初,我只想把时钟放在窗户旁边,让阳光穿过透镜,但最后还是制作了一个使用RGB LED的小型投影仪,可以放在时钟前面,这样晚上也能看到投影图像。



材料
基于RP2040做一个空心时钟的升级版本——折射投影时钟图3

时钟材料(类似于空心时钟V的零件清单):
  • 28BYJ-48 5V步进电机
  • RP2040-zero微控制器
  • 3个8x3mm钕磁铁

LED投影仪材料(使用手头现有的零件):
  • WS2812B LED灯条
  • 30°塑料透镜(用于5050 SMD LED)
  • Arduino Nano
  • 3V至5V升压转换器
  • 滑动开关
  • TP4056充电模块
  • 500mAh锂聚合物电池

工具:

透镜是通过SLA打印制作的,我使用了在线打印服务。


步骤1:折射透镜设计
基于RP2040做一个空心时钟的升级版本——折射投影时钟图4

计算能够投影随机图像的折射透镜表面是一项复杂的任务。目前最为先进的算法可能来自EPFL(洛桑联邦理工学院)的研究人员。幸运的是,我发现了Matt Ferraro的GitHub仓库,他使用稍有不同的算法也能完成这项工作。

我对他的代码做了一些小修改(详见我的GitHub:https://github.com/vonsivers/CausticClock),以便能够尝试不同的焦距和折射率。这段代码会生成一个obj文件,之后我在Fusion360中对其进行编辑,将方形透镜改为圆形,并将文件导出为stl格式。

那么,如何确定你创建的透镜真的能投射出你想要的图像呢?为了验证这一点,我使用了Blender中的LuxCore Render进行光线追踪模拟。在光线追踪模拟中看到正确投影的图像,非常不错。


步骤2:折射透镜制造
基于RP2040做一个空心时钟的升级版本——折射投影时钟图5

基于RP2040做一个空心时钟的升级版本——折射投影时钟图6

基于RP2040做一个空心时钟的升级版本——折射投影时钟图7

我发现的大多数折射透镜都是通过精密CNC加工透明亚克力制成的,但我想尝试SLA打印。我使用了在线打印服务,得到的第一批透镜透明度很好,但投影图像无法识别。我认为表面高度的变化对SLA打印机的分辨率来说太小了,所以考虑了转向CNC加工。

然而,我无法从obj文件生成可用于任何在线CNC服务的step文件。原因可能是obj文件中的面数太多,所以我又进行了几次SLA打印迭代,逐步降低焦距,因为这会增加折射透镜表面高度的差异。我还将图像的细节从最初的12个数字减少到只有4个较大的数字作为时钟表面。最后,在3D打印上花费了数百欧元后,我得到了一个可用的透镜,这是我从Wenext订购的,由Somos® WaterShed XC 1112材料制成。这个透镜的设计焦距只有3厘米,所以我们必须非常靠近墙壁才能获得清晰的图像,尽管实际焦距大约是10厘米。

使用CNC加工应该可以获得更大焦距的透镜。SLA打印的优势在于几乎不需要后期处理。据我所知,这些部件只需要喷涂,而CNC加工的透镜则需要多个步骤的手工抛光。


步骤3:3D打印时钟部件
基于RP2040做一个空心时钟的升级版本——折射投影时钟图8

我不得不稍微修改空心时钟的stl文件,以便能够嵌入透镜,这个透镜只是简单地添加到时钟的背面。所有文件都可以在GitHub:https://github.com/vonsivers/CausticClock上找到。在打印这些文件时,请按照shiura提供的原始说明:https://www.instructables.com/Hollow-Clock-V/进行颜色更换。


步骤4:组装时钟
同样,遵循shiura关于如何组装时钟、连接电子元件和上传代码到微控制器的详细说明。


步骤5:制作LED投影仪(可选)
基于RP2040做一个空心时钟的升级版本——折射投影时钟图9

基于RP2040做一个空心时钟的升级版本——折射投影时钟图10

基于RP2040做一个空心时钟的升级版本——折射投影时钟图11

如前所述,在完成时钟后,我决定做一个小型RGB灯来照明。这里使用的零件是基于我手头现有的材料,可能有更简单的制作方法。特别是微控制器的选择并不理想,如果我要从头开始做,我会选择带LiPo背板的Adafruit ItsyBitsy。市面上也有循环变色的5毫米RGB LED,使用它们就不需要任何微控制器,但我发现它们的亮度太低。

对于我的这个投影仪,我将一个从LED灯带上取下的WS2812B LED、一块Arduino Nano、一个3V转5V升压转换器、一个TP4056充电模块和一个滑动开关焊接在一起。电源由一个小型500mAh锂聚合物电池提供。我在LED上方放置了一个30度的塑料透镜。然后,设计并3D打印了一个小型外壳(stl文件在我的GitHub上),用热熔胶将所有组件固定在里面。

GitHub仓库:https://github.com/vonsivers/CausticClock


步骤6:结语
基于RP2040做一个空心时钟的升级版本——折射投影时钟图12

感谢shiura的空心时钟项目给我的启发。

折射透镜很有趣,我还有一些改进项目的想法。不过在这之前,我首先需要找出一些便宜且可靠的制造方法,特别是对于更大焦距的透镜。

大家有想法也欢迎在评论区交流!

原文地址:https://www.instructables.com/Caustic-Clock/

项目作者:mosivers

译文首发于:DF创客社区

转载请注明来源信息


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail