数码小叶 发表于 2022-11-20 21:44

【行空板 Python编程学习主控板】五:获取加速度计数据控制RGB LED

本帖最后由 数码小叶 于 2022-11-20 21:43 编辑

<p><span style="font-size:16px;">行空板板载了一颗六轴传感器ICM20689,三轴加速度三轴陀螺仪</span></p>

<p></p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p><span style="font-size:16px;">这颗芯片要是自己控制起来还是有点难度和耗时的,好在pinpong库已经集成了对ICM20689的支持,因此可以直接使用其接口函数:</span></p>

<pre>
<code>accelerometer.get_x()
accelerometer.get_y()
accelerometer.get_z()

gyroscope.get_x()
gyroscope.get_y()
gyroscope.get_z()
</code></pre>

<p><span style="font-size:16px;">来获取XYZ轴对应的加速度计值和陀螺仪值</span></p>

<p>&nbsp;</p>

<p><span style="font-size:16px;">行空板在PCB板上标示了对应的加速度方向</span></p>

<p></p>

<p>&nbsp;</p>

<p><span style="font-size:16px;">那么,当正视屏幕的时候,其方向就是如下所示</span></p>

<p></p>

<p>&nbsp;</p>

<p><span style="font-size:16px;">利用mind+的终端,打印出实际的晃动值验证一下:</span></p>

<pre>
<code>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("---------------------------")</code></pre>

<p></p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p><span style="font-size:16px;">要控制LED,只需要加速度的值就够了,就可以判断出板子朝哪个方向倾斜,再简化成单个轴的加速度分量来控制。板子上有6个RGB LED,垂直是90度,左倒下是0度,右倒下是180</span></p>

<p></p>

<p><span style="font-size:16px;">这样,只需要获取某个轴的加速度分量,就可以判断出对应的角度,来控制不同数量的LED。假设0到90度时,角度往左减少,LED灯逐渐熄灭,往右点亮,90到180度同理,但是灯的方向相反</span></p>

<p><iframe allowfullscreen="true" frameborder="0" height="510" src="https://training.eeworld.com.cn/shareOpenCourseAPI?isauto=true&amp;lessonid=34858" style="background:#eee;margin-bottom:10px;" width="700"></iframe></p>

<p>&nbsp;</p>

<p><span style="font-size:16px;">之前都是静置的使用行空板,因此觉得USB线连接还是挺方便的,但是在要获取陀螺仪数据时,可能是USB口松动,只要一晃动行空板,行空板就和电脑的连接中断了,开始用胶带沾着解决了,后来才想起来用wifi连接,摆脱胶带的束缚了<img height="32" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan34.gif" width="32" /><img height="32" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan34.gif" width="32" /></span></p>

<p><span style="font-size:16px;">这段时间使用下来,感觉行空板的一大不方便的地方,就是供电方式。不能金手指供电,也没提供电源的连接口,只能usb口供电,这个在使用的时候不方便就凸显出来了。</span><br />
&nbsp;</p>

<p>&nbsp;</p>

littleshrimp 发表于 2022-11-20 22:46

<p></p>

<p>视频好像出问题了</p>

soso 发表于 2022-11-21 09:16

littleshrimp 发表于 2022-11-20 22:46
视频好像出问题了

<p>看看现在可以了吗?我电脑和手机试没问题了。</p>

damiaa 发表于 2022-11-25 16:35

<p>不错,不错。</p>
页: [1]
查看完整版本: 【行空板 Python编程学习主控板】五:获取加速度计数据控制RGB LED