存档6月 2020

四驱小车驱动实验(三)

#实验目的:上两次实验试验了基本的前进和转弯动作;这次我们实验两个目标,一个是通过充电宝供电驱动小车转动;另一个目标是组合红外避障传感器,当遇到障碍物时,小车自动停止并后退,以免撞击到障碍物。
#接线效果如图:
接线示例
#实验代码:
代码示例
#注:其中驱动类使用解释可参考文章:
(1)http://www.shumeijiang.com/2020/05/24/四驱小车驱动实验(一)
(2)http://www.shumeijiang.com/2020/05/27/四驱小车驱动实验(二)

#!/usr/bin/env python
#coding:utf-8

'''
from JiuJiang
树莓酱的操作实例
http:://www.shumeijiang.com
'''

import RPi.GPIO as GPIO ##引入GPIO模块
import time    ##引入time库

#引入驱动类
from baseAct import baseAct
#实例化驱动类并赋值四个电机所占引脚值
act = baseAct(17, 16, 13, 12, 19, 18, 21, 20)

sensePin = 27  ##红外避障传感器
GPIO.setup(sensePin, GPIO.IN) ##设置为接收模式

##实验开始
try:
    while True:
        run_time = 0.05  ##执行前端时间 也是障碍物检测间隔时间
        status = GPIO.input(sensePin)
        if status == 0:
            print '发现障碍物'
            act.act_backward(0.5, 50, 50)  ##检测到障碍物则立即后退
            break;   ##后退后停止动作
        else:
            act.act_forward(run_time, 50, 50, True)  ##没有障碍物则继续前进

except KeyboardInterrupt:
    pass

GPIO.cleanup()
#视频效果如下:
#实验效果:
1、执行代码 Python jiujiang.py;
2、当前方没有障碍物或者离障碍物较远时,小车继续前进;
3、当接近障碍物时,可见小车红外避障传感器探测警告灯亮起,小车则立刻后退,然后停止动作。
#下期预告:下期我们将在此次实验的基础上增加更多的动作,比如遇到障碍物后,停止前进,然后左右转弯寻找没有障碍物的方向,然后继续前进;敬请期待。