查看: 803|回复: 1

[项目] 树莓派小车(三)Python控制小车

[复制链接]

主题

好友

1079

积分

进士

  • TA的每日心情

    2019-1-9 11:00
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2018-12-11 16:53:45 |显示全部楼层
    1.jpg



    在树莓派小车系列之二中,讲到了树莓派的引脚定义方式有两种:
    • PHYSICAL NUMBERING
    • GPIO NUMBERING
    我采用的是第二种方式。



    开始写

    1. 导入库

    1. <blockquote>import RPi.GPIO as GPIO
    复制代码
    2. 定义接口方式以及接口位置
    1. GPIO.setmode(GPIO.BCM)
    2. IN1 = 17
    3. IN2 = 18
    4. IN3 = 27
    5. IN4 = 22
    6. IN5 = 23
    7. IN6 = 24
    复制代码
    IN1 - IN4为L298N接入,IN5和IN6为红外线模块接入。

    车轮驱动方式:

    IN1和IN2负责驱动车轮转动(前进)。
    IN3和IN4负责驱动车轮转动(后退)。


    3. 初始化
    1. <blockquote>def init():
    复制代码


    4. 基础方向行为
    1. <blockquote>def up():
    复制代码
    需要说明的是:由于不含舵机,转弯的操作是单边车轮驱动,带动车身转动

    5. 红外控制
    1. <blockquote>init()
    复制代码


    如果前方遇到障碍,就后退一秒,然后转弯,最后继续直行,直到遇到下一个障碍。

    需要说明的是time.sleep()的用法:
    time.sleep(time) 表示的是经过 time 秒后执行下一步操作,就是休眠一段时间的意思。
    如果不使用time.sleep(),将会一直执行第一步操作。

    关于运行:
    由于红外传感器的有效距离偏短(5cm左右),以及传感器的安装位置在车的底部,所以在车辆运动时,如果遇到凹凸不平的物体,有可能造成避障的延迟。

    运行动画:
    GIF.gif


    遇到凹凸不平的物体有些许碰撞(环境简陋)

    关于树莓派信息的内容就先告一段落,等我做出安卓遥控app再来介绍,谢谢大家的关注。



    作者:胖若两人_
    來源:简书


    相关文章:
    树莓派小车(一)小车配件选购及安装
    树莓派小车(二)树莓派、小车和红外线
    树莓派小车(三)Python控制小车
    回复

    使用道具 举报

    主题

    好友

    18

    积分

    白丁

  • TA的每日心情
    无聊
    2018-1-16 01:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2018-12-28 23:43:04 |显示全部楼层
    很不错的
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /4 下一条

    手机版|爱板网

    GMT+8, 2019-1-19 11:15 , Processed in 0.117075 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-5   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001056号

    Powered by Discuz!

    返回顶部