“SKU:RB-01C073A 树莓派电机驱动板”的版本间的差异
(→规格参数) |
(→超声波测试例程) |
||
第112行: | 第112行: | ||
===超声波测试例程=== | ===超声波测试例程=== | ||
− | * 程序链接:https://pan.baidu.com/s/ | + | * 程序链接:https://pan.baidu.com/s/1bHs4vo23CNdl0NVBpCUODQ 提取码:6o0d |
+ | |||
需要将下载的示例程序复制到树莓派的 pi 目录下,可以使用 putty 登录到 Raspberry Pi 控制器,输入命令"cd RB-01C073A Raspberry Pi Motor Driver URF02"进入程序目录,然后输入"sudo python URF02.py"命令来执行程序。 | 需要将下载的示例程序复制到树莓派的 pi 目录下,可以使用 putty 登录到 Raspberry Pi 控制器,输入命令"cd RB-01C073A Raspberry Pi Motor Driver URF02"进入程序目录,然后输入"sudo python URF02.py"命令来执行程序。 | ||
* 使用 Putty 登录到 Raspberry Pi 方法可以参考:[http://www.makerspace.cn/forum.php?mod=viewthread&tid=5681&extra=page%3D1 Raspberry Pi 基础教程汇总] | * 使用 Putty 登录到 Raspberry Pi 方法可以参考:[http://www.makerspace.cn/forum.php?mod=viewthread&tid=5681&extra=page%3D1 Raspberry Pi 基础教程汇总] |
2021年12月16日 (四) 15:33的版本
目录 |
产品概述
新版树莓派电机驱动板采用的电路和接口设计,版型符合树莓派2代的设计,与树莓派完美结合。供电电源采用LM2596开关稳压电源,具有更高效率,更大输出电流,更低的发热量等特点。电机驱动板新品采用L293D,更小的封装尺寸,更合理的电路设计。对外接口方面,采用了奥松新一代防插反接口,和奥松的系列传感器模块匹配,更可以直接安装URF02超声波传感器和蓝牙模块,制作树莓派小车更加方便、简洁。如果您想制作树莓派小车,无需东奔西走,奥松机器人配套全都有!
规格参数
1.电机驱动输出接口:双路双向直流电机驱动
2.电源输入接口:7~12V DC
3.OC输出接口:两路集电极开路输出(25mA,5V电平)
4.板载指示灯:两个可编程控制LED发光二极管
5.开关量接口:两路开关量输入/输出(3.3V电平)
6.UART接口:3.3V电平6Pin串行接口,可直接连接蓝牙模块
7.I2C接口:5V电平I2C接口,可驳接各类I2C接口模块
8.超声波模块接口:可直接连接URF02超声波模块
9.树莓派接口:支持树莓派、树莓派B+、树莓派2等
10.外形尺寸:56*40mm
使用方法
接口示意图
控制引脚说明
1.电源输入端接入7—12V直流电源,电机驱动板会给树莓派提供5V电源,所以树莓派插接电机驱动板后,只需给驱动板进行供电而树莓派无需额外的电源。
2.板载 LED1、LED2,对外接口 OC1、OC2 分别是树莓派的 GPIO7、8、22、27 经过 74HC14D 反相器的输出端,OC1、OC2 分别连接一个 LED 模块,使用树莓派的 IO 输出高低电平信号,通过74HC14D 驱动 LED 点亮与熄灭。
GPIO7 输出高电平,LED1 点亮,输出低电平,LED1 熄灭;
GPIO8 输出高电平,LED2 点亮,输出低电平,LED2 熄灭;
GPIO22 输出高电平,OC1 外接 LED 点亮,输出低电平,OC1 外接 LED 熄灭;
GPIO27 输出高电平,OC2 外接 LED 点亮,输出低电平,OC2 外接 LED 熄灭;
3.电机A口的使能接 GPIO10,方向控制接 GPIO25,电机B口的使能接 GPIO17,方向控制接 GPIO4,使用树莓派控制引脚可以进行控制电机的启动停止和调速,通过方向引脚控制电机转向。
- A 口使能 GPIO10 输出高电平,A 口方向 GPIO25 输出高电平,A口电机顺时针旋转;
- A 口使能 GPIO10 输出高电平,A 口方向 GPIO25 输出低电平,A口电机逆时针旋转;
- A 口使能 GPIO10 输出低电平,A 口电机停止转动;
- B 口使能 GPIO17 输出高电平,B 口方向 GPIO4 输出高电平,B口电机顺时针旋转;
- B 口使能 GPIO17 输出高电平,B 口方向 GPIO4 输出低电平,B口电机逆时针旋转;
- B 口使能 GPIO17 输出低电平,B 口电机停止转动;
4.SW1、SW2 接口经过限流电阻后直接连接在树莓派的 GPIO 11、9.在 SW1、GND 之间和 SWD、GND 之间,分别连接一个碰撞开关,GPIO11、9 设置为输入,默认电平为高电平(内部有上拉电阻),当开关闭合时,GPIO 的电平会被拉低。
5.I2C 接口直接连接到树莓派的I2C引脚(GPIO2 | SDA,GPIO3 | SCL),可以扩展I2C模块。
6.UART 接口直接连接到树莓派的UART引脚(GPIO14 | TX,GPIO15 | RX),可以扩展UART模块。
7.URF02(超声波接口)的OUTPUT经过分压直接连接到 GPIO18,INPUT 直接连接到 GPIO23,树莓派的 GPIO23 至高10us以上,然后置低,等待 GPIO18 接收到高电平信号时,高电平结束时停止,计算高电平时间,所测量的距离 = 高电平时间*声速/2。
插接方法
基本测试代码
- 需要在树莓派中新建一个 python 程序文件,然后将代码复制到文件中,保存,但是一定要注意保存的目录是需要记住的。
- 使用 Putty 登录到 Raspberry Pi 方法可以参考:Raspberry Pi 基础教程汇总
#!/usr/bin/env python # encoding: utf-8 import RPi.GPIO import time SW1, SW2=11,9 OC1, OC2=22,27 LED1, LED2=7,8 EA = 10 EB = 17 directionA = 25 directionB = 4 RPi.GPIO.setmode(RPi.GPIO.BCM) RPi.GPIO.setup(OC1, RPi.GPIO.OUT) RPi.GPIO.setup(OC2, RPi.GPIO.OUT) RPi.GPIO.setup(EA, RPi.GPIO.OUT) RPi.GPIO.setup(EB, RPi.GPIO.OUT) RPi.GPIO.setup(directionA, RPi.GPIO.OUT) RPi.GPIO.setup(directionB, RPi.GPIO.OUT) RPi.GPIO.setup(LED1, RPi.GPIO.OUT) RPi.GPIO.setup(LED2, RPi.GPIO.OUT) RPi.GPIO.setup(SW1, RPi.GPIO.IN) RPi.GPIO.setup(SW2, RPi.GPIO.IN) try: while True: time.sleep(0.01) if (RPi.GPIO.input(SW2) == 1 or RPi.GPIO.input(SW1) == 1): RPi.GPIO.output(OC2, False) RPi.GPIO.output(LED2,True) RPi.GPIO.output(OC1, True) RPi.GPIO.output(LED1,False) RPi.GPIO.output(EA, True) RPi.GPIO.output(EB, True) RPi.GPIO.output(directionB, False) RPi.GPIO.output(directionA, False) time.sleep(1) RPi.GPIO.output(directionB, True) RPi.GPIO.output(directionA, True) time.sleep(1) else: RPi.GPIO.output(OC2, True) RPi.GPIO.output(LED2,False) RPi.GPIO.output(OC1, False) RPi.GPIO.output(LED1,True) RPi.GPIO.output(EA, False) RPi.GPIO.output(EB, False) except KeyboardInterrupt: pass RPi.GPIO.cleanup()
代码功能
此代码主要为了功能测试,在代码上传后 LED2 亮起,如果 OC2 外接一个 LED ,也会亮起,电机不会转动。
按下 SW1 外接的按键或者 SW2 外接的按键,LED2 熄灭,如果 OC2 外接一个 LED ,也会熄灭。LED1 亮起,如果 OC1 外接一个 LED ,也会亮起。
超声波测试例程
- 程序链接:https://pan.baidu.com/s/1bHs4vo23CNdl0NVBpCUODQ 提取码:6o0d
需要将下载的示例程序复制到树莓派的 pi 目录下,可以使用 putty 登录到 Raspberry Pi 控制器,输入命令"cd RB-01C073A Raspberry Pi Motor Driver URF02"进入程序目录,然后输入"sudo python URF02.py"命令来执行程序。
- 使用 Putty 登录到 Raspberry Pi 方法可以参考:Raspberry Pi 基础教程汇总
- 注意程序中我们使用了一个库文件"botbook_gpio",库文件可以直接从上面的例子程序下载中获取到,如果不使用库文件或者库文件和程序文件不是在同一个目录下,会造成程序执行失败。
import time import botbook_gpio as gpio def readDistanceCm(): triggerPin = 23 echoPin = 18 v=(331.5+0.6*20) # m/s gpio.mode(triggerPin, "out") gpio.mode(echoPin, "in") gpio.interruptMode(echoPin, "both") gpio.write(triggerPin, gpio.LOW) time.sleep(0.5) gpio.write(triggerPin, gpio.HIGH) time.sleep(1/1000.0/1000.0) gpio.write(triggerPin, gpio.LOW) t = gpio.pulseInHigh(echoPin) # s d = t*v d = d/2 return d*100 # cm def main(): while True: d = readDistanceCm() print "Distance is %.2f cm" % d time.sleep(0.5) if __name__ == "__main__": main()
程序效果
程序执行后,在 Putty 的登录窗口会持续显示出当前超声波检测的前方障碍物距离,单位"cm",如果要退出程序,可以使用“Ctrl + C”组合键。
产品相关推荐
产品购买地址
周边产品推荐
相关问题解答
新买的树莓派2,HDMI无信号,ACT灯常亮
Raspberry Pi 常见问题的解决方法
相关学习资料
玩转树莓派系列视频教程(一)
玩转树莓派系列视频教程(二)
玩转树莓派系列视频教程(三)
玩转树莓派系列视频教程(四)
玩转树莓派系列视频教程(五)
树莓派新手教程三---使用raspi-config工具配置树莓派
树莓派新手教程二---如何安装和启动你的树莓派!
奥松机器人技术论坛树莓派控制器版块