如何使用 PSOC™ Edge E84 AI 套件上的 6 轴 IMU 传感器,通过 MicroPython 阅读运动数据并检测倾斜
如今,运动感应无处不在——从智能手机和可穿戴设备到无人机和机器人。能够检测运动、方向和旋转,为众多交互式应用打开了大门。
在本次快速演示中,我们将使用PSOC™ Edge E84 AI套件内置的6轴IMU。该板集成了博世BMI270芯片,集成了3轴加速度计和3轴陀螺仪。通过MicroPython,我们只需几行代码即可读取运动数据并创建交互式应用程序。
传感器的工作原理
加速度计可测量沿X、Y和Z轴的加速度。当电路板平放在桌面上时,通常在Z轴上读取约9.81 m/s²,这对应于重力。
陀螺仪以每秒度数测量旋转速度。如果你快速转动木板,就会看到陀螺仪数值出现突变。
这些测量共同使系统能够检测到:
•倾斜
•运动
•旋转
•方向变化
这正是用于手势识别、稳定系统和运动控制接口的感应类型。
硬件
BMI270 集成在 PSOC™ Edge E84 AI 套件中,通过 I²C 进行通信。只需使用 USB 将该板连接到您的计算机即可。
软件
首先,确保板子上已安装 BMI270 MicroPython 驱动程序,然后导入所需的库:
对于bmi270模块,您可以进入“工具”>“管理软件包”>搜索bmi270,然后点击安装,如下图所示:
接下来,使用文档中提供的正确引脚设置I2C连接,然后创建BMI270传感器的实例。
然后设置一个无限循环(while True:),持续读取并显示传感器的实时加速度数据:
•bmi.accel():读取三个轴(X、Y、Z)的线性加速度(单位:m/s²),表示运动方向或倾斜角度。
•bmi.gyro():读取每个轴的旋转速度,单位为每秒度(°/s),可检测旋转和转动。
在串行监视器中,我们可以看到两组传感器数据被集中显示。当你倾斜、摇晃或旋转电路板时,可以实时观察数值的变化情况。
互动演示:倾斜控制游戏
为了演示实际的运动控制,我们来制作一个简单的游戏:倾斜棋盘会使小球沿轨道移动。
关键在于利用Y轴加速度来检测倾斜方向:
•监控Y轴加速度以检测板面倾斜
•当倾斜超过±0.3 g时,球会相应移动
•球的位置实时更新,模拟物理表面的重力
恭喜!您已成功使用 PSOC™ Edge E84 AI 开发套件探索了运动感应功能!只需几行 MicroPython 代码,您就能:
•检测倾斜、移动和方向变化
•构建像我们的倾斜球游戏一样的交互式运动控制应用程序
这仅仅是个开始——运动感应开启了无限的创意可能。无论你是在开发手势控制界面、健身追踪器、智能物联网设备,还是自己的游戏手柄,你在这里学到的知识都将为你提供有力支持。
代码一:
代码二:
本文编译自hackster.io





