基于flask框架的树莓派4B视频操控小车2~小车动起来
一、知识准备1.GPIO (树莓派通过GPIO发送命给L298N电机驱动板,控制小车运动)
GPIO(英语:General-purpose input/output),通用型之输入输出的简称 ; 其接脚可以供使用者由程控自由使用,PIN脚依现实考量可作为通用输入(GPI)或通用输出(GPO)或通用输入与输出(GPIO)。
2.L298N驱动模块(驱动2个电机)
L298N,是一款接受高电压的电机驱动器,直流电机和步进电机都可以驱动。一片驱动芯片可同时控制两个直流减速电机做不同动作,在6V到46V的电压范围内,提供2安培的电流,并且具有过热自断和反馈检测功能。实验室标配,价格便宜,资料满天飞。
本帖侧重点为树莓派小车构架及移动功能实现
二、硬件准备
1.树莓派4B*1
https://www.dfrobot.com.cn/goods-1976.html
2.L298N电机驱动模块*1
3.履带小车底盘一套
4.18650电池*2+电池盒*1(负责给马达供电)
5.充电宝*1(负责树莓派舵机运行)
6.杜邦线母头对母头若干根(连接树莓派和L298N)
三、小车连线图
1.左右蓝色的两路分别连接电机M1和M2
2.18650电池盒正极连接12V供电,负极接GND,
移动电源通过USB Type-C给树莓派供电
注意,树莓派需要和电池盒共地即树莓派GND针脚要和电池盒负极共地
3.蓝色连接IN1连接树莓派11针脚
绿色连接IN2连接树莓派13针脚 黄色连接IN1连接树莓派15针脚 红色连接IN1连接树莓派16针脚 注意黑色连线6号针脚;树莓派GND和电池组共地4.通道A使能和通道B使能可以不接,这样小车可以运动但无法调速。
四、电机转动原理
电机正反转动实现:
输入信号端IN1接高电平,输入端IN2接低电平,电机M1正转。(如果信号端IN1接低电平, IN2接高电平,电机M1反转。)
电机M2是同样的方式,输入信号端IN3接高电平,输入端IN4接低电平,电机M2正转。(反之反转)。
使能通道A和B未连接,所以PWM信号暂不做分析。
五、线路电机局部细节图
1.18650电池两节,充电宝一个(输出为5V2A,所以树莓派没装屏幕)
2.安装18650电池;我的马达是6pin的,参照说明书,只连接1正-2负针即可运行
3.树莓派模块和L298N模块连接
此处注意树莓派和电池共地,否则没有电位差马达不运行
4.整体效果图,摄像头应用明天专贴说明
六、代码实现
树莓派VNC登录调试
小车正转测试https://www.bilibili.com/video/BV1VA411L7NE
#导入GPIO库
import RPi.GPIO as GPIO
import time
#设置GPIO模式
GPIO.setmode(GPIO.BOARD)
#设置in1到in4接口
IN1 = 11
IN2 = 13
IN3 = 15
IN4 = 16
#初始化接口
# def init():
# GPIO.setup(IN1,GPIO.OUT)
# GPIO.setup(IN2,GPIO.OUT)
# GPIO.setup(IN3,GPIO.OUT)
# GPIO.setup(IN4,GPIO.OUT)
GPIO.setup(IN1,GPIO.OUT)
GPIO.setup(IN2,GPIO.OUT)
GPIO.setup(IN3,GPIO.OUT)
GPIO.setup(IN4,GPIO.OUT)
#小车前进函数函数
def front():
GPIO.output(IN1,GPIO.HIGH)
GPIO.output(IN2,GPIO.LOW)
GPIO.output(IN3,GPIO.HIGH)
GPIO.output(IN4,GPIO.LOW)
#小车后退函数
def back():
GPIO.output(IN1,GPIO.LOW)
GPIO.output(IN2,GPIO.HIGH)
GPIO.output(IN3,GPIO.LOW)
GPIO.output(IN4,GPIO.HIGH)
#小车左转函数
def left():
GPIO.output(IN1,GPIO.LOW)
GPIO.output(IN2,GPIO.LOW)
GPIO.output(IN3,GPIO.HIGH)
GPIO.output(IN4,GPIO.LOW)
#小车右转函数
def right():
GPIO.output(IN1,GPIO.HIGH)
GPIO.output(IN2,GPIO.LOW)
GPIO.output(IN3,GPIO.LOW)
GPIO.output(IN4,GPIO.LOW)
#停止函数
def stop():
GPIO.output(IN1,GPIO.LOW)
GPIO.output(IN2,GPIO.LOW)
GPIO.output(IN3,GPIO.LOW)
GPIO.output(IN4,GPIO.LOW)
##############小车前,后,左,右,停止测试###############
#小车前进5秒
front()
time.sleep(5)
#小车后退5秒
back()
time.sleep(5)
#小车右转5秒
right()
time.sleep(5)
#左转5秒
left()
time.sleep(5)
#停止运行,并释放端口
stop()
GPIO.cleanup()
小车连续运转测试
https://www.bilibili.com/video/BV1sp4y1t7Xu
小车实地测试
https://www.bilibili.com/video/BV1pK411F7Ye
这套底板多少钱 牛皮啊,正好需要用到l298 用的4B?
额定电流3A啊 一只小学生 发表于 2021-6-25 10:37
用的4B?
额定电流3A啊
树莓派4B,但充电宝不到3A,会有电量低的提示
页:
[1]