Instructables 模块化显示时钟
模块化显示时钟
- 通过伽马波
- 该项目利用以前的项目模块化显示元件制作数字时钟,使用四个模块连接在一起并由 Microbit 和 RTC 控制。
- 补给品:
- Microbit V2(首选,因为内置扬声器,V1 可以工作,但需要外部发声器。)
- DS3231 实时时钟
- 切换单刀单掷
- Kitronik 边缘连接器分线
- Jumper Jerky Junior F/M – 数量 20
- Jumper Jerky Junior F/F – 数量 4
- 跳线 Jerky F/F – 数量 3
- Jumper Jerky F/M – 数量 3
- 470R电阻
- 1000uF电容
- 需要直角接头 2 x(3 路 x 1 行)。
- WS2812Neopixel 按钮 LED * 56 数量。
- 漆包铜线 21 AWG(直径 0.75 毫米)或其他绝缘线。
- 剥离板
- 螺丝 M2
- M2 螺丝 8mm – 数量 12
- M2 螺丝 6mm – 数量 16
- M2 螺栓 10mm – 数量 2
- M2 螺母 – 数量 2
- M2 垫圈 – 数量 2
- M2 六角空间 5mm – 数量 2
- 螺栓 M3
- M3 垫圈 – 数量 14
- M3 螺栓 10mm – 数量 2
- M3 螺栓 25mm – 数量 4
- M3 螺母 – 数量 12
- 六角螺柱 M3
- M3 六角垫片 5mm – 数量 2
- M3 六角垫片 10mm – 数量 4
- 直角支架 (15(W) x 40(L) x 40(H) mm) – 数量 2
- 购买一系列值而不是单个值可能会证明更具成本效益,除非您已经拥有它们。 某些组件的 MOL 也可能大于组件列表中指定的数量。
- 3D 打印机
- 白色灯丝 – 具有最大的显示灵活性。
- 黑丝——用于支撑板。
- 2mm钻头
- 3mm钻头
- 5 毫米钻套件
- 钻头
- 锯
- 钳
- 钢丝钳
- 烙铁
- 焊接
- 砂纸
- 螺丝刀
- 了解您的工具并遵循推荐的操作程序,并确保穿戴适当的 PPE。
- 与本项目中使用的任何供应商没有关联,请随意使用您喜欢的供应商并替换适合您自己偏好或供应的元素。
- 链接在发布时有效。
- 第 1 步:底板条
- 看: 模块化显示元件 (MDE)
- 创建时钟显示需要四个“模块化显示元件”,这些元件与从较大基板上切割下来的基板条固定在一起。
- 底板条带尺寸为 32(宽)x 144(长)毫米或 4 x 18 个短柱,每个都重叠两个 MDE 连接到 MDE 上的短柱。 但是,为了增加强度,四颗 M2 x 8mm 螺钉被安装在靠近穿过底板并进入 MDE 的角处。
- 第 2 步:原理图
- 该示意图显示了用于控制包含 56 个 Neopixels 的 MDE 的组件。
- 控制组件包括 Microbit、RTC、分线板、开关和保护电路。
- 大部分焊接都集中在 Neopixels 上,而控制组件主要与跳线连接。
- 第 3 步:编码
- 代码是在 MakeCode 中创建的。
- “oonn ssttaarrtt”pprroocceedduurree..
- 初始化 56 个 LED 的 Neoplxel 灯带
- 显示标题消息。
- 初始化 segment_list,其中包含要显示的每个数字的段名称。 元素 [0] 中存储的数字 0 = 0111111
- 元素 [1] 中存储的数字 1 = 0000110
- 元素 [9] 中存储的数字 9 = 1101111
- 此外。
- 存储在元素 [10] 中的数字 10 = 0000000 用于数字消隐。
永远的程序
- 调用检查 P1 的“设置模式”,如果高则启用时间设置,否则显示当前时间。
- 调用“Time_split”,它将小时和分钟的两个数值连接成一个 4 字符的字符串,在任何小于 10 的数字前加上前导零。
调用“pixel_time” - 从最后一个字符开始依次提取 4 个字符中的每一个到 segment_value
- 然后 Digit 包含 segment_value 引用的 segment_list 中的值。
- (如果 segment_value = 0 则数字 = 元素 [0] = 0111111)
- Inc = 索引 x (LED_SEG) x 7)。 其中索引 = 引用 4 个字符中的哪一个,LED_SEG = 每段的 LED 数,7 = 数字中的段数。
- 该物种是 LED 的开始,可针对适当的特性进行控制。
- for 元素将数字中的每个数字依次分配给值。
- 如果值 =1,则由 inc 分配的像素设置为红色并打开,否则关闭。
- 由于每个段需要两个 LED,所以这个过程会重复 LED_SEG 次。
- (例如,如果 Hours 单位是 9,index = 0,digit = 1011111 [value = 1, inc = 0 & inc = 1],[value=0, inc = 2 & inc = 3] .... [value=1,公司 = 12 & 公司 = 13])
- 小时十位 [索引 =1,inc 范围 14 到 27],分钟单位 [index =2,inc 范围 28 到 41],分钟十位 [index =3,inc 范围 42 到 55]。
- 一旦 7 个值中的每一个都被处理并发送到条带,就会显示更改。
- 引入延迟以防止 icker。
- 在按钮 AA”
- 如果 set_enable = 1,这会设置小时数
- 在按钮上 BB”
- 如果 set_enable = 1 “long bbuuttttoonn AA++BB”,这将设置分钟
- 这会调用“设置时间”,它根据按钮 A 和 B 分配的值设置时间。
- https://www.instructables.com/F4U/P0K0/L9LD12R3/F4UP0K0L9LD12R3.txt
第 4 步:后面板
这些组件连接到底板 (95(W) x 128(L) mm),底板用 M3 X 25mm 螺栓和 10mm 支架连接到 MDE 的背面。 四个螺栓穿过 Neopixel 支撑板上的孔,支架固定在角落的基板上,基板上有 3mm 的孔以与螺栓对齐。 边缘连接器分线器 (2 x 3mm)、RTC (2 x 2mm) 和开关的定位和钻孔确保留出空间 (20 x 40mm),以安装用作支脚的直角支架。 与 RTC 的连接通过 4 个 Junior 跳线 F/F 实现,RTC 用 2 个 M2 螺栓固定。 使用 2 个 Junior 跳线 F/M 连接到开关,开关通过 5mm 孔安装。 Neopixels 的 CR 保护电路的连接是通过 3 个跳线 F/F 连接到 Neopixels 的 3 个跳线 F/M,它通过电缆扎带连接到板上,电缆扎带穿过板上的一个孔。
用 4 个螺栓将角支架支脚安装到底板上。 (用于固定底板的下角 M3 螺栓可用于通过支架下部孔中的第二个螺栓将支脚固定到位。为防止刮伤时钟所在的表面,请将棍子固定在垫子上或一对胶带圈。现在可以将底板安装到角支撑螺栓上并用螺母固定。
- 第 5 步:操作
- 通过将 USB 电缆直接连接到 Microbit 来提供电源。
- SSeettttiinng tthee cclloockk..
- 在设置时钟之前,请确保 RTC 装有电池,以便在/如果断电时保留时间。 默认时间格式为 24 小时模式。
- 将开关移至设定时间位置,显示屏上将显示一个加号。
- 按下按钮 A 小时。 (0 到 23)
- 按下按钮 B 分钟。 (0 到 59)
同时按下按钮 A 和 B 以设置时间,将显示输入的时间值。 - 将开关从设定位置移开。
- AAtt sswwiittcchh oorr aafftteer sseettttiinngg。
- 短暂延迟后,显示将更新为当前时间
- 步骤6:最后
将几个较小的项目组合在一起形成一个更大的项目。 希望您对这个和前面的相关项目感兴趣。
- 很棒的项目
- 谢谢,非常感谢。
- 好项目!
- 谢谢。
- 很酷的时钟。 我喜欢它运行在 Micro:bit 上!
- 谢谢,Micro:bit 用途广泛,我在我的大多数时钟项目中都使用过它。
文件/资源
![]() |
instructables 模块化显示时钟 [pdf] 用户手册 模块化显示时钟,显示时钟 |