微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 第七篇----前方路障请避让

第七篇----前方路障请避让

时间:10-02 整理:3721RD 点击:

          MO7号就这样一步步在路上艰难地前行着,我们不知道还要走几个两万五千里,只知道前行可能有希望,停下就是绝望。
        继续MO7号的成长之路,MO7号的运动系统有四个传感器,底部有两个红外循迹传感器,左右两边有两个红外避障传感器,其实都是成对儿的红外收发二极管,发出的红外光遇到障碍物会反射回来被接收,引发电平变化,四个传感器引出四根线,传递电平变化,有四个电位器可以调节遇障碍物时,触发电平变化的距离远近。我们利用其中两个壁障用的传感器给MO7号做个条件反射,在即将遇到障碍物时,也就是将要撞墙时,立即停车。童鞋们可以观察下,一般小孩子刚学会走路时对撞墙是没撒概念的,直接往上撞,撞的次数多了,力度大了,疼了,会哭,以后快到墙跟前就会放慢速度不了,再后来跑得快了刹不住了还会用手挡一下缓冲。
       在C51XXX型号的单片机里有两个外中断,两个定时器中断,一个串口中断,C52XXXX里多了一个定时器中断,目前我们用了两个定时器中断一个外中断了,这回需要借助第三个定时器中断,T2。中断这东看你怎么理解了,其实我们每天都生活在中断中,在马路上走着的时候,突然手机响了,要拿出手机接电话,正通话时,对面突然直奔你跑来一个小baby,你得躲开它,不然被你撞倒你就惨了,躲开后你接着接电话,说完了挂机,继续走路。有可能你一直在走路,边走边接电话,躲开小baby,那是因为人的中枢神经系统并发处理能力很强大,两条腿儿往前捣腾这样简单的动作直接交给脊髓里几个神经元就解决了,脑子在随时处理突发的意外情况,就像不停地处理多级嵌套中断、并发中断,我们应该感谢造物主给了我们这么强大的神经系统,阿弥陀佛。
跑题了又, 我们利用下T2,上代码,先用蜂鸣器测试下,t2是否健在,


主程序里使能t2,测试,没问题,一秒响一下,好,



接下来再修改下,人的潜意识里,一直都绷着一根弦儿,就是趋利避害,处理好了,就是利人利己双赢效果,处理不好就是损人利己,被骂,要是毫不利己专门利人,那就是活雷锋了。我们也给MO7号绷上一根弦儿,用T2每隔一小会儿检查下,是否要撞墙,最理想的方法是直接连两个外中断,由电平变化触发,可惜我们的单片机外中断就两个,还被占用了,就用T2加查询法吧。每隔一小会儿,看看左右避障传感器是否有遇到障碍的低电平信号,有了就立刻停车,然后再倒一下。

改下t2中断代码,我们换一种方式,让t2数1000下检查一次是否遇到障碍物,遇到的话就退一下再走,


基本上成功,就是有个bug,t2溢出那一刻,车速会变成全速运行,但不是回回如此,这个不晓得怎么回事。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top