查看: 5181|回复: 3

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

[复制链接]
  • TA的每日心情

    2020-3-6 09:52
  • 签到天数: 13 天

    连续签到: 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控制小车
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2020-2-11 20:24
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2020-2-11 20:25:12 | 显示全部楼层
    有码发过来
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2020-5-25 08:52:04 | 显示全部楼层
    大佬,可以分享一下电路图(AD)吗?
    2697773011@qq.com
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 12:36 , Processed in 0.153915 second(s), 23 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.