树莓派小车之前进

买了一个树莓派小车的配件,当然,有二次开发板板,不过原理相同。 买的板子是创乐博的智能小车套件。 以下代码来自其指导文件,但是文件都是英文,没有代码讲解,导致很难看得懂。本人重新写了,并给出自己的理解,代码也是略有不同,但是从零写起,可以让自己真正明白原理。

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_树莓派小车之前进和后退(创乐博套件)相关推荐

  1. 玩转树莓派---详解树莓派的系统烧录,基础使用及基于树莓派制作手势控制的小车(附详细代码及演示效果)

    目录 一.写在前面 二.系统实现: Author:qyan.li Date:2022.6.10 Topic:详解树莓派的使用及基于树莓派制作手势控制的小车 Reference:如何给树莓派安装操作系统 ...

  2. 树莓派智能小车python论文_基于树莓派的自动驾驶小车,利用树莓派和tensorflow实现小车在赛道的自动驾驶...

    self_drive 基于树莓派的人工智能自动驾驶小车 Artificial intelligence automatic driving car based on raspberry pie git ...

  3. Android手机控制树莓派制作的四驱小车

    -------更新 完整的代码放在Github上了: 服务端:https://github.com/darlinglele/raspberry-server 手机客户端: https://github ...

  4. 树莓派小程序服务器,微信小程序实现树莓派(raspberrypi)小车控制.pdf

    微微信信小小程程序序实实现现树树莓莓派派 ((raspberry pi))小小车车控控制制 本文是基于上一篇" 网页版树莓派小车控制程序"改造而成. 要也练习了一下微信小程序的开发 ...

  5. 利用Python实现键盘操控小车、通过树莓派GPIO使用python操控小车(树莓派小车、树莓派+Python+LN298操控小车)

    (树莓派小车.树莓派+Python+LN298操控小车) 一.Python代码获取键盘实时键位 二.树莓派自带GPIO控制电机 大功告成!编写不易,大家成功后点个关注or赞谢谢~~ 一.Python代 ...

  6. openlayers小车_计算机科学与软件工程学院本科生双创项目答辩结果重磅推出

    根据学校教务处对科创培育项目总体部署,计算机科学与软件工程学院在2017年3月20日至24日,一周内紧锣密鼓举行了6场本科生科创项目答辩会.包括16年国创.16年上创.15年延期大夏项目结题答辩2场, ...

  7. 创乐博机器人树莓派4B

    创乐博机器人 绪论 虚拟机端修改IP地址 校准 IMU精度校准: 角速度校正 线速度校准 PID 校准 建图 SLAM建图 机器人鼠标构建地图 机器人选择区域自动构建地图 机器人用hector算法构建 ...

  8. 树莓派001-购买树莓派

    我是买的树莓派3B中国版-外加一个32G的内存卡. 一个树莓派呢也不算贵,才190一个.当然还有更便宜的.不过贵点性能也就要好点. 树莓派3B 淘宝上有很多树莓派卖,大家择其合适者而购之. 不过你得确 ...

  9. python树莓派编程_python树莓派编程

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 例如,你可以用树莓派搭建你自己的家用云存储服务器.? 树莓派用python来进行 ...

最新文章

  1. 突发!美国最大输油管道遭网络攻击关闭!美媒:为其基础设施的脆弱堪忧
  2. C言语教程第五章:函数(1)
  3. ssh开发中的DAO和DaoSupport备份
  4. [USACO18JAN][luoguP4183 ]Cow at Large P
  5. uva 11383(二分图最大权匹配)
  6. 7-3 方格取数 (15 分)
  7. if js 判断成绩等级_Java判断语句的语法和使用
  8. Netch游戏加速器自建(糖豆人Free就是研究的动力)
  9. mac 外接键盘让 Home End 键生效
  10. c语言汉字属于什么类型_【C语言】必学知识点 - 基本数据类型!你学会了吗?...
  11. Kaggle_Predict Future Sales_Prac 1(时间序列预测商品销量)
  12. 重新审视自己,把握真实瞬间 _大前研一
  13. svn拉取和提交大概步骤
  14. 仿微信翻译----本地短信翻译。
  15. 一文详解激光雷达的障碍物检测
  16. ppt图片设计素材下载网站搭建模板
  17. 面试官:如何在ASP.NET Core里给Action传递参数
  18. 在线问答未来会朝什么趋势发展?
  19. 定制网站制作的流程详解
  20. dos command for network

热门文章

  1. 啊哈C语言 第五章 【代码】【习题答案】
  2. python 的 轮子
  3. 排列组合———求一串数字可以有多少种不同的组合
  4. 正在连接到192.168.1.118 不能打开到主机的连接, 在端口 1521: 连接失败
  5. shell脚本_ grep和egrep命令
  6. 转载:Vsphere 出现 “ XXX esx.problem.hyperthreading.unmitigated.formatOnHost not found XXX”的解决方案
  7. excel提取每一行或每一列的最后一个数据
  8. 计算机配置打开命令行,win7开机f8进入修复计算机cmd装xp
  9. Nginx 下载安装与配置
  10. Word中批量更新域的两个小方法