(SKU:RB-01C102)Steven 控制器

來(lái)自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航搜索
01C10201.png

目錄

產(chǎn)品概述

Steven 控制器2015年新推出的 mini 控制器,主控芯片采用 ATMEGA32U4,但是“麻雀雖小,五臟俱全”板載一個(gè)數(shù)字 IO 接口、一個(gè)模擬 IO 接口及一個(gè) I2C 接口。通過(guò)外部電源供電(7-15V),數(shù)字端口可驅(qū)動(dòng)舵機(jī)工作。板載4顆M3固定孔,使用靈活,控制器PCB采用沉金工藝,外觀美觀大方,非常適合對(duì)控制器體積要求比較嚴(yán)格的場(chǎng)合。

規(guī)格參數(shù)

  1. 微控制器:ATMEGA32U4(處理速度可達(dá)16MIPS)
  2. 工作電壓:DC +5V(Micro USB直接供電)
  3. 外部供電電壓:建議 DC +7V - +15V
  4. 輸出電壓: DC +5V
  5. 數(shù)字接口:D10
  6. IIC 接口:1個(gè)(D2、D3)
  7. 模擬接口:A1
  8. 尺寸大?。?0mm x 50mm
  9. 重量大?。?g
  10. 固定孔:M3 * 4個(gè)
  11. 復(fù)位按鍵:1個(gè)
  12. 指示燈:紅色(供電指示燈)

接口說(shuō)明

01C10203.png

詳解說(shuō)明:

  • 1號(hào)位置:數(shù)字接口(D10),可以輸出 PWM 信號(hào)。
  • 2號(hào)位置:模擬輸入接口(A1),用于連接輸出是模擬量信號(hào)的傳感器。
  • 3號(hào)位置:ICSP 下載接口,可用于燒錄產(chǎn)品 bootloader
  • 4號(hào)位置:復(fù)位按鍵,按下后,控制器復(fù)位
  • 5號(hào)位置:USB 通信/供電接口,通過(guò)此接口連接控制器和PC,實(shí)現(xiàn)控制器與 PC 的通信和控制器的供電。
  • 6號(hào)位置:IIC 接口,連接到控制器的 D2、D3 接口,用來(lái)連接 IIC 接口模塊或設(shè)備。
  • 7號(hào)位置:電源指示燈,當(dāng)控制器供電正常即亮起。
  • 8號(hào)位置:外接供電端,用于連接電池或電源等外部供電。
  • 9號(hào)位置:控制器主控芯片 ATmega 32U4。

使用方法

驅(qū)動(dòng)安裝

1.軟件下載(請(qǐng)下載 Arduino IDE 1.0.1以上版本),目前最新版本是 1.7.8
Arduino IDE 軟件官方下載地址
進(jìn)入官方的軟件下載地址,根據(jù)電腦系統(tǒng),選擇相應(yīng)的軟件進(jìn)行下載。

01C10204.png

2.軟件安裝

  • Arduino IDE 軟件有綠色免安裝版本,如果您下載的是綠色免安裝版本的話,只需要進(jìn)行解壓,軟件就可以正常使用。
  • Arduino IDE Installer 版本,如果下載安裝版本的話,下載的文件是 .exe 安裝文件,雙擊進(jìn)行安裝即可使用。

3.Steven 控制器驅(qū)動(dòng)安裝 軟件安裝完成后,接下來(lái)要安裝 Steven 硬件驅(qū)動(dòng)。
將 Steven 控制器上的 Micro USB 連接好之后,另外一端的 USB 連接到計(jì)算機(jī)任意一個(gè) USB 接口,正常連接后,板載的紅色供電指示燈亮起。 接下來(lái)系統(tǒng)就會(huì)出現(xiàn) Arduino Leonardo 的 Windows Update 驅(qū)動(dòng)程序安裝畫(huà)面。

Carduino Leonardo03.jpg

不過(guò)目前在 Windows Update 中還無(wú)法找到驅(qū)動(dòng)程序。

Carduino Leonardo04.jpg

這時(shí)需要我們手動(dòng)安裝驅(qū)動(dòng),打開(kāi)“控制面板”下的“設(shè)備管理器”

Carduino Leonardo05.jpg

這時(shí)在其他設(shè)備里會(huì)出現(xiàn)一個(gè)帶有嘆號(hào)的 Arduino Leonardo 設(shè)備。在上圖標(biāo)上點(diǎn)擊右鍵選擇“更新驅(qū)動(dòng)程序軟件”

Carduino Leonardo06.jpg

在“您想如何搜索驅(qū)動(dòng)程序軟件”中選擇“瀏覽計(jì)算機(jī)以查找驅(qū)動(dòng)程序軟件”

Carduino Leonardo07.jpg

然后選擇你Arduino IDE軟件解壓到盤(pán)符找到 Drivers 文件夾點(diǎn)擊下一步

Carduino Leonardo08.jpg

這時(shí)會(huì)出現(xiàn) Windows 無(wú)法驗(yàn)證此驅(qū)動(dòng)程序軟件發(fā)布者警告

Carduino Leonardo09.jpg
Carduino Leonardo10.jpg

安裝完成后在“端口(COM和LPT)”下回生成一個(gè)新的端口我這里生成的是COM3

Carduino Leonardo11.jpg

IIC 接口使用

使用硬件

實(shí)驗(yàn)連接圖

如圖所示:I2C接口直接連接LED bar的I2C引腳(GPIO 2|SDA,GPIO 3|SCL)

01C10205.png

例子程序

在編譯此程序前,需要先下載相應(yīng)的庫(kù)文件,請(qǐng)點(diǎn)此下載 RobotBase_LED_Bar.h 庫(kù)文件,將庫(kù)文件放在 Arduino IDE 的 libraries 文件夾下,再?gòu)?fù)制下面的程序編譯上傳,否則會(huì)出現(xiàn)編譯失敗的問(wèn)題。

#include <RobotBase_LED_Bar.h>
RobotBase_LED_Bar bar(3 2 0); 

void setup(){
	bar.begin();
}
void loop(){
	bar.setGreenToRed(false);
	for (float i = 0; i < 10.1; i += 0.125) {
		bar.setLevel(i);
		delay(25);
	};
	for (float i = 0; i < 10.1; i += 0.125) {
		bar.setLevel(10-i);
		delay(25);
	};
	bar.setGreenToRed(true);
	for (float i = 0; i < 10.1; i += 0.125) {
		bar.setLevel(i);
		delay(25);
	};
	for (float i = 0; i < 10.1; i += 0.125) {
		bar.setLevel(10-i);
		delay(25);
	};
}

程序效果

編譯上傳無(wú)誤的情況下,可以看到的現(xiàn)象是:LED Bar (條形 LED 模塊)從左到右逐漸點(diǎn)亮又從右到左逐漸熄滅然后從右到左逐漸點(diǎn)亮再?gòu)淖蟮接抑饾u熄滅。

數(shù)字和模擬接口

使用硬件

實(shí)驗(yàn)連接圖

01C10206.png

例子程序

#include <Servo.h>
Servo duoji;
int duration;                        //定義變量duration 用來(lái)存儲(chǔ)脈沖
int distance;                        //定義變量distance 用來(lái)存儲(chǔ)距離值
int SFR_distance;                    //定義超聲波距離存儲(chǔ)變量
int SFRPIN=A1;
void setup(){
  pinMode(10, OUTPUT);
  Serial.begin(9600);
}

void loop(){
  SFR_distance = Ultrasonic();    //將超聲波讀取的距離值賦值給val
  if(SFR_distance<50){         
    duoji.attach(10);
    duoji.writeMicroseconds(1580);  
    
  }  
  else duoji.detach();  
}
int Ultrasonic(){                     //紅外避障處理函數(shù)
  distance = 0;                     //定義一個(gè)距離變量
  pinMode(SFRPIN,OUTPUT);
  digitalWrite(SFRPIN, LOW);        //高電平觸發(fā)前發(fā)送2 微秒的低電平
  delayMicroseconds(15);
  digitalWrite(SFRPIN, HIGH);       //發(fā)送10 微秒的高電平開(kāi)始檢測(cè)
  delayMicroseconds(11);
  digitalWrite(SFRPIN, LOW);        //等待脈沖返回前發(fā)送一個(gè)低電平
  pinMode(SFRPIN, INPUT);
  duration = pulseIn(SFRPIN, HIGH); //從URF02 讀取脈沖
  distance = duration/58;           //除以58 得到距離值
  Serial.print(" ju li = ");
  Serial.print(distance);
  Serial.println(" cm ");
  delay(1000);
  return distance;
}

程序效果

程序正常編譯上傳后,看到的現(xiàn)象是:物體在程序設(shè)定距離范圍內(nèi)(本程序設(shè)定為小于 50 cm),靠近超聲波傳感器,360度舵機(jī)以程序設(shè)定速度連續(xù)轉(zhuǎn)動(dòng)。當(dāng)前障礙物距離可以通過(guò) Arduino IDE 的串口監(jiān)視器進(jìn)行顯示。如下圖所示:

01C10207.png

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

Erweima.png

產(chǎn)品購(gòu)買(mǎi)地址

Steven 控制器

周邊產(chǎn)品推薦

Micro USB 數(shù)據(jù)線 控制器使用必備配件
原裝進(jìn)口 Arduino Micro 控制器
基于Arduino 電子積木

相關(guān)問(wèn)題解答

相關(guān)學(xué)習(xí)資料

ATmega 32U4 芯片資料
奧松機(jī)器人技術(shù)論壇