树莓派小车如何实现前进和后退
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇文章给大家分享的是有关树莓派小车如何实现前进和后退,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。树莓派小车之前进买了一个树莓派小车的
千家信息网最后更新 2025年01月23日树莓派小车如何实现前进和后退
本篇文章给大家分享的是有关树莓派小车如何实现前进和后退,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
树莓派小车之前进
买了一个树莓派小车的配件,当然,有二次开发板板,不过原理相同。 买的板子是创乐博的智能小车套件。 以下代码来自其指导文件,但是文件都是英文,没有代码讲解,导致很难看得懂。本人重新写了,并给出自己的理解,代码也是略有不同,但是从零写起,可以让自己真正明白原理。
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安全错误
数据库的锁怎样保障安全
青浦区智能网络技术备件
手狼服务器
服务器日志提取
帝国一件删除栏目数据库
网络安全技术项目的重要性
专门的蛋白质数据库
吉林城市队伍管理软件开发
计算机网络技术需求量大吗
软件开发过程中复杂性控制
杭州苹果软件开发公司如何选择
网络安全事故事后处理案例
方舟服务器手游价格表
军事网络安全的保护不适用
病毒数据库修改密码
数据库修改表字段类型语句
普洱服务器数据存储找哪家
钉钉服务器地址无法解析
泉州直播软件开发报价
专用服务器不可用
体育软件开发统计图
舟山手机软件开发
警察网络安全知识宣传
网络安全监管部门在哪
顺义服务器回收价钱
山西现代软件开发批发价格
网络技术挑战赛作品展示
估算数据库数据量
天翼服务器系统
东莞软件开发联系方式
山东同道网络技术有限公司