电路设计论坛
直播中

康桃花

7年用户 925经验值
私信 关注
[资料]

自制一个有创意的微型圣诞树

描述
Xmas Tree v1 - 是一个有创意的微型圣诞树,具有 16 种不同的动画效果和 16 种亮度渐变,保存在 EEPROM 中。圣诞树的核心是 16 个 WS2812B 地址 LED,ST 的 8 位微控制器上的大脑将适合 STM8S003F3P6 或 STM8S103F3P6。



圣诞树效果:
  • 用填充物开火
  • 五彩纸屑
  • 彩虹
  • 带闪光的彩虹
  • 戏剧像素追逐
  • gorenje 火焰的动画
  • 逐像素出现和消失的效果
  • 3 种变化的基于正弦的效果
  • 渐变填充 3 种变化
  • 调色板“森林的颜色”
  • 调色板“海洋的颜色”
  • 调色板“云的颜色”
  • 调色板“彩虹的颜色”
  • 调色板“迪斯科的颜色”
  • 调色板“紫绿色”
  • 调色板“红、白、蓝”

印刷电路板项目是在 Altium Designer 程序中开发的。



顶层:


底层:


我在家里焊接,我不能说安装WS2812B LED很容易,因为如果你不小心触摸到它们身上的烙铁头,它们会立即融化,结果并不好。但是,如果你愿意,一切皆有可能,我做到了,所以你会成功!

为了方便LED的焊接,我在上面铺了一层丝印Top Overlay,一个三角形的切片清晰可见,注意LED VD7-VD9的位置。



安装完所有电子元件后,您应该得到如下信息:





硬件和软件说明:
圣诞树是在 TSSOP-20 外壳中的 8 位 STM8S103F3P6 微控制器上制作的。该项目是专门为这个控制器制作的,但正如我一开始所说,你可以放心地放置STM8S003F3P6。我亲自检查了一切正常。数据从 PD3 端口输出到地址 LED。按钮连接到 PD2 端口。最初,像往常一样,幻想正在肆虐:) 我认为它可以用于切换模式,例如快/慢和亮度调节。后来,随着程序的增长,控制器中的空间越来越小:)(和往常一样),效果看起来很可爱,没有多余的东西,正如你最终意识到的那样,只剩下亮度调整。亮度分为16级。现在我会告诉你如何设置它。

  • 关闭圣诞树(如果它打开)。
  • 按下按钮并打开电源而不松开。
  • 一直按住按钮,直到圣诞树打开。
  • 圣诞树打开后,松开按钮,几秒钟后,当前亮度级别将显示为绿色。
  • 短按按钮以设置所需的亮度级别。层次的变化是循环的。
  • 要保持亮度,请按住按钮直到红点填满,一旦你注意到它们,松开按钮。树将自行重启。

亮度级别存储在 EEPROM 中 - 对于那些不知道的人来说,这就是 MK 内部的非易失性存储器。这是什么意思?这意味着您不需要在每次打开圣诞树时都设置亮度,它只是从存储单元中读取。

微控制器中不使用全局中断。主程序在无限循环中工作,while(1),效果是顺序变化的。每个效果显示大约5-15秒,包括静态图像的所有暂停,整个工作周期持续大约5分钟,然后一切从头开始,以此类推。MK 由内置的 16 MHz 振荡器供电。为了编写效果,以 Arduino FastLED 的公共库为基础,将代码移植到应用的 MK。



更多回帖

发帖
×
20
完善资料,
赚取积分