风之物语 发表于 2018-12-11 16:53:45

树莓派小车(三)Python控制小车




在树莓派小车系列之二中,讲到了树莓派的引脚定义方式有两种:

[*]PHYSICAL NUMBERING
[*]GPIO NUMBERING
我采用的是第二种方式。



开始写

1. 导入库

<blockquote>import RPi.GPIO as GPIO2. 定义接口方式以及接口位置
GPIO.setmode(GPIO.BCM)
IN1 = 17
IN2 = 18
IN3 = 27
IN4 = 22
IN5 = 23
IN6 = 24 IN1 - IN4为L298N接入,IN5和IN6为红外线模块接入。

车轮驱动方式:

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


3. 初始化
<blockquote>def init():

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

5. 红外控制
<blockquote>init()

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

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

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

运行动画:


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

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



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


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

leosun123 发表于 2020-5-25 08:52:04

大佬,可以分享一下电路图(AD)吗?
2697773011@qq.com

cun888 发表于 2020-2-11 20:25:12

有码发过来

huhuhu888 发表于 2018-12-28 23:43:04

很不错的
页: [1]
查看完整版本: 树莓派小车(三)Python控制小车

Baidu
map