这次我将向您展示如何使用 WS2812 LED 灯带和 MPU6050 加速度计和陀螺仪模块制作平衡 LED 点。
该模块物理连接到 LED 灯带,因此当 LED 灯带保持一定角度时,芯片测量 LED 灯带的角度,Arduino 使用此信息更新虚拟对象的位置,就好像它是一个平衡在横梁上的球,如果横梁保持一定角度,它会从一侧滚动到另一侧。虚拟对象的位置在 LED 条上指示为单个点亮的 LED。代码取自 Roel Arits 博客,硬件和软件略有改动。具体来说,我使用 Arduino Nano 和带 37 个 LED 的 LED 灯条。
要更新在重力影响下落向地球的虚拟物体的位置,我们使用以下公式:
y = y0 + (V0 * t) + (0.5 * a * t^2)
y = 以米为单位的行进距离
y0 = 以米为单位的起始距离
v0 = 以米/秒为单位的起始速度
a = 以米/秒为单位的加速度(重力)^2
t = 以秒为单位的时间
草图 (.ino) 使用的所有驱动程序都放在与草图相同的文件夹中,而不是使用库。MPU6050 SDA 引脚连接到 A4,SCL 连接到 A5,中断输出 (INT) 用于在有新数据可用时通知 Arduino。带有 37 个 LED 的 WS2812B neopixel LED 灯条直接由 5V 电源供电,并有 1 条数据线 (DIN) 连接到 Arduino 的输出端。这个项目根本没有实际用途,而是作为实施与重力相关的物理公式的练习而发起的。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !