
Air001_ws2812B
简介
恋爱日记系列 —— 小灯板 !快给他她做一份吧 基于Air001MCU和WS2812B,基于KeilMDK开发;
简介:恋爱日记系列 —— 小灯板 !快给他她做一份吧 基于Air001MCU和WS2812B,基于KeilMDK开发;开源协议
:GPL 3.0
描述
/*************************************************************************
*最新优化11/28,
*迭代了一下,颜色矫正了一下,修改了模式三,新增模式7 ,模式8,细化亮度调节分辨率至0.02
*模式四的流星尾,可以有一些渐变效果
*B站工坊上了3块板子
【按键可控的小表白彩色灯环】 https://www.bilibili.com/video/BV1Xz4y1w7v9/?share_source=copy_web&vd_source=adedc4f4cae1d0c8a23ceb18cc9d9999
*以后代码更新在gitee,一周后,评论区更新,最新的代码;
**************************************************************************/
建议物料购买和环境搭建(附件BOM表有购买链接)
有Daplink的小伙伴建议合宙商城购买9.9的air001套装,没有daplink建议购买20元套装的Air001(内含Daplink仿真下载器)
请参照合宙的官方教程进行环境搭建;
Air001基于Keil MDK的用户手册 - LuatOS 文档
HSV色彩空间
由于RGB调整亮度的不变性以及各种颜色需要去查找才能确定RGB值,所以HSV空间是最适合去进行按键输入控制的;
H:色相 0-360 S:饱和度0-1(我代码设置最小0.1) V:亮度(代码设置最小0.1)
原理图设计说明
TypeC 供电& TP4056锂电池充电(老熟人,无须解释吧,用就完了)
LED_FULL 充满亮,LED_CHARGE 充电九亮
电池供电与Type_C供电切换(暑期训练营经典电路)
使用Pmos实现的供电切换 ,无Type_C ( VBUS = 0 ) ,VBAT 给S流过去了一点电压,然后 V-S > V-G,直接SD导通;由锂电池供电;
有VBUS时,G处电势高于S(有肖特基二极管),SD不导通,VBUS直供VIN1;
基于SY8088AAC的3.3V稳压电路
无论是5V还是锂电池电压输入,最后都降为3.3V输出,供给WS2812B和Air001
WS2812B供电全并联,Data引脚串联
按键 ( IO口配置上拉,所以按键都是接地的 ,抗干扰)
MCU主原理图
采用SWD烧录方式
含复位电路;
PCB设计说明
焊接Type-C 注意检查引脚是否短路,LED5一般还好,那个GND就是互通的;注意LED6的data脚不能接地了
虽然我挂的王大爷的歌,但是我最喜欢的是陆虎!!!(绿色)
烧录说明
两次烧录,实现flash数据保存
第一次烧录,取消InitializeRGBArray();的注释;
第二次烧录,注释initializeRGBArray();重新编译后烧录
按键模式说明
仅单色显示模式可以调整HSV,多色是我自定义写在flash里的,想改可以在flah.c中InitializeRGBArray( )函数中修改;
H:0-360 色相 按键 S:0-1 饱和度按键 0代表白光 V:0-1 亮度按键 1最亮
模式切换M键
mode1:单色全部显示 ,具有flash保存功能,这次调好的,切换至Mode2后就可以保存,断电上电后,为上一次调整过的颜色,最喜欢紫色了
mode2: 展示模式,先后顺序:彩虹环连续推挤消失 -- 挨各出发 --等等,最后是一个随机灯效果,随机亮,随机灭,随机颜色(此处颜色仅为我flash中初试化的彩虹色)
mode3:彩虹圈旋转
mode4:流星尾,单色可调
mode5:呼吸灯旋转,单色可调
mode6:3*3 ,9个灯的旋转,单色可调
加减切换:R键 reverse
注意事项
想不出好的Mode idea;
mode 4\5\6按道理也能进行调整后的数据保存,不过每次开启,都会将我所有存的flash信息都乱掉,连Mode1都不能保存,所以我关闭了;
演示视频
提示:演示视频上传附件即可,附件最大只能长传50M的文件,大于50M的文件可放置在其他网盘或视频网站上,只需把地址链接放入这里即可
其它附件上传
提示:参加活动的作品必须把工程相关的程序附件上传至开源平台或个人的代码存储云端,附件最大支持50M上传(请勿在立创工作区上传,有限制)
设计图

BOM


评论