Navigation menu
新闻中心
有闲置屏幕?别丢!做个电子流麻,美汁汁!
家里有闲置的屏幕?别丢!本文援用地点:能够用来做一个电子流麻!道理很简略,也很风趣。岂但好玩解压!还能学一学粒子活动算法!基于STM32F407天空星开辟板计划采取粒子活动算法,经由过程把持LED灯珠的亮灭,模仿流麻活动。采取LED点阵屏,2.5mm间距;辨别率32×64PCB板尺寸8mm*16mm,支撑收费打样那么,想实现实在的流麻后果,怎样计划软硬件?道理是啥?怎样筹备DIY物料?上面一一分享道理图1道理图2PCB图1*参考计划局部:供电局部的计划参考了@小煜哥哥的IP5306浅易18650充电宝计划1.硬件任务道理采取MPU6050模块来获取电子流麻中,粒子的程度跟垂直减速度,经由过程I2C协定将收罗的减速度数据传到单片机。单片机依据减速度数据来盘算全部粒子的地位,并将成果表现到LED屏幕上。2.计划阐明①对于供电采取IP5306芯片为一节18650锂电池充电,并将锂电池升压到5v,为LED屏幕及单片机供电②为啥板子上有四个按键开关?此中右边三个是临时不用到的,能够不焊接。已知,硬件计划,是为了“装下”流麻。那软件计划,就是为了“实现”流麻。详细怎样做?应用keil5搭配CubeMX来编程,应用的库是HAL库。*MPU6050的顺序我参考了@江科年夜的STM32教程中软件I2C读写MPU6050的源码。1.MPU6050模块应用MPU6050_GetData函数即可读取以后程度减速度跟垂直减速度的值。留神I2C应用的SDA跟SCL引脚,都要在顺序中设置为开漏输出而不是推挽输出。别问我怎样晓得的2.界说构造体并初始化啥意思?这局部代码 重要对粒子停止初始化,并界说单个粒子的信息,对其停止赋值。界说的内容包含:减速度,速率,位移,地位,色彩等。值得一提的是!初始化是指,在这一步,给流麻的像素块上色的进程。3.顺次更新那怎样顺次更新粒子的减速度、速率、位移?咱们在高中物理学过,减速度在时光上的累计就是速率,速率在时光上的累计就是位移。或许换成更谨严一点的描写。减速度对时光的积分为速率,速率对时光的积分为位移。在顺序中,能够很便利的实现积分的功效。只要要界说一个最小时光单元,将每次轮回失掉的减速度乘以这个最小的时光单元,再累加起来就能够失掉速率。同理,累减速度能够失掉位移。当位移超越1时,就代表粒子应当挪动一格。4.更新全部粒子的信息本名目统共有512个粒子。也就是说,将上一大节的步调反复512次,就能够实现一次更新全体粒子。本大节的函数写在while(1)轮回中,这使得顺序能够一直更新全部粒子的状况,流沙就能够在LED屏幕下流动起来了。1.基本物料清单表2.弥补清单参考材料:[1]https://oshwhub.com/lemon11111/electronic-liuma
申明:新浪网独家稿件,未经受权制止转载。 -->