树莓派小车如何实现前进和后退
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇文章给大家分享的是有关树莓派小车如何实现前进和后退,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。树莓派小车之前进买了一个树莓派小车的
千家信息网最后更新 2025年12月03日树莓派小车如何实现前进和后退
本篇文章给大家分享的是有关树莓派小车如何实现前进和后退,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
树莓派小车之前进
买了一个树莓派小车的配件,当然,有二次开发板板,不过原理相同。 买的板子是创乐博的智能小车套件。 以下代码来自其指导文件,但是文件都是英文,没有代码讲解,导致很难看得懂。本人重新写了,并给出自己的理解,代码也是略有不同,但是从零写起,可以让自己真正明白原理。
1、首先,根据电路图设置需要使用的树莓派引脚
import RPi.GPIO as GPIOimport time#绑定对应的引脚,来自于图纸PWMA=18AIN1 = 22AIN2 = 27PWMB=23BIN1= 25BIN2 = 24
18引脚控制的是左侧两个电机 23引脚控制的右侧两个电机 AIN1、AIN2、BIN1、BIN2控制的是左右两侧电机的正转和翻转 ##2、设置引脚模式和输入输出
GPIO.setmode(GPIO.BCM)GPIO.setwarnings(False)# 设置引脚为输出GPIO.setup(PWMA, GPIO.OUT)GPIO.setup(AIN1, GPIO.OUT)GPIO.setup(AIN2, GPIO.OUT)GPIO.setup(PWMB, GPIO.OUT)GPIO.setup(BIN1, GPIO.OUT)GPIO.setup(BIN2, GPIO.OUT)#电机leftMotor = GPIO.PWM(PWMA, 100)rightMotor = GPIO.PWM(PWMB, 100)leftMotor.start(0)rightMotor.start(0)
这样,设置基本完成,电机就处于待命状态了。
3、前进和后退函数
要使得小车前进,我们需要让四个电机转动起来,既然是前进,当然是电机正转
def forward(speed,runtime): leftMotor.ChangeDutyCycle(speed) GPIO.output(AIN1, True)#AIN1高电平则正转 GPIO.output(AIN2, False)#如果为True则翻转 rightMotor.ChangeDutyCycle(speed) GPIO.output(BIN1, True) GPIO.output(BIN2, False) time.sleep(runtime)#维持状态的时间,如果不给命令执行其他,将会继续执行
当四轮正转的时候,实现了基本的前进功能。 后退当然也是同理,只需要反向设置就好了。
def backword(speed, backtime): leftMotor.ChangeDutyCycle(speed) GPIO.output(AIN2, True) # AIN2 GPIO.output(AIN1, False) # AIN1 rightMotor.ChangeDutyCycle(speed) GPIO.output(BIN2, True) # BIN2 GPIO.output(BIN1, False) # BIN1 time.sleep(backtime)
至此,前进和后退的功能就实现了。 最后通过调用函数,来实现小车运行。
if \_\_name\_\_ == '\_\_main\_\_': try: while True: forward(50,3) except KeyboardInterrupt: GPIO.cleanup()
一定要调用 GPIO.cleanup()函数来清空引脚上的相关设置,否则引脚将被占用,对程序的下次运行可能会有影响。
4、大致的思路
电机连接在电路板上,ChangeDutyCycle可以让我们来设置速度,通过改变占空比来实现。 速度设定好了,设定其正转或者翻转,则是通过连接的AIN1和AIN2接口来实现。(这里是电路模块的名字,实际操作中也可以起不同的名字,或者接入不同的接口)
以上就是树莓派小车如何实现前进和后退,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
电机
小车
树莓
不同
代码
函数
电路
控制
两个
功能
原理
名字
接口
文件
更多
状态
知识
篇文章
速度
输出
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
闵行区网络软件开发质量
数据库关系代数表达举例
5G下的网络安全
戴尔服务器特点
网络安全教育实例新闻视频
双服务器后504
2020全国网络安全员比赛
网络安全吴建平
思科网络技术习题
手机网络安全手抄报视频
互联网医院软件开发公司
免费服务器管理
古剑奇谭ol服务器
怎么快速打开服务器
病理传输软件开发文档范例
灵武政务软件开发公司好不好
加密和网络安全
前端传感器无数据库
不能连接另外电脑数据库
根据就备份修复数据库
多个进程操作一个数据库加锁
java服务器通信
服务器安全漏洞整改报告
access数据库添加新数据
数据库与程序设计原理
mc如果自建服务器
数据库连接的服务器名称从哪里找
有什么学电子软件开发
深圳易能网络技术有限公司
剑三二少建号捏脸数据库