×

魔方灯开源案例

消耗积分:0 | 格式:zip | 大小:0.54 MB | 2022-11-15

h1654155275.6372

分享资料个

描述

前段时间我在玩魔方,想用 RGB LED 代替方块。这导致了一个小床头灯,它可以动画魔方的求解。它也可以通过蓝牙进行控制,尽管它目前只支持基本命令。

3D打印

在组装 PCB 之前先进行 3D 打印,因为 LED 需要与Rubik Matrix Top & Sides.stl以及Rubik Matrix Bottom.stl 对齐

3D 打印的切片机设置

Rubik Lamp Cover.stl” - 白色,0.2mm 层高,无支撑

“Rubik Matrix Top & Sides.stl” - 5 关,黑色,0.2 毫米层高,无支撑

“Rubik Matrix Bottom.stl” - 0.2 毫米层高,无支撑 - 用白色打印前两层,其余用黑色打印。

Rubik Base Top.stl” - 白色,0.2mm 层高,无支撑

Rubik Base Bottom.stl” - 白色,0.2mm 层高,无支撑

组装 - 步骤 1

顶部和侧面 PCB 容纳 9 个 WS2812B RGB LED、6 个 0.1uF 0805 电容器和 5 个 0 OHM 0805 电阻器。底部 PCB 少了一个 LED 以提供支撑。我已经包含了 Eagle 文件,以防您想将电路板商业化,或者像我一样自己制作。我使用了碳粉方法。

poYBAGNxjJKAbzbmAADluJAfdq8261.jpg
顶部和侧面 PCB 和底部 PCB
 

我发现在焊接 SMD 元件时使用焊膏比使用卷盘中的焊料更容易。在将 LED 焊接到位之前,使用 3D 打印的“Rubik Matrix Top & Sides.stl”将 LED 尽可能靠近地对齐。

组装 - 第 2 步

将顶板和侧板连接在一起。我用我的WS2812B 测试仪来测试每个模块,因为我给它们接线。接线后,将模块放入灯罩中。

poYBAGNxjJSAHui9AAEG7Pj8vGo099.jpg
连接顶板和侧板并将它们放入灯罩中。
 

组装 - 第 3 步

将 2200uF/10V 薄型电容器(任何大于 470uF 的电容器都可以,但它确实需要适合立方体)到底部 LED 板。确保它离电路板足够远,以允许轴架的高度和一些额外的空间来让电线穿过该轴。

poYBAGNxjJeAKgiMAAFqFccxtIA199.jpg
添加存储电容器并连接底部 PCB
 

将底部 PCB 连接到立方体的其余部分,并将 3 根电线连接到轴中间的底部。

组装 - 第 4 步

拆下底部 PCB 并将黄铜管安装到底部。您可能需要使用一些力才能将其完全插入安装座。您还需要支撑您将杆插入的底座,否则它会断裂。还将杆安装到底座顶部。

pYYBAGNxjJmAIJtOAACVoZvdtG4732.jpg
将黄铜棒安装到灯底和灯座上
 

安装底部 PCB 并将三根电线从黄铜管的中间穿过。使用强力胶将底部粘到灯罩上。我建议您在执行此操作之前再次测试您的 LED。

组装 - 步骤 5

组装微处理器板。我发现在焊接 SMD 元件时使用焊膏比使用卷盘中的焊料更容易。在将稳压器固定到电路板上之前,请将其设置为 5V。开关,ATtiny1614,0欧0805电阻和330欧0805电阻焊接在PCB背面。一个 3 针公头和稳压器位于 PCB 的顶部。

将 MPU 板、HC06 蓝牙板和 DC 电源插座连接起来。热胶板到位。

pYYBAGNxjJyAchM1AAGVyJPXBcU331.jpg
将微处理器板和热胶与 HC06 蓝牙模块一起组装到底座中
 

编程

ATtiny1614 是新一代 ATtiny 微处理器的一部分。与 ATtiny85 等早期系列不同,新品种使用 RESET 引脚对 CPU 进行编程。要对其进行编程,您需要一个 UPDI 程序员。我用 Arduino Nano 做了一个。您可以在Create Your Own UPDI Programmer中找到完整的构建说明。它还包含将 megaTinyCore 板添加到 IDE 的说明。

poYBAGNxjJ6AfEZiAADCj7FXMhw610.jpg
UPDI 编程器连接到最终单元进行编程
 

在 IDE 中安装板后,从“工具”菜单中选择它。

poYBAGNxjKGAA0r0AAEmJS9W4Ww559.png
在 IDE 中选择 ATtiny1614 板
 

选择板、芯片、时钟速度、Arduino Nano 连接的 COM 端口和编程器

Programmer 需要设置为jtag2updi (megaTinyCore)

打开草图并将其上传到 ATtiny1614。

使用按钮控制灯

一个按钮打开和关闭灯,在不同模式之间切换,还允许您更改亮度。

要打开本机,请按下按钮。它将以上次关闭时的模式出现。如果您在 3 秒延迟后再次按下按钮,它将关闭灯泡。(时间由 NEXT_BUTTON_TIMEOUT 决定)

一旦设备打开,如果您按住按钮超过 1/2 秒,亮度将以每步 50 毫秒的速度增加。一旦达到最大亮度,它将转到最小亮度。(时间由 BRIGHTNESS_INITIAL_TIMOUT 和 BRIGHTNESS_TIMOUT 确定)

开灯后,若3秒内再次按下(短按)按键,将在不同模式间切换。这些模式是:

  • LED 全白
  • LED 全红
  • LED 全绿
  • LED 全蓝
  • 每个 LED 面都以不同的颜色开始,并在色轮中循环
  • 所有 LED 面都是相同的颜色并在色轮中循环
  • 动画魔方(见视频)
  • 蓝牙控制魔方

使用蓝牙控制灯泡

必须先打开灯泡,蓝牙才能工作。连接到 HC06(在可用蓝牙设备列表中显示为 HC05)并调用串行终端应用程序。(在 Play 商店中有很多可供选择)。连接后,您只需发送单个字母命令。这些是:

R or r - Switch to RED light
G or g - Switch to GREEN light
B or b - Switch to BLUE light
W or w - Switch to WHITE light
J or j - Switch to RAINBOW SIDE light
K or k - Switch to RAINBOW CUBE light
C or c - Switch to CUBE mode

当您切换到 CUBE 模式时,仅适用以下命令。此外,大写字母顺时针旋转面、切片或立方体,而小写字母逆时针旋转面、切片或立方体。

F or f - Rotate Front face
B or b - Rotate Back face
U or u - Rotate Upper face
D or d - Rotate Lower face
L or l - Rotate Left face
R or r - Rotate Right face

M or m - Rotate Middle vertical slice
S or s - Rotate Inner middle slice
E or e  - Rotate Middle horizontal slice

X or x - Rotate Cube about the X axis
Y or y - Rotate Cube about the Y axis
Z or z - Rotate Cube about the Z axis

W or w - Switch to WHITE light (leaves CUBE mode)

您还可以发送“字符串”命令。这仅在多维数据集模式下才有意义。例如,您可以发送“Fru”,表示正面顺时针旋转,然后右面逆时针旋转,最后上面也逆时针旋转。

结论

通过结合蓝牙连接,它打开了通向未来应用程序的大门,在该应用程序中,立方体可以通过触摸屏进行操作。我还想写一个合适的魔方求解器。

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !