SKU:RB-01C132 GearDuino控制器

來自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航搜索
01C13203.jpg

目錄

產(chǎn)品概述

GearDuino 控制器是專門為廣大機(jī)器人愛好者開發(fā)的一款多功能實用控制器。
將雙路直流電機(jī)驅(qū)動(TB6612FNG)、4路數(shù)字接口(可驅(qū)動舵機(jī))、4路模擬接口、1路IIC接口和1路串口整合在一起,能立刻啟動您的機(jī)器人拼裝套件項目和智能小車項目而不需額外添加器件。
人性化的排座顏色指示,讓您容易區(qū)分電源及信號線,這樣的設(shè)計不但兼容絕大多數(shù)現(xiàn)有的傳感器設(shè)計,還降低了傳感器插接錯誤幾率,為您帶來更加便捷的產(chǎn)品體驗。
它具有高達(dá) 3A 的驅(qū)動能力,6-12V 寬輸入電壓,每一路電機(jī)僅需兩個引腳便可以驅(qū)動,讓編程更加簡單。
GearDuino 控制器是基于 ATmega328P 芯片,它的使用和 Arduino UNO 一樣,您可以直接從 Arduino IDE 1.8.0 或更新的版本中啟動它。更重要的是 GearDuino 支持奧松編程吧 SuperBlockly 的在線云編程功能,您可以通過類似玩樂高玩具的方式用一塊塊圖形對象構(gòu)建出應(yīng)用程序,讓編程更加簡單、直觀!

產(chǎn)品參數(shù)

  1. 微處理器:ATmega328P-AU
  2. 引導(dǎo)裝載程序:Arduino UNO
  3. 串口轉(zhuǎn)換芯片:CH340T
  4. 電機(jī)驅(qū)動芯片:TB6612FNG
  5. 工作電壓:5V
  6. 供電方式:MicroUSB供電或外部電源供電6-12V
  7. 輸入電壓(推薦):7-11V
  8. 輸入電壓(極限):6-12V
  9. 輸出電壓:5V
  10. 電流輸出:0-3A(5V)
  11. 尺寸:38mm x 82mm
  12. 重量:17g
  13. 包裝:防靜電袋
  14. 固定孔:M3 * 3 個
  15. 引腳說明:
  • 數(shù)字接口:4個(可驅(qū)動舵機(jī))
  • 模擬接口:4個
  • 電機(jī)接口:2個
  • 擴(kuò)展接口:IIC接口 1個、串口通訊接口 1個、ICSP接口1個、雙路電機(jī)驅(qū)動模塊接口1個
  • 時鐘頻率:16MHz
  • 指示燈:電源指示燈 - 紅色;USB通訊指示燈 - 黃色(通信成功時亮起);D13引腳指示燈 - 黃色;電機(jī)運行指示燈 - 藍(lán)色/綠色;

使用方法

板載接口說明

01C13201.png
  • 數(shù)字接口:D2、D9、D10、D13
  • 模擬接口:A0 - A3
  • 擴(kuò)展接口:IIC * 1個、串行接口 * 1個
  • 外部電機(jī)模塊接口:Vin = 電源電壓;數(shù)字接口:D3、D8、D11、D12
  • 電機(jī)驅(qū)動芯片控制引腳
  • M1電機(jī)控制引腳:D5(PWM)控制速度;D4控制轉(zhuǎn)向
  • M2電機(jī)控制引腳:D6(PWM)控制速度;D7控制轉(zhuǎn)向
  • 數(shù)字接口:D3(PWM)、D8、D11(PWM)、D12
  • 模擬接口:A0、A1、A2、A3

GearDuino驅(qū)動安裝

1、驅(qū)動下載

2、windows 下的驅(qū)動安裝
解壓下載文件中的 CH34x_Install_Windows_v3_4.zip 文件,雙擊解壓出的 .exe 安裝文件,然后單擊安裝,即可完成驅(qū)動的安裝

01C13202.png

3、安裝完成后,彈出提示,關(guān)閉即可

01C13204.png

4、通過電腦的設(shè)備管理器可以查看端口,正常情況下會出現(xiàn)一個新的 COM 接口,在后面代碼上傳時,使用的就是這個端口號

01C13205.png

LED_blink

GearDuino 與 Arduino 控制器相同,有一個連接到數(shù)字接口 13 的板載測試 LED,這個實驗可以用來測試和熟悉控制板的使用。
打開 Arduino IDE

  • 通過“工具” - “開發(fā)板” - 選擇“Arduino UNO”開發(fā)板
  • 通過“工具” - “端口” - 選擇 CH340 的端口,這里是 COM5(注意:每個電腦的端口號可能不同,這不影響使用)

設(shè)置完成后,Arduino IDE 編譯器的右下角會有顯示

01C13206.png
  • Arduino_code_1

int ledPin = 13;                     // 定義LED為pin13
void setup()
{
    pinMode(ledPin, OUTPUT);       // 設(shè)置數(shù)字端口13為輸出模式
}

void loop()
{
    digitalWrite(ledPin, HIGH);   // 數(shù)字端口置高,LED亮
    delay(1000);                     // 延時
    digitalWrite(ledPin, LOW);    // 數(shù)字端口置低,LED滅
    delay(1000);                     // 延時
}
  • 在線云編程例程
01C13214.png

Motor_Driver

1、使用硬件

  • 2 * 黃色之流減速電機(jī)
  • 1 * 7.4V 1300mAh 鋰電池
  • 1 * GearDuino 控制器
  • 1 * Micro USB 數(shù)據(jù)線

2、硬件連接

01C13207.png

3、Arduino_code_2

#define PWA 5 //M1 速度控制                    
#define PWB 6 //M2 速度控制
#define DIRA 4 //M1 方向控制
#define DIRB 7 //M2 方向控制
   
//初始化函數(shù)
void setup(){    
  pinMode(PWA, OUTPUT);
  pinMode(PWB,OUTPUT);
  pinMode(DIRA,OUTPUT);
  pinMode(DIRB, OUTPUT);
}
//主函數(shù)
void loop()
{
  head(); //兩個綠燈亮
  delay(2000);
  Stop();
  delay(500);
  back(); //兩個藍(lán)燈亮
  delay(2000);
  Stop();
  delay(500);
  right(); //一個綠燈一個藍(lán)燈亮
  delay(2000);
  Stop();
  delay(500);
  left(); //一個綠燈一個藍(lán)燈亮
  delay(2000);
  Stop();
  delay(500);
}

void head()  //前進(jìn)
{
  analogWrite(PWA,150);
  analogWrite(PWB,150);
  digitalWrite(DIRA,HIGH);
  digitalWrite(DIRB,HIGH);
}

void back() //后退
{
  analogWrite(PWA,150);
  analogWrite(PWB,150);
  digitalWrite(DIRA,LOW);
  digitalWrite(DIRB,LOW);
}

void right()  //原地右轉(zhuǎn)
{
  analogWrite(PWA,150);
  analogWrite(PWB,150);
  digitalWrite(DIRA,HIGH);
  digitalWrite(DIRB,LOW);
}

void left()  //原地左轉(zhuǎn)
{
  analogWrite(PWA,150);
  analogWrite(PWB,150);
  digitalWrite(DIRA,LOW);
  digitalWrite(DIRB,HIGH);
}
void Stop()  //停止
{
  analogWrite(PWA,0);
  analogWrite(PWB,0);
  digitalWrite(DIRA,HIGH);
  digitalWrite(DIRB,HIGH);
}

3、在線云編程例程

01C13215.png

4、程序效果
兩個電機(jī)同時正轉(zhuǎn) 2 秒(前進(jìn)),停止 0.5s;反轉(zhuǎn) 2 秒(后退),停止 0.5 秒;一個正轉(zhuǎn)另一個反轉(zhuǎn) 2 秒(原地轉(zhuǎn)彎),停止 0.5 秒;一個正轉(zhuǎn)另一個反轉(zhuǎn) 2 秒(原地轉(zhuǎn)彎),停止 0.5 秒;以此循環(huán)。

I_O_test

GearDuino 有擴(kuò)展數(shù)字接口和模擬接口,通過本實驗,進(jìn)行數(shù)字接口 PWM 信號輸出及模擬接口數(shù)據(jù)輸入的測試。
1、使用硬件

  • 1 * 旋轉(zhuǎn)角度電位計模塊
  • 1 * LED 模塊
  • 1 * GearDuino 控制器
  • 1 * Micro USB 數(shù)據(jù)線
  • 2 * 3P 傳感器連接線

2、硬件連接

01C13208.png

3、Arduino_code_3

#define Led 9
#define Res A0
void setup() 
{
  pinMode(Led,OUTPUT);
}

void loop() {
  int val = analogRead(Res);
  char light = map(val, 0, 1023, 0, 255);
  analogWrite(Led, light);
  delay(100);
}

3、在線云編程例程

01C13216.png

4、程序效果
通過旋轉(zhuǎn)角度電位計模塊來調(diào)節(jié) LED 發(fā)光模塊的亮度。

IIC_test

1、使用硬件

  • 1 * ADXL345 加速度傳感器
  • 1 * GearDuino 控制器
  • 1 * Micro USB 數(shù)據(jù)線

2、硬件連接
三軸加速度傳感器可以直接連接在 GearDuino 控制器上,接口兼容,無需外加線材

01C13209.png

3、Arduino_code_4

#include <Wire.h>  //調(diào)用arduino自帶的I2C庫
#define Register_ID 0     //器件ID
#define Register_2D 0x2D  //靜止、活動、休眠、喚醒
#define Register_X0 0x32  //X軸數(shù)據(jù)0
#define Register_X1 0x33  //X軸數(shù)據(jù)1
#define Register_Y0 0x34  //Y軸數(shù)據(jù)0
#define Register_Y1 0x35  //Y軸數(shù)據(jù)1
#define Register_Z0 0x36  //Z軸數(shù)據(jù)0
#define Register_Z1 0x37  //Z軸數(shù)據(jù)1

int ADXAddress = 0xA7>>1;  //轉(zhuǎn)換為7位地址
int X0,X1,X_out;
int Y0,Y1,Y_out;
int Z1,Z0,Z_out;
double Xg,Yg,Zg;

void setup()
{
  Serial.begin(9600); //設(shè)置通信波特率
  Wire.begin();  //初始化I2C
  Wire.beginTransmission(ADXAddress);//發(fā)送芯片地址
  Wire.write(Register_2D);//特性控制
  Wire.write(8);//關(guān)閉休眠模式
  Wire.endTransmission();//結(jié)束發(fā)送
}
void loop()
{
  Wire.beginTransmission(ADXAddress);
  Wire.write(Register_X0);//請求X0數(shù)據(jù)
  Wire.write(Register_X1);//請求X1數(shù)據(jù)
  Wire.endTransmission();
  Wire.requestFrom(ADXAddress,2);//發(fā)送請求
  if(Wire.available()<=2);
  {
    X0 = Wire.read();//收到X0數(shù)據(jù)
    X1 = Wire.read();//收到X1數(shù)據(jù)
    X1 = X1<<8;
    X_out = X0+X1;
  }
  Wire.beginTransmission(ADXAddress);
  Wire.write(Register_Y0);
  Wire.write(Register_Y1);
  Wire.endTransmission();
  Wire.requestFrom(ADXAddress,2);
  if(Wire.available()<=2);
  {
    Y0 = Wire.read();
    Y1 = Wire.read();
    Y1 = Y1<<8;
    Y_out = Y0+Y1;
  }
  Wire.beginTransmission(ADXAddress);
  Wire.write(Register_Z0);
  Wire.write(Register_Z1);
  Wire.endTransmission();
  Wire.requestFrom(ADXAddress,2);
  if(Wire.available()<=2);
  {
    Z0 = Wire.read();
    Z1 = Wire.read();
    Z1 = Z1<<8;
    Z_out = Z0+Z1;
  }
  Xg = X_out/256.00;//把輸出結(jié)果轉(zhuǎn)換為重力加速度g,精確到小數(shù)點后2位。
  Yg = Y_out/256.00;
  Zg = Z_out/256.00;
  Serial.print(" X = ");
  Serial.print(Xg); 
  Serial.print(" Y = ");
  Serial.print(Yg); 
  Serial.print(" Z = ");
  Serial.println(Zg); 
  delay(300);  //刷新頻率0.3秒
  
}

3、在線云編程例程

4、程序效果
通過端口可查看三軸加速度傳感器輸出數(shù)據(jù)

01C13210.png

UART_test

GearDuino UART 接口可以非常方便的連接藍(lán)牙和wifi模塊,如圖所示:

01C13213.jpg

Stepper_Motor

1、使用硬件

  • 1 * 步進(jìn)電機(jī)驅(qū)動板
  • 1 * 42 式步進(jìn)電機(jī)
  • 1 * GearDuino 控制器
  • 1 * Micro USB 數(shù)據(jù)線
  • 1 * 7.4V 1300mAH 鋰電池
  • 若干杜邦線

2、硬件連接

01C13217.png

3、Arduino_code_2

int dirPin = 8;
int stpPin = 3;

void setup(){
  pinMode(dirPin, OUTPUT);
  pinMode(stpPin, OUTPUT);
}

void step(boolean dir,int steps)
{
  digitalWrite(dirPin,dir);
  delay(50);
  for(int i=0;i<steps;i++){
    digitalWrite(stpPin, HIGH);
    delayMicroseconds(400);
    digitalWrite(stpPin, LOW);
    delayMicroseconds(400); 
  }
}

void loop()
{
  step(1,200);
  delay(1000);
  step(0,200);
  delay(1000);
}

4、在線云編程例程

01C13218.png

5、程序效果
步進(jìn)電機(jī)驅(qū)動板全速模式下,步進(jìn)電機(jī)正傳 360 度后反轉(zhuǎn) 360 度。

產(chǎn)品相關(guān)推薦

Erweima.png

資料下載

例程下載鏈接:https://pan.baidu.com/s/1Rk4KX3IXUDQqkspisdmTBA 提取碼:qs62

產(chǎn)品購買地址

周邊產(chǎn)品推薦