【微雪RP2040双核开发板】基于MicroPython自定义羽毛球拍击计数器
<div class='showpostmsg'><p><span style="font-size:16px;">1、使用现有的硬件和开发环境可以</span>自定义羽毛球拍击计数器为例<span style="font-size:16px;">简便开发自定义程序。这个程序的逻辑就是就是简单计算加速度传感器的动态变化,超过限值后就说明需要进入拍击计数的过程。</span></p><p> </p>
<p><span style="font-size:16px;">2、程序逻辑是在现有范例代码的框架下搭建的,显示驱动和传感器的读取都没有变化,主逻辑如下面代码</span></p>
<pre>
<code class="language-python">if __name__=='__main__':
LCD = LCD_1inch28()
LCD.set_bl_pwm(65535)
qmi8658=QMI8658()
count = 0
olddate =0
newdate =0
count = gesture_update(newdate,olddate,count)
while(True):
#read QMI8658
xyz=qmi8658.Read_XYZ()
newdate = xyz
gesture = gesture_update(newdate,olddate,count)
olddate = newdate
#gesture = gesture_update(newdate,olddate,count)
LCD_update(LCD , xyz, count)
# count = (count + 1) % 1000
time.sleep(0.1)
</code></pre>
<p>首先设定一个全局变量Gate,这个需要在实际测试中选择合适的,</p>
<p> 然后,初始化lcd和传感器器,</p>
<pre>
<code> LCD = LCD_1inch28()
LCD.set_bl_pwm(65535)
qmi8658=QMI8658()</code></pre>
<p>进入循环中,就是依次更新传感器的数据,并用监测代码对比在z方向的数值,对比超过限制就给计数器count递增,</p>
<pre>
<code>def gesture_update(newdate,olddate,count):
if ( ( newdate -olddate)> = GATE ):
hit = 1
count = count + 1
hit = 0
return count</code></pre>
<p>其中LCD显示部分也单独归入一个函数中,这样可以使得主程序循环更简洁。</p>
<p> </p>
<p><span style="font-size:16px;">3、运行效果</span></p>
<p>可以用自定义数据更改背景的颜色,修改前面的说明数据,显示如下。</p>
<p></p>
<p>这个是专属的EEworld评测范例,实际运行的过程中,sleep的数据选择有些更新慢,0.1秒显然有些大了,所以计数补正常。</p>
<p>不过,作为演示的范例,这个流程执行起来还是非常便捷的。</p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>自定义数据更改背景的颜色这个还行</p>
页:
[1]