【麦昆试用】HCSR04超声波传感器的python驱动
<div class='showpostmsg'>HCSR04超声波传感器在智能小车、扫地机器人、DIY上有广泛应用。在makecode中已经有它的扩展,可以直接使用,但是python的驱动比较少。以前推荐过一个microbit的HCSR04超声波传感器的python驱动,但是用在麦昆时发现程序不能运行,会在测量时卡死。经过仔细分析发现,问题出在spi的设置上,通过修改后,hcsr04就可以正常运行了。顺便又对代码进行了优化,让代码可以更加有效的运行:
[*]调整了缓冲区大小,留出更多空间给其他功能;
[*]优化了spi初始化功能,不需要每次测量都重新初始化
[*]优化了缓冲区,不需要每次测量都重新设置缓冲区
[*]优化了SCK引脚定义,避免了设置一个多余的SCK引脚(这一点对麦昆尤其重要)
**** Hidden Message *****
此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处
</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>HCSR04超声波传感器的python驱动 <img height="50" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/onion/Onion--1.gif" width="50" /></p>
<p>超声波测距Python驱动</p>
<p> </p>
<p>HCSR04超声波传感器的python驱动<img height="50" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/onion/Onion--100.gif" width="50" /></p>
<p>想要学习【麦昆试用】HCSR04超声波传感器的python驱动</p>
<p>感謝分享</p>
<p> </p>
<p>這就看看要怎麼使用超音波</p>
<p>之前那个用spi回读距离太有创意了,效果得多差</p>
<p>你现在的这个写法,不能对抗中断事件,比如系统中串口和无线模块运行中会导致测量出现较大的误差</p>
<p>最理想的hc04驱动是用io的中断回调来实现</p>
wangshujun72 发表于 2019-8-18 23:09
之前那个用spi回读距离太有创意了,效果得多差
你现在的这个写法,不能对抗中断事件,比如系统中串口和 ...
<p>这是基础程序,如果要考虑更多应用环境,还需要进一步优化,比如用C写底层函数并集成到固件。</p>
<p>不需要呀,io中断回调直接是支持的,我不知道是不是所有的micropython是否支持,反正我用的lobos的移植支持的很好的,回到后的参数里面就有事件发生的时间,定义为高优先级,us精度的保障还是有的</p>
wangshujun72 发表于 2019-8-19 10:01
不需要呀,io中断回调直接是支持的,我不知道是不是所有的micropython是否支持,反正我用的lobos的移植支持 ...
<p>microbit版本受硬件限制,目前不支持回调函数,其它的micropython支持回调函数。</p>
<p>xuexi</p>
<p>HCSR04超声波传感器的python驱动</p>
<p>感谢分享!!!</p>
<p>学习学习</p>
<p> </p>
<p>很耐斯</p>
uiyiuisddsfsf <p>看看。。。。。。。。。。。。。</p><br/> <p>支持发贴看看内容</p>
<p> </p>
dcexpert 发表于 2019-8-19 10:53
microbit版本受硬件限制,目前不支持回调函数,其它的micropython支持回调函数。
<p>最近在micropython上测量一个频率,发现没法用中断和回调,用这个spi方式最终效果真不错,之前没认识到这在micropython上处理比较高速的信号采样是一个不错的方法</p>
页:
[1]