前言
这里我们需要用到的材料是:
1.树莓派51
2.L298N电机驱动1
3.杜邦线若干
4.直流电机2
5.外置电源1
提示:以下是本篇文章正文内容,下面案例可供参考
一、L298N引脚介绍
1&2:输出引脚,1和2这两个位置各自可以接一个电机。
3:板载5V使能,可以通过该引脚输入5V电压直接给L298N芯片供电,但如果电压过高会烧坏芯片。
4:12V供电输入引脚,接电源正极。驱动板上写着12V,但实际可以接受的电压范围是7-12V。
5: 接地引脚,接电源负极。使用的时候应该把莓派囚的GND引脚接到这里,即驱动板和树莓派两者需要共地。
6:5V输出,可以通过该引脚给可以给外部设备供电,比如树莓派。
7&8:通道A使能(7)和通道B使能(8),接树莓派的GPIO引脚,输入高电平有效,可以使用PWM实现电机调速效果。
通道A使能和通道B使能之间有4个引脚,分别是IN1、IN2、IN3、IN4,这4个都是单片机IO控制输入引脚,都接树莓派的GPIO引脚。
通道A使能和IN1,IN2引脚一起控制1号位置接入的电机;通道B使能和IN3,IN4引脚一起控制2号位置接入的电机。
二、具体操作步骤
1.将L298N连接到树莓派
首先将两个直流电机分别接到L298N的位置1和2上
然后将电源正极接入4位置,负极接入5位置,此时可以发现L298N的指示灯亮起;
将树莓派的一个GND引脚共地;
其他任意选择几个GPIO引脚接入到L298N的IN1,IN2,IN3,IN4。
2.使用代码控制电机转动
以下是一张控制电机的方向表。
代码块如下:
`import RPi.GPIO as GPIO
import time
# 设置编码方式
GPIO.setmode(GPIO.BOARD)
# 引脚连接的GPIO编号
ENA = 11
IN1 = 22
IN2 = 15
ENB = 12
IN3 = 16
IN4 = 18
# 设置为输出模式
GPIO.setup(ENA, GPIO.OUT)
GPIO.setup(IN1, GPIO.OUT)
GPIO.setup(IN2, GPIO.OUT)
GPIO.setup(ENB, GPIO.OUT)
GPIO.setup(IN3, GPIO.OUT)
GPIO.setup(IN4, GPIO.OUT)
def main():
# 1号位置电机转动
GPIO.output(IN1, True)
GPIO.output(IN2, False)
GPIO.output(ENA, True)
# 2号位置电机转动
GPIO.output(IN3, True)
GPIO.output(IN4, False)
GPIO.output(ENB, True)
# 转动3秒后停止
time.sleep(3)
GPIO.cleanup()
if __name__ == "__main__":
main()`
这里树莓派的引脚编号有Broad码和BCM码,这里调用的Rpi.gpi库Broad码,所以需要去查询树莓派的引脚编号;这里也将其整理出来:
运行视频如下:
https://download.csdn.net/download/2301_77930046/90483894
可能遇到的问题及解决方案
树莓派5代默认配置里并没有Rpi.gpio库,在运行代码的时候可能会出现以下报错:
可以打开树莓派终端,输入以下几行代码进行配置:
sudo apt remove python3-rpi.gpio
pip3 install rpi-lgpio
配置完成以后即可调用Rpi.gpio库。