首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Sunny的树莓派小车DIY教程(3)

Sunny的树莓派小车DIY教程(3)

三、马达转动上面讲了我们如何把树莓派和l298n和马达接线连接起来。既然连起来了,我们就应该来试试如何用树莓派通过python来控制这个马达的转动。
首先我们需要安装python的gpio模块,可以通过pip安装也可以通过下载源代码安装。
1
sudo vim xiaoche.py



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#导入gpio的模块
import RPi.GPIO as GPIO
import time

#设置gpio口的模式
GPIO.setmode(GPIO.BOARD)

#定义信号接口gpio口
INT1 = 11
INT2 = 12
INT3 = 13
INT4 = 15

#设置gpio口为输出
GPIO.setup(INT1,GPIO.OUT)
GPIO.setup(INT2,GPIO.OUT)
GPIO.setup(INT3,GPIO.OUT)
GPIO.setup(INT4,GPIO.OUT)

#这里参考上一节模块接线的L298N模块的控制图
GPIO.output(INT1,GPIO.HIGH)
GPIO.output(INT2,GPIO.LOW)
GPIO.output(INT3,False)
GPIO.output(INT4,False)

#延时2秒之后执行cleanup释放GPIO接口
time.sleep(2)
GPIO.cleanup()



代码写到之后我们保存退出,接着执行一下观看马达有没有转动。
1
sudo python xiaoche.py



四、底盘安装五、小车跑起来下面是 xiaoche.py 完整的代码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)

IN1 = 11
IN2 = 12
IN3 = 13
IN4 = 15

def init():
    GPIO.setup(IN1,GPIO.OUT)
    GPIO.setup(IN2,GPIO.OUT)
    GPIO.setup(IN3,GPIO.OUT)
    GPIO.setup(IN4,GPIO.OUT)

def qianjin(sleep_time):
        GPIO.output(IN1,GPIO.HIGH)
        GPIO.output(IN2,GPIO.LOW)
        GPIO.output(IN3,GPIO.HIGH)
        GPIO.output(IN4,GPIO.LOW)
        time.sleep(sleep_time)
        GPIO.cleanup()

def cabk(sleep_time):
        GPIO.output(IN1,GPIO.LOW)
        GPIO.output(IN2,GPIO.HIGH)
        GPIO.output(IN3,GPIO.LOW)
        GPIO.output(IN4,GPIO.HIGH)
        time.sleep(sleep_time)
        GPIO.cleanup()

def left(sleep_time):
        GPIO.output(IN1,False)
        GPIO.output(IN2,False)
        GPIO.output(IN3,GPIO.HIGH)
        GPIO.output(IN4,GPIO.LOW)
        time.sleep(sleep_time)
        GPIO.cleanup()

def right(sleep_time):
    GPIO.output(IN1,GPIO.HIGH)
    GPIO.output(IN2,GPIO.LOW)
    GPIO.output(IN3,False)
    GPIO.output(IN4,False)
    time.sleep(sleep_time)
    GPIO.cleanup()
init()
cabk(10)



返回列表