(SKU:DFR0502) Gravity:IO Expansion & Motor Driver Shield V1.1

来自DFRobot Product Wiki
跳转至: 导航搜索
Gravity:IO Expansion & Motor Driver Shield V1.0 (SKU: DFR0502)

目录

简介

GravityIO Expansion & Motor Driver Shield 是一块针对Arduino平台有电机驱动需求而设计的扩展板。扩展板上集成了HR8833电机驱动芯片 可以驱动两路直流电机。对比其它扩展板 GravityIO Expansion & Motor Driver Shield 具有人性化的设计。扩展板上的接口均用排针/排母两种 方式引出。每种接口都有丝印标注,对于串口、 电源、XBee接口提供了状态指示灯。是arduino平台机器人及小车设计的不二之选。

产品参数

  • 把Arduino的端口扩展成3P接口可直插3P传感器模块。
  • 14个数字口(6个PWM口),6个模拟口。
  • 6 PWM 通道 (Pin11,Pin10,Pin9,Pin6,Pin5,Pin3)
  • 2个I2C接口
  • 2个SPI接口
  • 1个串口
  • 丰富的通信和存储模块接口。中部直插Xbee封装的蓝牙、WIFI和Xbee通信模块。
  • 5.5V的时候提供3.3V的供电,兼容更多3.3V的元件。
  • 2路直流电机驱动器 (电机电源由vin脚引入最大电压为12v)
  • 与arduino接口完全兼容
  • DC输出:5V/3.3V直流外接电源输出
  • XBee接口

应用

  • 可应用于数字/模拟传感器
  • 可应用于蓝牙无线扩展插座
  • 可应用于直流电机驱动

接口说明

DFR0502 BOARD 3.png

细节说明

LED

扩展板上,板载了一个LED,该LED连接到数字引脚13号。

D&A

Gravity:IO Expansion & Motor Driver Shield V1.0 扩展板有“D”和“A”的字样。

Dicon 1.png
Aicon 1.png

“D”:代表的是数字信号(Digital Signal)。也就是对应连接到控制板的数字引脚。
“A”:代表的是模拟信号(Analog Signal)。也就是对应连接到控制板的模拟引脚。

而IO扩展板的最大的好处之一,就是相对于控制板上的仅限的几个电源接口,扩展板大大了增加了电源接口和GND接口,不用担心,如果连接多个传感器时,会出现电源接口不够的情况。 在板子上,数字引脚和模拟引脚下面都会有对应一排“红色”排阵,以及一排“黑色”排针。这就是扩展出来的电源接口。红色排阵是与电源相连的,黑色排阵对应与GND相通。

特别说明下DF中的颜色区分:<br>
绿色:数字信号(Digital Signal)<BR>
蓝色:模拟信号(Analog Signal)<br>
红色:电源<br>
黑色:GND<br>
Sensor des 2.png

之所以设计成信号,VCC,GND这样的顺序,是为了与传感器的线序一一对应,这样就大大省去了接线的困扰。

运行/下载 切换

新版的扩展板增加了“运行”与“下载代码”的切换键。下载代码时,拨到“PROG”档。运行时,拨到“RUN”档。

应用示例

Arduino I2C接口的LCD屏示例代码

 /*!
  * file HelloWorld.ino
  * brief Show Show hello world.  
  * Copyright	[DFRobot](http://www.dfrobot.com)
  * Copyright	GNU Lesser General Public License  *
  * @author [DongZi](1185787528@qq.com)
  * version  V1.0
  * date  2017-07-05
  */
#include <Wire.h>
#include "DFRobot_RGBLCD.h"

const int colorR = 255;
const int colorG = 0;
const int colorB = 0;

DFRobot_RGBLCD lcd(16,2);  //16 characters and 2 lines of show

void setup() {
    // initialize
    lcd.init();
    
    lcd.setRGB(colorR, colorG, colorB);
    
    // Print a message to the LCD.
    lcd.print("hello, world!");

    delay(1000);
}

void loop() {
    // set the cursor to column 0, line 1
    // (note: line 1 is the second row, since counting begins with 0):
    lcd.setCursor(0, 1);
    // print the number of seconds since reset:
    lcd.print(millis()/1000);

    delay(100);
}
  • 驱动I2C接口的LCD屏效果图
应用于I2C接口的LCD屏






























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](1185787528@qq.com)
  * version  V1.0
  * date  2017-07-05
  */
  /* motor pin  definition*/

void setup() {
pinMode(4,OUTPUT);  
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-CW\1-CCW,speed_m   0~255;
{  if(motor_n==1) 
   {   if(direction_m==1) 
        {digitalWrite(4,HIGH);
         analogWrite(5,speed_m);
        }
        else
        {digitalWrite(4,LOW);
         analogWrite(5,speed_m);
        }
    }
    else
    {
       if(direction_m==1)
        {digitalWrite(7,HIGH);
         analogWrite(6,speed_m);
        }
        else
        {digitalWrite(7,LOW);
         analogWrite(6,speed_m);
        }
      }
  
  }
void loop() {
 motor_c( 0,0,127 );// 0、CW、127 
 motor_c( 1,0,127 );// 1、CW、127
 delay(5000); 
 motor_c( 0,1,200 );// 0、CCW、200
 motor_c( 1,1,200 );// 1、CCW、200
 delay(5000);
}
  • 直流电机驱动效果图
应用于直流电机驱动






























  • 结果 : 电动机以较慢的速度顺时针旋转5秒钟,再以较快的速度旋转5秒钟 如此 不断地循环下去。
  • 注: 如电机旋转方向 和预期方向相反 只需改变电机的线序即可。

疑难解答

更多问题及有趣的应用,请访问论坛

更多

Nextredirectltr.pngGo Shopping [1]

个人工具
名字空间

变换
操作
导航
工具箱