【行空板 Python编程学习主控板】五:获取加速度计数据控制RGB LED
[复制链接]
本帖最后由 数码小叶 于 2022-11-20 21:43 编辑
行空板板载了一颗六轴传感器ICM20689,三轴加速度三轴陀螺仪
这颗芯片要是自己控制起来还是有点难度和耗时的,好在pinpong库已经集成了对ICM20689的支持,因此可以直接使用其接口函数:
accelerometer.get_x()
accelerometer.get_y()
accelerometer.get_z()
gyroscope.get_x()
gyroscope.get_y()
gyroscope.get_z()
来获取XYZ轴对应的加速度计值和陀螺仪值
行空板在PCB板上标示了对应的加速度方向
那么,当正视屏幕的时候,其方向就是如下所示
利用mind+的终端,打印出实际的晃动值验证一下:
print("-------accelerometer-------")
print(accelerometer.get_x())
print(accelerometer.get_y())
print(accelerometer.get_z())
print("---------gyroscope---------")
print(gyroscope.get_x())
print(gyroscope.get_y())
print(gyroscope.get_z())
print("---------------------------")
要控制LED,只需要加速度的值就够了,就可以判断出板子朝哪个方向倾斜,再简化成单个轴的加速度分量来控制。板子上有6个RGB LED,垂直是90度,左倒下是0度,右倒下是180
这样,只需要获取某个轴的加速度分量,就可以判断出对应的角度,来控制不同数量的LED。假设0到90度时,角度往左减少,LED灯逐渐熄灭,往右点亮,90到180度同理,但是灯的方向相反
之前都是静置的使用行空板,因此觉得USB线连接还是挺方便的,但是在要获取陀螺仪数据时,可能是USB口松动,只要一晃动行空板,行空板就和电脑的连接中断了,开始用胶带沾着解决了,后来才想起来用wifi连接,摆脱胶带的束缚了
这段时间使用下来,感觉行空板的一大不方便的地方,就是供电方式。不能金手指供电,也没提供电源的连接口,只能usb口供电,这个在使用的时候不方便就凸显出来了。
|