简介
Gravity: IO Expansion & Motor Driver Shield是一块与Arduino兼容的扩展板。除了引出Arduino的通用引脚外,扩展板还为每一个管脚单独配备了VCC和GND端口,方便了传感器的接插。此外扩展板还预留了I2C接口、串口、Xbee插槽等丰富接口资源,可以更加方便地外接设备。
IO扩展板上板载了一个TB6612FNG双路电机驱动芯片,可同时推动两路电机,支持PWM控制方式,单通道连续驱动电流1.2A,峰值可达3.2A,可兼容市面上的绝大部分各种微型直流电机。
扩展板接口均用排针/排母两种形式,每种接口都有丝印标注,对于串口、电源、XBee接口提供了单独的状态指示灯,非常便于使用。在小型智能机器人控制场合,使用该扩展板可有效降低成本,并极大提高使用便利性。
产品特性
- 兼容Arduino控制器接口
- 把Arduino的端口扩展成Gravity-3Pin接口,可直插3Pin传感器模块。
- 丰富的通信和存储模块接口。中部可直插Xbee封装的蓝牙、WIFI和Xbee通信模块。
- 程序下载开关,可避免Arduino UNO/Mega下载代码时,串口容易被占用的尴尬。
- 采用TB6612FNG驱动芯片的2路直流电机驱动器(电机电源由vin脚独立引入)
产品参数
- Gravity IO扩展功能
- 14个数字口
- 6个模拟口
- 2个I2C接口
- 2个SPI接口 (兼容Arduino UNO R3)
- 1个串口
- 支持XBee接口
- 电机驱动功能
- 输出电流:1.2A单通道连续驱动电流。
- 启动/峰值电流:2A(连续脉冲)/3.2A(单脉冲)
- 输入电压:12V(峰值)
- 占用管脚:D4,D5,D6,D7 (注意:控制电机时,该管脚将被占用)
- 尺寸:68.5 * 53.3mm
- 重量:36g
管脚布局
细节说明
- LED “L”
扩展板上,板载了一个LED,该LED连接到数字引脚13号。
- D&A
Gravity: IO Expansion & Motor Driver Shield V1.0 扩展板有“D”和“A”的字样。
“D”:代表的是数字信号(Digital Signal)。也就是对应连接到控制板的数字引脚。
“A”:代表的是模拟信号(Analog Signal)。也就是对应连接到控制板的模拟引脚。
而IO扩展板的最大的优点之一,就是相对于控制板上的仅限的几个电源接口,扩展板大大了增加了电源接口和GND接口,因此完全不用担心连接多个传感器时会不会出现电源接口不够的情况。
在板子上,数字引脚和模拟引脚下面都会有对应一排“红色”排针,以及一排“黑色”排针。这就是扩展出来的电源接口。红色排针是与电源相连的,黑色排针对应与GND相通。
特别说明下DF中的颜色区分:
绿色:数字信号(Digital Signal)
蓝色:模拟信号(Analog Signal)
红色:电源(VCC)
黑色:地(GND)
之所以设计成信号,VCC,GND这样的顺序,是为了与传感器的线序一一对应,这样就大大省去了接线的困扰。
- 运行/下载切换(RUN/PROG)
新版的扩展板增加了“运行”与“下载代码”的切换开关。当底下使用Arduino UNO/Mega等控制器时,由于程序下载和XBee使用的是同一个串口,会由于串口被占用,导致下载失败的问题 下载代码时,拨到“PROG”档。运行时,拨到“RUN”档。
应用示例
Arduino 直流电机驱动示例代码
/*!
* file motor.ino
* brief Show Show The motor turns clockwise or counterclockwise.
* Copyright [DFRobot](http://www.dfrobot.com)
* Copyright GNU Lesser General Public License *
* @author [DongZi](dongzi.liu@dfrobot.com)
* version V1.0
* date 2017-07-05
*/
void setup() {
pinMode(4,OUTPUT); /* define pin (4,5,6,7) out*/
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
}
void motor_c(char motor_n,char direction_m,int speed_m ) // motor_n 所要驱动的电机编号(0 代表M1 1代表M2) ,direction_m 电机的旋转方向(0 顺时针 1逆时针),speed_m 电机转速控制(范围 0~255)越大转速越快;
{ if(motor_n==1)
{ if(direction_m==1)
{digitalWrite(4,HIGH); // pin 4 控制 M2 转向
analogWrite(5,speed_m); //pin 5 控制M2 转速
}
else
{digitalWrite(4,LOW);
analogWrite(5,speed_m);
}
}
else
{
if(direction_m==1)
{digitalWrite(7,HIGH); // pin 7 控制 M1 转向
analogWrite(6,speed_m);//pin 6 控制M1 转速
}
else
{digitalWrite(7,LOW);
analogWrite(6,speed_m);
}
}
}
void loop() {
motor_c( 0,0,127 );// M1 以127的速度分量(满分度为255)顺时针旋转
motor_c( 1,0,127 );// M2 以127的速度分量(满分度为255)顺时针旋转
delay(5000); //延时5秒钟
motor_c( 0,1,200 );// M1 以200的速度分量(满分度为255)逆时针旋转
motor_c( 1,1,200 );// M2 以200的速度分量(满分度为255)逆时针旋转
delay(5000); //延时5秒钟
}
- 直流电机驱动效果图
- 结果 : 电动机以较慢的速度顺时针旋转5秒钟,再以较快的速度逆时针旋转5秒钟,就这样不断地循环下去。
- 注: 如电机旋转方向 和预期方向相反 只需改变电机的线序即可。
使用本扩展板制作的可调节角度发射子弹的拼装大炮 访问应用贴
- 大炮效果图
几款实用的驱动及IO口扩展板选型指南' 访问该文章'
常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。 |