DIY树莓派小车(一)树莓派4B+TB6612FNG驱动直流电机

本文记录了利用暑假时间制作树莓派小车的过程,采用双轮差速方式,通过WiFi远程控制,并配备摄像头和超声波测距模块。文章详细介绍了所需材料、TB6612FNG驱动模块的接口及接线方法,以及编写测试代码控制小车前进、后退、转弯和停止的操作。最后展示了测试结果和代码运行效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

趁着暑假时间充裕,准备制作一辆简易的树莓派小车,让树莓派不再吃灰,写此文记录折腾的过程。

小车需求简要介绍

  • 采用双轮差速方式移动

    双轮方式需要的零件相对较少,省钱即是王道。

  • 通过网络远程控制小车

    可通过wifi远程控制,或者配置内网穿透实现任意地点控制。

  • 能够实时传送图像

    安装摄像头模块

  • 超声波测距

    安装超声波测距模块

  • 小车的结构大致仿照微雪电子的Alphabot2,详见AlphaBot2 for micro:bit | Micro:bit轮式智能机器人 智能车套餐 (waveshare.net)

AlphaBot2-for-micro-bit

材料

  • 树莓派4B
  • N20减速电机 x 2
  • 43MM橡胶轮胎 x 2
  • 小车万向轮 x 2
  • TB6612FNG驱动模块
  • 摄像头模块
  • 超声波测距模块
  • 导线、面包板等

TB6612FNG驱动接口详解

TB6612FNG驱动如下图所示

TB6612FNG驱动模块

接口说明:

  1. VM:电机驱动电源输入(2.74-10.8V)
  2. VCC:逻辑电平输入(5.0V)
  3. AO1和AO2:接直流电机A
  4. BO2和BO1:接直流电机B
  5. PWMA:控制电机A的转速
  6. AIN1和AIN2:控制电机A(停止、正转、反转)
  7. STBY:正常工作/待机状态控制端
  8. PWMB:控制电机B的转速
  9. BIN1和BIN2:控制电机B(停止、正转、反转)
  10. GND:接地

AIN1和AIN2用于控制电机A停止、正转、反转,真值表如下

AIN1001
AIN2010
状态停止正转反转

BIN1和BIN2的真值表同上

接线

附上树莓派40PIN引脚对照表

树莓派40PIN引脚对照表

树莓派GPIO和TB6612FNG的接线情况如下表

树莓派GPIO接口(BCM编码)TB6612FNG驱动接口说明
27STBY设置TB6612FNG驱动模块的状态(工作/待机)
18PWMA基于PWM控制电机A转速
14AIN1控制电机A停止、正转、反转
15AIN2控制电机A停止、正转、反转
19PWMB基于PWM控制电机B转速
23BIN1控制电机B停止、正转、反转
24BIN2控制电机B停止、正转、反转

电机驱动和树莓派4B共用一个5V 3A的电源,具体接线图如下(接线图是我用Notability画的,略显粗糙,将就一下)

接线草图

实际接线图
接线图

测试代码

小车需要有前进、后退、左转、右转、停止等5个动作,使用python编写测试代码如下

#motorTest.py
#导入 GPIO库
import RPi.GPIO as GPIO
import time

#设置 GPIO 模式为 BCM
GPIO.setmode(GPIO.BCM)

#定义引脚
STBY = 27
PWMA = 18
AIN1 = 14
AIN2 = 15
PWMB = 19
BIN1 = 23
BIN2 = 24

#设置 GPIO 的工作方式
GPIO.setup(STBY, GPIO.OUT)
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)
pwma = GPIO.PWM(PWMA,300)
pwmb = GPIO.PWM(PWMB,300)


# 前进或后退(大于零前进,小于零后退)
def goForward(speed):
    if(speed>=0):
        GPIO.output(AIN1,GPIO.LOW)
        GPIO.output(AIN2,GPIO.HIGH)
        GPIO.output(BIN1,GPIO.LOW)
        GPIO.output(BIN2,GPIO.HIGH)
        pwma.start(speed)
        pwmb.start(speed)
        time.sleep(0.02)
    else:
        GPIO.output(AIN2,GPIO.LOW)
        GPIO.output(AIN1,GPIO.HIGH)
        GPIO.output(BIN2,GPIO.LOW)
        GPIO.output(BIN1,GPIO.HIGH)
        pwma.start(-speed)
        pwmb.start(-speed)
        time.sleep(0.02)

# 左转或右转(大于零左转,小于零右转)
def turnLeft(speed):
    if(speed>=0):
        GPIO.output(AIN2,GPIO.LOW)
        GPIO.output(AIN1,GPIO.HIGH)
        GPIO.output(BIN1,GPIO.LOW)
        GPIO.output(BIN2,GPIO.HIGH)
        pwma.start(speed)
        pwmb.start(speed)
        time.sleep(0.02)
    else:
        GPIO.output(AIN1,GPIO.LOW)
        GPIO.output(AIN2,GPIO.HIGH)
        GPIO.output(BIN2,GPIO.LOW)
        GPIO.output(BIN1,GPIO.HIGH)
        pwma.start(-speed)
        pwmb.start(-speed)
        time.sleep(0.02)

def motorStop():
    GPIO.output(AIN1,GPIO.LOW)
    GPIO.output(AIN2,GPIO.LOW)

GPIO.output(STBY,GPIO.HIGH)
#以60%的速度前进
goForward(60)
time.sleep(2)
#以60%的速度后退
goForward(-60)
time.sleep(2)
#左转
turnLeft(60)
time.sleep(2)
#右转
turnLeft(-60)
time.sleep(2)
#停止
motorStop()

pwma.stop()
pwmb.stop()
GPIO.cleanup()

测试结果

将上述代码保存到motorTest.py中,运行测试脚本python3 motorTest.py

测试结果视频见知乎DIY树莓派小车(一)树莓派4B+TB6612FNG驱动直流电机

<think>好的,用户想查找创乐博树莓派拓展版的相关资料,比如下载链接、文档教程。首先,我需要确认创乐博是哪个公司,他们的产品通常在哪里发布资料。记得树莓派的官方论坛社区可能会有第三方配件的信息,但不确定是否有创乐博的资料。用户提到的参考引用里提到了官网下载系统、烧录远程连接,所以可能拓展版的资料也可能在官网或他们自己的网站。 接下来,我需要检查用户提供的引用内容。引用1提到树莓派3B的入门教程,引用2是关于系统下载烧录,引用3涉及文件传输配置。但这些引用中没有直接提到创乐博的拓展版。可能需要建议用户访问创乐博的官方网站,或者查找他们的产品手册。另外,第三方论坛如树莓派中文社区、极客工坊可能有用户分享的资料。GitHubGitee也是常见的开源项目托管平台,可能会有相关代码文档。 用户可能需要具体的步骤,比如如何搜索,去哪里找。要提醒他们使用正确的关键词,比如全称“创乐博树莓派拓展版”,加上型号如果有的话。电商平台的产品页面有时会提供资料下载链接,这也是个途径。如果找不到,联系官方客服可能有效。 另外,要确保用户知道如何安装配置拓展版,可能需要参考通用的树莓派外设配置教程,比如GPIO使用、库安装等。如果创乐博提供Python库,可能需要pip安装,或者查看他们的文档。需要分步骤说明,结构清晰,确保用户能步步找到所需资料。</think>### 创乐博树莓派拓展版资料查找指南 #### 、官方渠道优先 1. **访问创乐博官网** 建议直接搜索“创乐博官网”,在“技术支持”或“下载中心”栏目中查找对应拓展版的文档、驱动教程。部分厂商会提供完整的$PDF$手册示例代码[^1]。 2. **产品包装与随附资料** 检查拓展版包装内的二维码或快速入门指南,部分硬件厂商会通过短链接提供在线文档库(例如:`https://docs.chxxxx.com`)。 #### 二、第三方技术平台 1. **树莓派中文社区** 在论坛中搜索关键词`创乐博 拓展版`,查看是否有用户分享的使用笔记或资源合集。例如: ```markdown [树莓派GPIO扩展板配置教程| 创乐博传感器套件实战] ``` 2. **开源代码平台** - GitHub/Gitee:搜索`CJMCU-XXXX`(替换为具体型号),部分开发板会提供Python示例项目 - 示例仓库可能包含: ```python # 创乐博温湿度传感器示例代码 import cjmcu_library sensor = cjmcu_library.DHT11(pin=4) print(sensor.read_data()) ``` #### 三、电商平台详情页 1. **京东/淘宝产品页** 在购买链接的“商品详情”或“客户评价”中,部分商家会提供网盘链接(如百度网盘)包含: - 电路原理图($V_{cc}$与GPIO电压匹配说明) - 驱动安装视频 - 常见问题解答(FAQ) #### 四、配置与开发环境 1. **硬件接口验证** 通过`pinout`命令查看树莓派GPIO编号,确认拓展版引脚映射关系: ```bash $ pinout ``` ![树莓派GPIO引脚图](https://example.com/gpio-diagram.png) 2. **Python库安装** 若官方提供库文件,可通过`pip`安装: ```bash pip install cjmcu-raspberry --user ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值