【雅特力AT32WB415系列蓝牙BLE 5.0 MCU】蓝牙+红外感应检测读取
<div class='showpostmsg'><p> </p><p >这一次准备利用人体感应模块+蓝牙实现一个感应到是否有人,可以从蓝牙APP里获取相关信息。</p>
<p > </p>
<p >蓝牙部分的话还是利用蓝牙的DEMO,读取UUID:C101,READ VALUES 01表示有人来,00表示没有人。</p>
<p > </p>
<p > </p>
<p >外部中断(EXINT)与NVIC直接连接, EXINT包含23个边沿检测器,用于产生中断请求。每个中断线都可以独立地配置它的触发事件(上升沿、下降沿、或双边沿),</p>
<p >并能够单独地被屏蔽;挂起寄存器维持所有中断请求的状态。外部中断其中最多有16根可从GPIO中选择连接。</p>
<p > </p>
<p > </p>
<p >人体感应模块</p>
<p >在通过放大器是<a href="https://item.szlcsc.com/391677.html">BISS0001</a>将脉冲信号转化为更直观的高低电平输出,有人输出高,无人输出低。</p>
<p > </p>
<p > </p>
<p >模块接口只有三个脚,地、电源、数据线;分别计为GND、VCC、OUT</p>
<p >探头检测到有人移动时,OUT=1;没人移动时,OUT=0;</p>
<p >因此我们可以把它当成一个独立按键,按下时(有人移动)为1,松开时(没人移动)为0。</p>
<p >之前网友提醒注意电压问题,需要连接FT管脚,比如PA8等</p>
<p > </p>
<p > </p>
<p > </p>
<p > </p>
<p >把中断配置和中断处理函数移植到蓝牙DEMO程序里。初始化函数中加入中断的初始化,中断句柄也添加至DEMO中。</p>
<p > </p>
<p > if(flag_hw == 1)</p>
<p > </p>
<p > {</p>
<p > at_cmd_send(AT_RESULT_OK1);</p>
<p > }</p>
<p > else</p>
<p > {</p>
<p > at_cmd_send(AT_RESULT_OK0);</p>
<p > }</p>
<p > </p>
<p >下载程序的时候和之前一样,先删除之前的老的,添加新的固件</p>
<p > </p>
<p > </p>
<p >下载后,连接蓝牙测试。</p>
<p > </p>
<p >有人走过和无人走过环境测试</p>
<p > </p>
<p > </p>
<p > </p>
<p >01代表检测到人</p>
<p >00代表没有检测到人</p>
<p > </p>
<p >测试结果,有人来的话蓝牙读取到01 ,蓝牙很稳定,没有出现断线状况。</p>
<p > </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>
页:
[1]