*参阅规划部分:供电部分的规划参阅了@小煜哥哥的IP5306简易18650充电宝计划
选用MPU6050模块来获取电子流麻中,粒子的水平缓笔直加速度,经过I2C协议将收集的加速度数据传到单片机。
选用IP5306芯片为一节18650锂电池充电,并将锂电池升压到5v,为LED屏幕及单片机供电
运用MPU6050_GetData函数即可读取当时水平加速度和笔直加速度的值。
留意I2C运用的SDA和SCL引脚,都要在程序中设置为开漏输出而不是推挽输出。别问我怎样知道的
这部分代码 主要对粒子进行初始化,并界说单个粒子的信息,对其进行赋值。界说的内容有:加速度,速度,位移,方位,色彩等。
咱们在高中物理学过,加速度在时刻上的累计便是速度,速度在时刻上的累计便是位移。
只需要界说一个最小时刻单位,将每次循环得到的加速度乘以这个最小的时刻单位,再累加起来就可以取得速度。
本项目总共有512个粒子。也便是说,将上一末节的过程重复512次,就可以完成一次更新悉数粒子。
本末节的函数写在while(1)循环中,这使得程序能一向更新一切粒子的状况,流沙就可以在LED屏幕上流动起来了。