文字时钟显示时间

木易
转载
发布时间: 2025-06-09 21:03:55 | 阅读数 0收藏数 0评论数 0
封面
您按蓝色按钮 - 它开始眨眼 - 三秒钟后拍摄图片。在相机的另一侧,有一个显示倒计时的监视器,拍摄照片后,照片的预览。一切都在Python中编程,利用Pi Framebuffer-没有Xorg,不使用GUI。
1

工具、材料和用品

这种设计的主要要求是可以使用切割面积为22cm x 22cm 英寸或更大的激光切割机。我正在使用无处不在的“K40”中国 40w CO2 激光器,它在 ebay 和其他海外网站上都有售。我的已经被修改以允许它切割更大的区域(以及其他改进),否则它就不适合开箱即用的这个项目。如果您使用 K40,我强烈建议您使用 K40 whisperer 而不是它附带的任何软件;我的 SVG 文件在绘制时考虑到了这一点。

工具:

激光切割机(22cm*22cm或更大面积,必须切割木材)

安装Arduino IDE的计算机

通用电子产品(剪线钳、剥线钳等)

烙铁

夹具

热熔枪

用品:

木胶

注射器(用于涂抹木胶,寻找牙科/冲洗注射器的弯曲塑料尖端)

热熔胶

电工胶带

一次性杯子和搅拌棒(用于环氧树脂表面)

砂纸

油漆(钟面)

线材(22号实心芯)

材料:

1*Ardunio Nano

1*DS3231RTC模块

1*10K电阻

3*触觉开关

1*WS2818 LED条60 LED/米

1倍Micro USB突破版(可选)

1*光扰流器10-20k欧姆

1*CR2032电池

环氧树脂(适量)

1*3mm胶合板

一块 0.6cm x 3.8cm x 122cm的橡木板材

纸(A4纸或半透明纸)

2

切胶合板零件

这应该很简单。从附件的ZIP文件中剪切一个以“ 3mm胶合板”开头的SVG文件。首先使用锯将4x8纸变成适合您激光切割器中的东西(如果这不明显)

您可能会注意到时钟的脸是镜像的 - 我发现有了激光,我在板的底部得到了更清晰的边缘,所以我将木头的最美好的脸放下。如果不是您的情况,只需镜像文件并将其右侧切割。字母的小浮动部分将是脆弱的,因此请避免将其中的任何一个猛击。我建议调整您的剪切设置,以便单独掉落字母 - 如果您将任何卡住的零件戳出来,就很容易折断O的中间。

如果您确实打破一封信 - 一切都不会丢失。挂在小碎片上,向前看,向我们准备脸部的步骤,您会发现我们可以将它们放在他们所属的地方而没有太多麻烦。

不要忘记在切割红色层之前雕刻蓝色层。

SVG
FKEZH1BK71ZQFCH.svg
30.62KB
SVG
F2NJ26XK71ZQFCD.svg
376.80KB
SVG
FPOAH5AK71ZQFCJ.svg
48.48KB
SVG
F35ZL5AK71ZQFCI.svg
267.40KB
SVG
FNS74O5K71ZQFCE.svg
284.33KB
SVG
FAJDDJTK71ZQFCF.svg
377.99KB
SVG
FL50GR7K71ZQFCG.svg
341.09KB
3

切割橡木部分

我通常在开始切割胶合板之前或完成切割之后执行此操作,因为它需要不同的切割设置和激光上的一些设置。我们需要每一件文件名为“Oak Frame”的作品。您会注意到文件中有一个带有红色剪切线的蓝色矩形。这里的想法是使用废板作为激光中的夹具/固定装置,以便我们可以以一致的方式将指接点切割到板的末端。

  1. 使用锯子将橡木板切成 22cm长
  2. 将废板固定到激光床上,使其不易移动。
  3. 剪出蓝色矩形。此后不要重新启动或重新定位激光器,废板上的新孔现在是我们其余切割的参考点。
  4. 将橡木片放入切口中,然后将其向上推入左上角(假设您的原点是左上角。如果不是......关键是要在橡木上进行端部切割并使顶部边缘始终保持直线,所以无论您的原籍在哪里都可能没问题)。执行此操作时,尽量不要移动废纸板。
  5. 切!

我发现 K40 切割橡木效果非常好,但您必须调整设置,直到获得良好的结果。

SVG
FE1Z0NUK71ZQFJU.svg
9.68KB
SVG
F45LKA8K71ZQFJT.svg
9.25KB
SVG
FTBCRBCK71ZQFJS.svg
9.97KB
SVG
FD9QYHTK71ZQFJR.svg
16.46KB
4

组装框架

对橡木部件进行快速打磨以改善表面,然后将它们展开并在指接处涂上一些胶水。重要的是,框架最终必须是方形的(或者如果激光切割梯形或平行四边形,则与脸部的形状相匹配),确保正确的一个好方法是在胶水干燥之前使用脸部作为指导。

从背面(面朝下)仔细检查特征的位置:

  1. 按钮的三个孔应位于左侧且朝向时钟背面
  2. 光敏电阻的单个孔应位于顶部并朝向时钟的背面
  3. 电源线的槽口应位于底部并朝向时钟背面

如果您与框架的顶部或底部边缘有任何不对对准,只要它们不是笨拙的。我照片中的示例没问题,快速打磨会在染色之前将其冲洗。

如果有夹具,则可以使用夹具,也可以使用胶带也很好。

5

油漆并准备脸部

第一:油漆。

我更喜欢用相当中性的脸上使用喷漆。到目前为止,我使用了不同的灰色,银色和金色的脸,并取得了良好的效果。较深的颜色与字母照亮时会更好地对比。由于字母的脆弱性质,避免打磨脸部。如果您的字母碎片折断,请同时将其涂漆。

第二:应用蒙版胶带

蒙版胶带将使我们在没有孔中逃脱的情况下用环氧树脂填充脸部。将一层涂在面板的背面,然后向下按整个表面以确保其粘附得很好。

第三:将胶带从边缘切成6.35mm。我们需要保持清晰,以便我们可以将面板粘贴到框架中,而不会使蒙版胶带成为永久性的特征。

第四:可选 - 如果您的字母碎片折断,将脸部翻转,然后将其粘在适当的位置上的胶带。

6

安装LED

首先将您的LED条带在指示的标记中将其剪成11个LED 11件。应该有一条线显示在裸露的铜垫中间切割的位置。剪刀或剪裁器很好。

接下来,取下背衬并将每条条带粘到“网格”背板上。如果您之前在这部分刻有指南,您可以将它们用作参考以保持事情的顺利进行。这里的间距并不是非常重要,您可能会注意到,如果您最终得到的条带中已经有焊点,那么它会发生变化,我想当您购买 5m 卷时,您会得到一米左右的焊点。

重要提示:请注意小箭头和 Din/Dout。我们希望顶行的箭头从左到右,然后在下一行反向。它应该从左上角开始呈之字形,并在右下角结束。

7

焊接LED

这可能是最乏味的步骤。我使用裸露的 22 号电线,以节省剥去这些短电线两端的工作量。

将这三个长度各切 10 个:

  1. 3/4"
  2. 1-1/8"
  3. 1-1/2"

每根电线都需要弯曲,以便可以从一条线的末端连接到下一条线的起点。我通常会抓起几个可以弯曲金属丝的物体——最短的可以用钢笔,中号的可以用螺丝刀的手柄,最长的可以用小钢尺。您可以通过将它们放在板上来检查弯曲,看看它们是否到达垫子并保持在指导范围内。

将这些电线焊接在条带两端之间,形成从左上角到右下角的一条连续路径 - 这在照片中应该是不言自明的。

握住这些电线很棘手,您绝对不应该使用手指,因为它们变得非常热。我在鳄鱼剪剪辑中取得了成功,还有您在照片中看到的小发。首先镀垫可能会更容易,然后用镊子握住电线。

焊接电线后,您可以通过用螺丝刀或类似的方式弯曲它们之间的间隙 - 当然不应该触摸。

我继续前进之前测试LED,但是此步骤是可选的。

8

连接输入线

接下来,我们将将功率,地面和数据附加到我们的LED带的开头,并将其仅在远端进行电源和地面。输入侧的电线应大约33cm - 我选择了5V的红色,黄色用于数据,而裸线则是地面的。

立即在5V线的顶部/中心卸下绝缘层的一部分(请参阅照片);稍后,我们将其用于光倍力。

在条带的远端(左下),从背面开始,只需使用两根 5V 线和地线,这些线长约 12.7cm。

我建议如图所示用热胶固定电线以防止移动。 LED 灯带的焊点特别脆弱。

9

组装网格

有四种不同类型的网格片,如果您之前雕刻过它们,它们就会被标记:

  1. 2x 水平端
  2. 2x 垂直端
  3. 10x 垂直
  4. 10x 水平

胶是可选的,但建议使用。我喜欢使用胶水,因为我们可以在整个组件干燥时将重量施加到整个组件上,并纠正任何使事情变得更容易的非平板。

首先安装垂直零件。 “末端”碎片在左右两侧,然后在中间填充其余部分。

然后安装水平部件。 “结束”部分位于顶部和底部,您会注意到它们上没有额外的小切口。其余的水平部分有这个额外的凹口,以便它们清除我们之前焊接的连接线。将凹口与电线对齐,并边做边交替。

最后,如果您使用胶水,请将组件面朝下在平坦的表面上,并在干燥时将其放在上面。

10

染色框架并安装面板

现在是给橡木框架上色的好时机,这取决于您想要的完成效果。我们需要将面板粘到位,在这个例子中,我计划使用油性饰面处理木材——这会干扰到木胶的效果,所以我打算稍后才进行上油处理。或者,您可以选择使用一种不受油性饰面影响的其他类型的胶水。

接下来,我们需要将面板放入框架中。这里的关键是设置深度,以便时钟的背面结束时会齐平或框架的背面下方,并且不会伸出。有很多方法可以做到这一点:

小的矩形间隔器恰到好处,可以将距离框架前面的距离设置为面板的距离。

实现此目的的另一种方法是将框架朝上放在平坦的表面上,然后堆叠所有内部零件(跳过前方,看看它们的发展方式),最后将面板按向下按下。但是,请确保电线不会在层之间。

您还可以堆叠零件并使用卡尺,无论您想要什么!

11

倒环氧

支撑整个表面上的背部,以帮助掩盖胶带保持。将其设置在水平表面。

根据环氧树脂随附的说明混合约140g。通常,他们会说在一个容器中混合6-10分钟,以确保刮擦侧面,然后转移到干净的容器中,再混合几分钟,或直到达到一定的温度为止。

将环氧树脂倒在脸上。我尝试先填充字母以尽量减少气泡,然后覆盖其余部分。尽量防止灰尘进入,并定期使用热风枪或火炬去除气泡。

12

安装 LED 网格和扩散器

环氧树脂完成后,从面板的背面卸下胶带。

建议在 LED 和面板背面之间使用一些扩散光的东西:

  1. 没有漫射器给人留下字母背后单独灯光的印象
  2. 一张打印纸发出的光线非常均匀,但总亮度会降低
  3. 一两张白色薄纸是一个很好的折衷方案
  4. 黑色薄纸确实会降低亮度,但也使未刷的字母不突出

将纸切成框架,使其适合框架,然后将其夹在LED网格和面板之间。确保带有数据线的LED网格的转角排在左上方的字母“ I”。

当您使用时,将后板放入框架中,然后用铅笔将切口部分追踪到网格的背面,这将有助于稍后正确对齐较小的部分。

用热胶将LED网格固定在适当的位置。

13

安装内部组件

如图所示,将围绕中心的段粘合在一起,然后使用您追溯到LED网格背面的线条,将它们粘在粘合到LED。使用Arduino和Micro USB突破板作为间隔者,以确保它们适合。

将小矩形垫片粘在周边,确保不要覆盖左侧开关和顶部光敏电阻的孔。

使用热胶固定 Arduino 和 micro USB 分线板。

如果适用,请从 RTC 模块上拆下有角度的接头引脚。要么拆焊,要么直接把它们剪掉——我们不会使用它们。

最后,使用热胶将RTC模块固定在左下方。我建议将后板作为指南,以使其处于完美的位置。将模块胶带到板上,将其粘贴在一些胶水上,然后将其放置在适当的位置,然后将模块向下推到下面的板上。

14

按钮和光敏电阻

用热胶固定左下角的开关,注意 方向。开关上的四个引脚成对连接,我建议旋转它们,使一对靠近底部,另一对靠近顶部 - 这将使以后的焊接更容易。

将光敏电阻从顶部粘入 - 只需将其置于顶部的孔中央即可

15

焊接 5V/VCC 连接

这些最终都应该连接到 Micro USB 分线板上的 VCC 引脚。

  1. 从右上开始的 LED 灯带
  2. 左下角的 LED 灯带
  3. arduino 上的 5V
  4. RTC 模块上的 VCC(从上到下第三个引脚)
  5. Photoresistor 光敏电阻
16

焊接地线

这些最终应该都连接到 micro USB 分线板上的 VCC 引脚。

  1. 从右上开始的 LED 灯带
  2. 左下角的 LED 灯带
  3. Arduino 接地
  4. RTC 模块 GND(底部引脚)
  5. 开关
  6. 请看细节照片。轻触开关有四个引脚,但只有一个触点,它们在内部成对连接。如果您焊接到地线的两个引脚上,请使用欧姆表检查以确认两个引脚都在开关的同一侧,否则会将其短路。
17

焊接剩余的连接点

  1. 10k 电阻。Arduino 引脚 A0 接地
  2. 光敏电阻。Arduino 引脚 A0
  3. RTC 的。模块上第二个到顶部的 Arduino 引脚 A4
  4. RTC 的。模块顶部引脚到 Arduino 引脚 A5
  5. 开关 1(模式/设置)。Arduino D2
  6. 开关 2 (向上)。Arduino D3
  7. 开关 3 (Down/Cancel)。Arduino D4
  8. LED 数据。Arduino D6

涂抹大量热胶以固定电线,特别是将来自光敏电阻的引线绝缘并固化开关。

最后,在 RTC 模块中插入 CR2032 电池。

18

上传固件

您需要一台装有 Arduino IDE 的 PC 才能将固件上传到 Arduino。以下是我使用的设置:

  1. 开发板:“Arduino Nano”
  2. 处理器: “ATmega328P (Old Bootloader)”
  3. 在早期的 IDE 版本中,我不需要选择旧的引导加载程序选项,但我相信有一个变化反映了对官方硬件的更新,而这些更新在手头的克隆板中不存在
  4. Port:插入板子后,您必须弄清楚是哪一个

需要 6 个库,它们都可以通过 IDE 中的 Tools -> Manage libraries 菜单找到:

  1. Wire (我相信默认包含)
  2. EEPROM(默认也包含在内)
  3. RTClib(Adafruit 版本 1.2.0)
  4. OneButton(Matthias Hertel 版本 1.2.0)
  5. SimpleTimer(Alexander Kiryanenko 版本 1.0.0)
  6. 更新:SimpleTimer(arduino playground https://playground.arduino.cc/Code/SimpleTimer/ 或 github https://github.com/marcelloromani/Arduino-SimpleTimer/tree/master/SimpleTimer)无论出于何种原因,我使用的这个库现在都无法通过库管理器获得。
  7. FastLED(Daniel Garcia 版本 3.1.6)

设置选项并安装库后,应该只需使用 “上传” 按钮编译并上传到设备即可。要验证设备是否正常工作,您可以打开串行监视器,在启动时应该有一条简短的消息。

INO
word_clock_final.ino
32.66KB
19

设置时间

您可能会注意到 clock 一开始没有显示任何内容 - 这是意料之中的。在启动时,它在 EEPROM 中查找保存的颜色和动画,但是因为内存中没有任何东西,所以它不知道该怎么做。按下按钮 2 或 3(上/下)选择颜色,它将更新显示。

要设置时钟:

  1. 按住 “Mode/Set” 进入时钟设置模式。应显示小时。
  2. 使用“Up”和“Down/Cancel”选择小时 (0-23)
  3. 按“模式/设置”从小时切换到分钟
  4. 使用“Up”(上升)和“Down/Cancel”(下降/取消)选择分钟 (0-59)
  5. 按住“Mode/Set”可保存时间并返回时钟显示

在 “Set” 模式下,按住 “Down/Cancel” 返回时钟模式,不保存新时间。

同样在 “Set” 模式下,“Mode/Set” 将在小时和分钟之间切换,以防您需要返回而不取消。

20

添加后盖

在我们之前安装的垫片的顶部边缘添加一些胶水,构建就结束了。我建议将此保留到最后,以便您有机会在全部密封之前解决任何接线问题。

21

完成

micro USB 连接器是为了方便 - 根据我的经验,找到漂亮的编织微型电缆比适合 Arduino 的 mini-USB 要容易得多。

操作简单:

  1. Mode/Set 选择时间更改动画
  2. 在颜色之间向上循环
  3. 向下循环显示另一个方向的颜色

亮度应根据房间内的光线自动调节,随着天黑而变暗。

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载