树莓派4B改装RC玩具车玩转opencv系列教程(三)树莓派通过L298N控制电机
发布日期:2021-05-27 01:23:40 浏览次数:18 分类:技术文章

本文共 2004 字,大约阅读时间需要 6 分钟。

树莓派4B改装RC玩具车玩转opencv系列教程(三)树莓派通过L298N控制电机

材料

如下图所示L298N

在这里插入图片描述
关于L298N芯片的详解可以参见这篇帖子,本文就不详细叙述了。

引脚接线图

L298N 树莓派
ENA GPIO25
IN1 GPIO23
IN2 GPIO24
GND GND
L298N 电机
OUT1 电机正极
OUT2 电机负极
L298N 7.4V电池
+12V 电池正极
GND 电池负极

在这里插入图片描述

源代码

代码是从下载的。源代码是在python2.x下编写的。直接运行会报错,将代码内的raw_input() 替换后为input() 后即可在python3下正常运行。下面为改正后的代码,可以直接运行。

# Python Script# https://www.electronicshub.org/raspberry-pi-l298n-interface-tutorial-control-dc-motor-l298n-raspberry-pi/import RPi.GPIO as GPIO          from time import sleepin1 = 24in2 = 23en = 25temp1=1GPIO.setmode(GPIO.BCM)GPIO.setup(in1,GPIO.OUT)GPIO.setup(in2,GPIO.OUT)GPIO.setup(en,GPIO.OUT)GPIO.output(in1,GPIO.LOW)GPIO.output(in2,GPIO.LOW)p=GPIO.PWM(en,1000)p.start(25)print("\n")print("The default speed & direction of motor is LOW & Forward.....")print("r-run s-stop f-forward b-backward l-low m-medium h-high e-exit")print("\n")    while(1):    x=input()        if x=='r':        print("run")        if(temp1==1):         GPIO.output(in1,GPIO.HIGH)         GPIO.output(in2,GPIO.LOW)         print("forward")         x='z'        else:         GPIO.output(in1,GPIO.LOW)         GPIO.output(in2,GPIO.HIGH)         print("backward")         x='z'    elif x=='s':        print("stop")        GPIO.output(in1,GPIO.LOW)        GPIO.output(in2,GPIO.LOW)        x='z'    elif x=='f':        print("forward")        GPIO.output(in1,GPIO.HIGH)        GPIO.output(in2,GPIO.LOW)        temp1=1        x='z'    elif x=='b':        print("backward")        GPIO.output(in1,GPIO.LOW)        GPIO.output(in2,GPIO.HIGH)        temp1=0        x='z'    elif x=='l':        print("low")        p.ChangeDutyCycle(25)        x='z'    elif x=='m':        print("medium")        p.ChangeDutyCycle(50)        x='z'    elif x=='h':        print("high")        p.ChangeDutyCycle(75)        x='z'             elif x=='e':        GPIO.cleanup()        print("GPIO Clean up")        break        else:        print("<<<  wrong data  >>>")        print("please enter the defined data to continue.....")

效果演示

在这里插入图片描述

在这里插入图片描述

参考文献

转载地址:https://blog.csdn.net/happyjoey217/article/details/112523703 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:树莓派4B改装RC玩具车玩转opencv系列教程(四)树莓派4B安装opencv4(含小车整体功能初步联调代码)
下一篇:树莓派4B改装RC玩具车玩转opencv系列教程(二)树莓派通过PCA9685控制舵机

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年10月06日 23时41分23秒