树莓派 小车java_树莓派小车之前进和后退(创乐博套件)
树莓派小车之前进
买了一个树莓派小车的配件,当然,有二次开发板板,不过原理相同。 买的板子是创乐博的智能小车套件。 以下代码来自其指导文件,但是文件都是英文,没有代码讲解,导致很难看得懂。本人重新写了,并给出自己的理解,代码也是略有不同,但是从零写起,可以让自己真正明白原理。
1、首先,根据电路图设置需要使用的树莓派引脚
import RPi.GPIO as GPIO
import time
#绑定对应的引脚,来自于图纸
PWMA=18
AIN1 = 22
AIN2 = 27
PWMB=23
BIN1= 25
BIN2 = 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接口来实现。(这里是电路模块的名字,实际操作中也可以起不同的名字,或者接入不同的接口)
树莓派 小车java_树莓派小车之前进和后退(创乐博套件)相关推荐
- 玩转树莓派---详解树莓派的系统烧录,基础使用及基于树莓派制作手势控制的小车(附详细代码及演示效果)
目录 一.写在前面 二.系统实现: Author:qyan.li Date:2022.6.10 Topic:详解树莓派的使用及基于树莓派制作手势控制的小车 Reference:如何给树莓派安装操作系统 ...
- 树莓派智能小车python论文_基于树莓派的自动驾驶小车,利用树莓派和tensorflow实现小车在赛道的自动驾驶...
self_drive 基于树莓派的人工智能自动驾驶小车 Artificial intelligence automatic driving car based on raspberry pie git ...
- Android手机控制树莓派制作的四驱小车
-------更新 完整的代码放在Github上了: 服务端:https://github.com/darlinglele/raspberry-server 手机客户端: https://github ...
- 树莓派小程序服务器,微信小程序实现树莓派(raspberrypi)小车控制.pdf
微微信信小小程程序序实实现现树树莓莓派派 ((raspberry pi))小小车车控控制制 本文是基于上一篇" 网页版树莓派小车控制程序"改造而成. 要也练习了一下微信小程序的开发 ...
- 利用Python实现键盘操控小车、通过树莓派GPIO使用python操控小车(树莓派小车、树莓派+Python+LN298操控小车)
(树莓派小车.树莓派+Python+LN298操控小车) 一.Python代码获取键盘实时键位 二.树莓派自带GPIO控制电机 大功告成!编写不易,大家成功后点个关注or赞谢谢~~ 一.Python代 ...
- openlayers小车_计算机科学与软件工程学院本科生双创项目答辩结果重磅推出
根据学校教务处对科创培育项目总体部署,计算机科学与软件工程学院在2017年3月20日至24日,一周内紧锣密鼓举行了6场本科生科创项目答辩会.包括16年国创.16年上创.15年延期大夏项目结题答辩2场, ...
- 创乐博机器人树莓派4B
创乐博机器人 绪论 虚拟机端修改IP地址 校准 IMU精度校准: 角速度校正 线速度校准 PID 校准 建图 SLAM建图 机器人鼠标构建地图 机器人选择区域自动构建地图 机器人用hector算法构建 ...
- 树莓派001-购买树莓派
我是买的树莓派3B中国版-外加一个32G的内存卡. 一个树莓派呢也不算贵,才190一个.当然还有更便宜的.不过贵点性能也就要好点. 树莓派3B 淘宝上有很多树莓派卖,大家择其合适者而购之. 不过你得确 ...
- python树莓派编程_python树莓派编程
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 例如,你可以用树莓派搭建你自己的家用云存储服务器.? 树莓派用python来进行 ...
最新文章
- 突发!美国最大输油管道遭网络攻击关闭!美媒:为其基础设施的脆弱堪忧
- C言语教程第五章:函数(1)
- ssh开发中的DAO和DaoSupport备份
- [USACO18JAN][luoguP4183 ]Cow at Large P
- uva 11383(二分图最大权匹配)
- 7-3 方格取数 (15 分)
- if js 判断成绩等级_Java判断语句的语法和使用
- Netch游戏加速器自建(糖豆人Free就是研究的动力)
- mac 外接键盘让 Home End 键生效
- c语言汉字属于什么类型_【C语言】必学知识点 - 基本数据类型!你学会了吗?...
- Kaggle_Predict Future Sales_Prac 1(时间序列预测商品销量)
- 重新审视自己,把握真实瞬间 _大前研一
- svn拉取和提交大概步骤
- 仿微信翻译----本地短信翻译。
- 一文详解激光雷达的障碍物检测
- ppt图片设计素材下载网站搭建模板
- 面试官:如何在ASP.NET Core里给Action传递参数
- 在线问答未来会朝什么趋势发展?
- 定制网站制作的流程详解
- dos command for network
热门文章
- 啊哈C语言 第五章 【代码】【习题答案】
- python 的 轮子
- 排列组合———求一串数字可以有多少种不同的组合
- 正在连接到192.168.1.118 不能打开到主机的连接, 在端口 1521: 连接失败
- shell脚本_ grep和egrep命令
- 转载:Vsphere 出现 “ XXX esx.problem.hyperthreading.unmitigated.formatOnHost not found XXX”的解决方案
- excel提取每一行或每一列的最后一个数据
- 计算机配置打开命令行,win7开机f8进入修复计算机cmd装xp
- Nginx 下载安装与配置
- Word中批量更新域的两个小方法