instructables-Modular-Display-Clock-标志

Instructables 模块化显示时钟

instructables-Modular-Display-Clock-产品

模块化显示时钟

  • 通过伽马波
  • 该项目利用以前的项目模块化显示元件制作数字时钟,使用四个模块连接在一起并由 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。
  • 与本项目中使用的任何供应商没有关联,请随意使用您喜欢的供应商并替换适合您自己偏好或供应的元素。
  • 链接在发布时有效。指令-模块化-显示-时钟-fig-1 指令-模块化-显示-时钟-fig-2
  • 第 1 步:底板条
  • 看: 模块化显示元件 (MDE)
  • 创建时钟显示需要四个“模块化显示元件”,这些元件与从较大基板上切割下来的基板条固定在一起。
  • 底板条带尺寸为 32(宽)x 144(长)毫米或 4 x 18 个短柱,每个都重叠两个 MDE 连接到 MDE 上的短柱。 但是,为了增加强度,四颗 M2 x 8mm 螺钉被安装在靠近穿过底板并进入 MDE 的角处。指令-模块化-显示-时钟-fig-3 指令-模块化-显示-时钟-fig-4 指令-模块化-显示-时钟-fig-5
  • 第 2 步:原理图
  • 该示意图显示了用于控制包含 56 个 Neopixels 的 MDE 的组件。
  • 控制组件包括 Microbit、RTC、分线板、开关和保护电路。
  • 大部分焊接都集中在 Neopixels 上,而控制组件主要与跳线连接。指令-模块化-显示-时钟-fig-6
  • 第 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 分配的值设置时间。指令-模块化-显示-时钟-fig-7指令-模块化-显示-时钟-fig-8
  • 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 螺栓可用于通过支架下部孔中的第二个螺栓将支脚固定到位。为防止刮伤时钟所在的表面,请将棍子固定在垫子上或一对胶带圈。现在可以将底板安装到角支撑螺栓上并用螺母固定。 指令-模块化-显示-时钟-fig-9 指令-模块化-显示-时钟-fig-10 指令-模块化-显示-时钟-fig-11 指令-模块化-显示-时钟-fig-12 指令-模块化-显示-时钟-fig-13 指令-模块化-显示-时钟-fig-14

  • 第 5 步:操作
  • 通过将 USB 电缆直接连接到 Microbit 来提供电源。
  • SSeettttiinng tthee cclloockk..
  • 在设置时钟之前,请确保 RTC 装有电池,以便在/如果断电时保留时间。 默认时间格式为 24 小时模式。
  • 将开关移至设定时间位置,显示屏上将显示一个加号。
  • 按下按钮 A 小时。 (0 到 23)
  • 按下按钮 B 分钟。 (0 到 59)
    同时按下按钮 A 和 B 以设置时间,将显示输入的时间值。
  • 将开关从设定位置移开。
  • AAtt sswwiittcchh oorr aafftteer sseettttiinngg。
  • 短暂延迟后,显示将更新为当前时间指令-模块化-显示-时钟-fig-15
  • 步骤6:最后
    将几个较小的项目组合在一起形成一个更大的项目。 希望您对这个和前面的相关项目感兴趣。

指令-模块化-显示-时钟-fig-16

  • 很棒的项目
  • 谢谢,非常感谢。
  • 好项目!
  • 谢谢。
  • 很酷的时钟。 我喜欢它运行在 Micro:bit 上!
  • 谢谢,Micro:bit 用途广泛,我在我的大多数时钟项目中都使用过它。

文件/资源

instructables 模块化显示时钟 [pdf] 用户手册
模块化显示时钟,显示时钟

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *