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

来自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 1.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*/
#define  AN1 5  
#define  AN2 6 
#define  BN1 9
#define  BN2 10 
void IO_innt()  
 {char  i;
     for (i=5 ;i<10;i++)
      pinMode(i,OUTPUT);
  } 
void Motor_CW(char M, unsigned char a)//Clockwise(顺时针方向)  M  电机标号 1 左侧 2右侧  a 转速控制参数(0--255)
        {   if(M==1)
              {digitalWrite(AN2,LOW);
               analogWrite (AN1,a);
                }
             if(M==2)
               {digitalWrite(BN2,LOW);
                analogWrite (BN1,a);
                }           
          }
void Motor_CCW(char M0, unsigned char b)//Counter-clockwise direction(逆时针方向)
        {   if(M0==1)
              {digitalWrite(AN1,LOW);
               analogWrite (AN2,b);
                }
            if(M0==2)
               {digitalWrite(BN1,LOW);
                analogWrite (BN2,b);
                }           
          }
void Motor_stop()   //  motor stop
   { digitalWrite(AN1,HIGH);
     digitalWrite(AN2,HIGH);
     digitalWrite(BN1,HIGH);
     digitalWrite(BN2,HIGH);
    }            
void setup() {
  IO_innt();
  digitalWrite(8,HIGH); // pin 8  enable the electric motor
}
void loop() { 
  Motor_CW(1, 100);
  Motor_CW(2, 100);
delay (5000);
  Motor_stop();
  delay(5);
  Motor_CCW(1, 255);
  Motor_CCW(2, 255);
  delay (5000); 
}
  • 直流电机驱动效果图
应用于直流电机驱动























疑难解答

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

更多

Nextredirectltr.pngGo Shopping [1]

个人工具
名字空间

变换
操作
导航
工具箱