Sunny的树莓派小车DIY教程(附视频)

一、组件介绍
大家好,我是Sunny。今天将给大家带来系列教程《树莓派小车系列》,先给大家介绍介绍我这次使用到的一些组件。
1、树莓派

2、小车底盘

3、小车车轮(马达)

4、L298N电机驱动模块

5、超声波测距模块、杜邦线

6、电池盒

7、无线网卡
下面是树莓派和l298n接线图
把马达接到L298N上面,然后把电池盒的正极接到12v接口,负极接到接地接口(中间那个),然后第三个接口需要一个5v的输入,我就从树莓派的GPIO2取。
in1、in2、in3、in4分别接树莓派GPIO的11、12、13、15这几个口。这张图大家应该能理解到上面in1到in4的接法了,还有电源的接法。
三、马达转动
上面讲了我们如何把树莓派和l298n和马达接线连接起来。既然连起来了,我们就应该来试试如何用树莓派通过python来控制这个马达的转动。
首先我们需要安装python的gpio模块,可以通过pip安装也可以通过下载源代码安装。
sudo vim xiaoche.py
#导入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()
代码写到之后我们保存退出,接着执行一下观看马达有没有转动。
sudo python xiaoche.py
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)
