“(SKU:RB-01C082)StarDuino 控制器”的版本間的差異

來(lái)自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航搜索
?應(yīng)用視頻
?舵機(jī)實(shí)驗(yàn)
 
(未顯示1個(gè)用戶的4個(gè)中間版本)
第17行: 第17行:
 
*體積:89x79x20mm
 
*體積:89x79x20mm
  
?
==引腳介紹==
+
==接口介紹==
 
[[文件:StarDuino02.jpg|698px|縮略圖|居中|StarDuino控制器管腳說(shuō)明圖]]
 
[[文件:StarDuino02.jpg|698px|縮略圖|居中|StarDuino控制器管腳說(shuō)明圖]]
 
1.Digital I/O(數(shù)字): D0-D16,A0-A5
 
1.Digital I/O(數(shù)字): D0-D16,A0-A5
第65行: 第65行:
 
注:這個(gè)例子程序可以在【Arduino IDE→文件→示例→01.Basics→Blink】中找到;你也可以使用Arduino其他示例程序。
 
注:這個(gè)例子程序可以在【Arduino IDE→文件→示例→01.Basics→Blink】中找到;你也可以使用Arduino其他示例程序。
 
===按鍵與LED的實(shí)驗(yàn)===
 
===按鍵與LED的實(shí)驗(yàn)===
?
做一個(gè)簡(jiǎn)單的互動(dòng)實(shí)驗(yàn),按鍵按下,板載L燈亮,松開,板載L燈熄滅。按圖3所示接線方式連接大按鍵。
+
做一個(gè)簡(jiǎn)單的互動(dòng)實(shí)驗(yàn),按鍵按下,板載 L 燈亮,松開,板載 L 燈熄滅。按圖3所示接線方式連接大按鍵。
 
[[文件:StarDuino04.jpg|698px|縮略圖|居中|按鍵與StarDuino連接示意圖]]
 
[[文件:StarDuino04.jpg|698px|縮略圖|居中|按鍵與StarDuino連接示意圖]]
 
<br/>
 
<br/>
第97行: 第97行:
  
 
===舵機(jī)實(shí)驗(yàn)===
 
===舵機(jī)實(shí)驗(yàn)===
?
如果想讓東西動(dòng)起來(lái),就離不開機(jī)電類涉筆的控制。這節(jié)實(shí)驗(yàn)是利用Arduino提供的Servo庫(kù)進(jìn)行一個(gè)舵機(jī)的操控實(shí)驗(yàn)。請(qǐng)把舵機(jī)如圖4一樣連接到控制器上。
+
如果想讓東西動(dòng)起來(lái),就離不開機(jī)電類涉筆的控制。這節(jié)實(shí)驗(yàn)是利用Arduino提供的Servo庫(kù)進(jìn)行一個(gè)舵機(jī)的操控實(shí)驗(yàn)
 +
====硬件接線====
 
[[文件:StarDuino05.jpg|698px|縮略圖|居中|單個(gè)舵機(jī)與StarDuino的連接示意圖]]
 
[[文件:StarDuino05.jpg|698px|縮略圖|居中|單個(gè)舵機(jī)與StarDuino的連接示意圖]]
 +
====例子程序====
 
<pre style='color:blue'>#include <Servo.h>      // 聲明調(diào)用Servo.h庫(kù)
 
<pre style='color:blue'>#include <Servo.h>      // 聲明調(diào)用Servo.h庫(kù)
  
第125行: 第127行:
 
}</pre>
 
}</pre>
 
<br/>
 
<br/>
?
程序功能:舵機(jī)從0°-180°,再?gòu)?80°轉(zhuǎn)回0°。
+
====程序效果====
 +
程序正常上傳后,給控制器進(jìn)行供電,舵機(jī)會(huì)從0°運(yùn)動(dòng)到 180°,再?gòu)?80°轉(zhuǎn)回 0°。
  
 
===多舵機(jī)實(shí)驗(yàn)===
 
===多舵機(jī)實(shí)驗(yàn)===
 
StarDuino數(shù)字端口擴(kuò)展插座是按照舵機(jī)的線序設(shè)計(jì)的,所以可以直接控制舵機(jī)。接四個(gè)以內(nèi)的小舵機(jī)時(shí)由于電流不大(運(yùn)行時(shí)電流總和不超過2A),所以可以暫時(shí)使用StarDuino的電源供電,但如果StarDuino控制器控制多個(gè)大電流舵機(jī),用StarDuino供電就不夠了,這時(shí)就需要從舵機(jī)控制端口外部電源輸入端供電,電源電壓取決于你所需舵機(jī)的正常工作電壓。
 
StarDuino數(shù)字端口擴(kuò)展插座是按照舵機(jī)的線序設(shè)計(jì)的,所以可以直接控制舵機(jī)。接四個(gè)以內(nèi)的小舵機(jī)時(shí)由于電流不大(運(yùn)行時(shí)電流總和不超過2A),所以可以暫時(shí)使用StarDuino的電源供電,但如果StarDuino控制器控制多個(gè)大電流舵機(jī),用StarDuino供電就不夠了,這時(shí)就需要從舵機(jī)控制端口外部電源輸入端供電,電源電壓取決于你所需舵機(jī)的正常工作電壓。
?
<br/>進(jìn)行實(shí)驗(yàn)前,請(qǐng)閱讀上述說(shuō)明,防止損壞控制器,并按如圖5所示的連接電路進(jìn)行連接。
+
====硬件連接====
  
 
[[文件:StarDuino06.jpg|698px|縮略圖|居中|多個(gè)舵機(jī)與StarDuino的連接示意圖]]
 
[[文件:StarDuino06.jpg|698px|縮略圖|居中|多個(gè)舵機(jī)與StarDuino的連接示意圖]]
?
<br/>
+
====例子程序====
?
演示代碼:
+
 
<pre style='color:blue'>#include <Servo.h>
 
<pre style='color:blue'>#include <Servo.h>
  
第176行: 第178行:
 
}</pre>
 
}</pre>
 
<br/>
 
<br/>
?
程序功能:通過IDE中的串口助手,發(fā)送舵機(jī)度數(shù)控制舵機(jī)轉(zhuǎn)動(dòng)的角度,比如發(fā)送字符85a表示舵機(jī)1轉(zhuǎn)動(dòng)85度,發(fā)送字符180c表示舵機(jī)3轉(zhuǎn)動(dòng)180度。
+
====程序效果====
 +
通過IDE中的串口助手,發(fā)送舵機(jī)度數(shù)控制舵機(jī)轉(zhuǎn)動(dòng)的角度,比如發(fā)送字符85a表示舵機(jī)1轉(zhuǎn)動(dòng)85度,發(fā)送字符180c表示舵機(jī)3轉(zhuǎn)動(dòng)180度。
 
<br/>注:如何打開串口?
 
<br/>注:如何打開串口?
 
<br/>打開Arduino IDE,右上角有個(gè)放大鏡的圖標(biāo),鼠標(biāo)放在上面會(huì)顯示串口監(jiān)視器,點(diǎn)擊該圖標(biāo)。
 
<br/>打開Arduino IDE,右上角有個(gè)放大鏡的圖標(biāo),鼠標(biāo)放在上面會(huì)顯示串口監(jiān)視器,點(diǎn)擊該圖標(biāo)。
第187行: 第190行:
 
就可以直接從串口輸入相應(yīng)的值了,比如我們這里輸入"85a",讓第一個(gè)舵機(jī)轉(zhuǎn)85°。
 
就可以直接從串口輸入相應(yīng)的值了,比如我們這里輸入"85a",讓第一個(gè)舵機(jī)轉(zhuǎn)85°。
 
[[文件:StarDuino09.jpg|311px|縮略圖|居中]]
 
[[文件:StarDuino09.jpg|311px|縮略圖|居中]]
 +
 
===電機(jī)驅(qū)動(dòng)實(shí)驗(yàn)===
 
===電機(jī)驅(qū)動(dòng)實(shí)驗(yàn)===
 +
====硬件接線====
 
StarDuino上集成了2路電機(jī)驅(qū)動(dòng),單路峰值為2A,控制芯片采用L298P,電機(jī)的電源直接由StarDuino的總電源提供。
 
StarDuino上集成了2路電機(jī)驅(qū)動(dòng),單路峰值為2A,控制芯片采用L298P,電機(jī)的電源直接由StarDuino的總電源提供。
 
<br/>電機(jī)控制引腳與功能說(shuō)明如下表1所示:
 
<br/>電機(jī)控制引腳與功能說(shuō)明如下表1所示:
第196行: 第201行:
 
<br/>
 
<br/>
 
電機(jī)驅(qū)動(dòng)電路控制端可以使用短路跳帽進(jìn)行選通,用的時(shí)候接通,不用時(shí)可以斷開。兩個(gè)電機(jī)接線時(shí)注意將電機(jī)的兩根控制線同向接入控制板的電機(jī)控制接口。
 
電機(jī)驅(qū)動(dòng)電路控制端可以使用短路跳帽進(jìn)行選通,用的時(shí)候接通,不用時(shí)可以斷開。兩個(gè)電機(jī)接線時(shí)注意將電機(jī)的兩根控制線同向接入控制板的電機(jī)控制接口。
?
<br/>演示代碼:
+
====例子程序====
 
<pre style='color:blue'>int E1 = 5;    //定義M1使能端
 
<pre style='color:blue'>int E1 = 5;    //定義M1使能端
 
int E2 = 6;    //定義M2使能端
 
int E2 = 6;    //定義M2使能端
第290行: 第295行:
 
}</pre>
 
}</pre>
 
<br/>
 
<br/>
?
程序功能:串口輸入"w","s","a","d",電機(jī)會(huì)有相應(yīng)的動(dòng)作。
+
====程序功能====
 +
串口輸入"w","s","a","d",電機(jī)會(huì)有相應(yīng)的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)動(dòng)作。
 +
 
 
==應(yīng)用視頻==
 
==應(yīng)用視頻==
 
[[File:tao ci zhen dong01.png|400px|左|link=http://v.youku.com/v_show/id_XMTI3NTU2Mjc4MA==.html?from=y1.7-2]]
 
[[File:tao ci zhen dong01.png|400px|左|link=http://v.youku.com/v_show/id_XMTI3NTU2Mjc4MA==.html?from=y1.7-2]]

2016年1月26日 (二) 17:30的最后版本

居右

目錄

產(chǎn)品概述

StarDuino v1.0是以ATmega32U4為主芯片的多功能控制板。StarDuino不但具有完整兼容Arduino Leonardo的特性,還集成了2路電機(jī)驅(qū)動(dòng)、4路舵機(jī)驅(qū)動(dòng)、模擬IO擴(kuò)展口、I2C總線接口、串口接口等功能。

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

  • 微控制器:ATmega32u4
  • 引導(dǎo)裝載程序:Arduino Leonardo
  • 工作電壓:5V
  • 直流輸出:5V/3.3V
  • 輸入電壓(推薦):7-12V
  • 輸入電壓(極限):6-24V
  • 數(shù)字端口外部電源電壓:5-20V
  • Digital I/O(數(shù)字):23
  • Analog I/O(模擬):12
  • IO引腳直流電流:40mA
  • 3.3V引腳直流電流:50mA
  • 電機(jī)驅(qū)動(dòng)模塊恒定輸出電流:2A
  • 體積:89x79x20mm

接口介紹

StarDuino控制器管腳說(shuō)明圖

1.Digital I/O(數(shù)字): D0-D16,A0-A5
2.Analog I/O(模擬): A0-A5,A6-A11(在數(shù)字接口4,6,8,9,10,12上))
3.PWM口:7個(gè) (數(shù)字引腳3,5,6,9,10,11和13)
4.支持USB供電與外部供電自動(dòng)切換
5.支持ISP下載功能
6.支持1組I2C/TWI接口
7.支持2路電機(jī)驅(qū)動(dòng),峰值電流2A,6個(gè)控制I/O使用跳線切換
8.支持4路舵機(jī)驅(qū)動(dòng)
9.支持1路蜂鳴器驅(qū)動(dòng)

基本例程

Arduino IDE的使用

Arduino IDE是Arduino產(chǎn)品的軟件編輯環(huán)境。簡(jiǎn)單的說(shuō)就是用它來(lái)寫代碼,下載代碼的程序。任何基于Arduino產(chǎn)品都需要下載代碼后才能運(yùn)轉(zhuǎn)。我們所搭建的硬件電路是輔助代碼來(lái)完成的,兩者是缺一不可的。如同人通過大腦來(lái)控制肢體活動(dòng)是一個(gè)道理。如果控制器中的程序就是大腦的話,外圍硬件就是肢體,肢體的活動(dòng)取決于大腦,所以硬件功能實(shí)現(xiàn)取決于代碼程序。

板載L燈實(shí)驗(yàn)

StarDuino和Arduino一樣,有個(gè)連接到數(shù)字口13的板載測(cè)試LED(L)!把StarDuino連到電腦上后,打開Arduino IDE,選擇板卡→Arduino Leonardo和串口→COM(選擇如圖2所示的端口號(hào))。
Arduino IDE 設(shè)備端口號(hào)選擇示意圖

注:此界面需要你找到我的【電腦圖標(biāo)】→單擊鼠標(biāo)右鍵→選擇【管理】
演示代碼:

int ledPin = 13;                     // 定義LED為pin13

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

void loop()
{
    digitalWrite(ledPin, HIGH);   // 數(shù)字端口置高,LED亮
    delay(1000);                     // 延時(shí)
    digitalWrite(ledPin, LOW);    // 數(shù)字端口置低,LED滅
    delay(1000);                     // 延時(shí)
}


程序功能:板載的L燈會(huì)每秒閃爍一次。
注:這個(gè)例子程序可以在【Arduino IDE→文件→示例→01.Basics→Blink】中找到;你也可以使用Arduino其他示例程序。

按鍵與LED的實(shí)驗(yàn)

做一個(gè)簡(jiǎn)單的互動(dòng)實(shí)驗(yàn),按鍵按下,板載 L 燈亮,松開,板載 L 燈熄滅。按圖3所示接線方式連接大按鍵。

按鍵與StarDuino連接示意圖


演示代碼:

int buttonPin = A0;     // 定義按鍵為 pin A0  
int ledPin =  13;        // 定義LED為 pin 13

int buttonState = 0;    //定義并初始化按鍵狀態(tài)

void setup() 
{
    pinMode(ledPin, OUTPUT);     // 設(shè)置數(shù)字端口13為輸出模式  
    pinMode(buttonPin, INPUT);   // 設(shè)置數(shù)字端口14為輸入模式    
}

void loop()
{
    buttonState = digitalRead(buttonPin);  //讀取Pin 14的狀態(tài)

if(buttonState == HIGH) //判斷是否為高
{      
        digitalWrite(ledPin, HIGH);   //如果是高,設(shè)置L燈亮
    } 
else 
{
        digitalWrite(ledPin, LOW);    //如果是低,設(shè)置LED燈滅
    }
}


程序功能:按下燈亮,松開燈滅。

舵機(jī)實(shí)驗(yàn)

如果想讓東西動(dòng)起來(lái),就離不開機(jī)電類涉筆的控制。這節(jié)實(shí)驗(yàn)是利用Arduino提供的Servo庫(kù)進(jìn)行一個(gè)舵機(jī)的操控實(shí)驗(yàn)

硬件接線

單個(gè)舵機(jī)與StarDuino的連接示意圖

例子程序

#include <Servo.h>       // 聲明調(diào)用Servo.h庫(kù)

Servo myservo;           // 創(chuàng)建一個(gè)舵機(jī)對(duì)象

int pos = 0;             // 變量pos用來(lái)存儲(chǔ)舵機(jī)位置
  
void setup() 
{ 
    myservo.attach(10);  // 將引腳10上的舵機(jī)與聲明的舵機(jī)對(duì)象連接起來(lái)
} 
 
void loop() 
{ 
for(pos = 0; pos < 180; pos += 1) // 舵機(jī)從0°轉(zhuǎn)到180°,每次增加1°
{            
        myservo.write(pos);              // 給舵機(jī)寫入角度   
        delay(15);                         // 延時(shí)15ms讓舵機(jī)轉(zhuǎn)到指定位置
    }
    
for(pos = 180; pos >= 1; pos -= 1) // 舵機(jī)從180°回到0°,每次減小1°
{                                    
        myservo.write(pos);              // 寫角度到舵機(jī)     
        delay(15);                         // 延時(shí)15ms讓舵機(jī)轉(zhuǎn)到指定位置
    } 
}


程序效果

程序正常上傳后,給控制器進(jìn)行供電,舵機(jī)會(huì)從0°運(yùn)動(dòng)到 180°,再?gòu)?80°轉(zhuǎn)回 0°。

多舵機(jī)實(shí)驗(yàn)

StarDuino數(shù)字端口擴(kuò)展插座是按照舵機(jī)的線序設(shè)計(jì)的,所以可以直接控制舵機(jī)。接四個(gè)以內(nèi)的小舵機(jī)時(shí)由于電流不大(運(yùn)行時(shí)電流總和不超過2A),所以可以暫時(shí)使用StarDuino的電源供電,但如果StarDuino控制器控制多個(gè)大電流舵機(jī),用StarDuino供電就不夠了,這時(shí)就需要從舵機(jī)控制端口外部電源輸入端供電,電源電壓取決于你所需舵機(jī)的正常工作電壓。

硬件連接

多個(gè)舵機(jī)與StarDuino的連接示意圖

例子程序

#include <Servo.h>

Servo servo1;
Servo servo2;
Servo servo3;

void setup()
{
    servo1.attach(10);               //定義舵機(jī)1控制口為Pin10
    servo2.attach(11);               //定義舵機(jī)2控制口為Pin11
    servo3.attach(12);               //定義舵機(jī)3控制口為Pin12
    Serial.begin(19200);             //設(shè)串口0置波特率
    Serial.print("Ready");
}

void loop()
{
    static int v = 0;
    if ( Serial.available()) 
{
        char ch = Serial.read();       //讀取串口數(shù)據(jù)
        switch(ch) 
{
            case '0'...'9':
            v = v * 10 + ch - '0';  //字符換算成10進(jìn)制
            break;
            case 'a':             //如果數(shù)據(jù)后帶a,則表示是servo1的數(shù)據(jù),比如串口發(fā)送85a
            servo1.write(v);
            v = 0;
            break;
            case 'b':             //如果數(shù)據(jù)后帶b,則表示是servo2的數(shù)據(jù),比如串口發(fā)送90b 
            servo2.write(v);
            v = 0;
            break;      
            case 'c':             //如果數(shù)據(jù)后帶c ,則表示是servo3的數(shù)據(jù),比如串口發(fā)送180c
            servo3.write(v);
            v = 0;
            break;
        }
    }
}


程序效果

通過IDE中的串口助手,發(fā)送舵機(jī)度數(shù)控制舵機(jī)轉(zhuǎn)動(dòng)的角度,比如發(fā)送字符85a表示舵機(jī)1轉(zhuǎn)動(dòng)85度,發(fā)送字符180c表示舵機(jī)3轉(zhuǎn)動(dòng)180度。
注:如何打開串口?
打開Arduino IDE,右上角有個(gè)放大鏡的圖標(biāo),鼠標(biāo)放在上面會(huì)顯示串口監(jiān)視器,點(diǎn)擊該圖標(biāo)。

StarDuino07.jpg


打開串口后,設(shè)置串口監(jiān)視器的波特率為19200。

StarDuino08.jpg


就可以直接從串口輸入相應(yīng)的值了,比如我們這里輸入"85a",讓第一個(gè)舵機(jī)轉(zhuǎn)85°。

StarDuino09.jpg

電機(jī)驅(qū)動(dòng)實(shí)驗(yàn)

硬件接線

StarDuino上集成了2路電機(jī)驅(qū)動(dòng),單路峰值為2A,控制芯片采用L298P,電機(jī)的電源直接由StarDuino的總電源提供。
電機(jī)控制引腳與功能說(shuō)明如下表1所示:


表1:電機(jī)控制引腳與功能說(shuō)明表

StarDuino10.jpg


電機(jī)驅(qū)動(dòng)電路控制端可以使用短路跳帽進(jìn)行選通,用的時(shí)候接通,不用時(shí)可以斷開。兩個(gè)電機(jī)接線時(shí)注意將電機(jī)的兩根控制線同向接入控制板的電機(jī)控制接口。

例子程序

int E1 = 5;     //定義M1使能端
int E2 = 6;     //定義M2使能端

int M1_2 = 4;    //定義M1控制端
int M1_1 = 7;    //定義M1控制端

int M2_1 = 8;    //定義M2控制端
int M2_2 = 9;    //定義M2控制端

void stop(void)//停止
{                 
    digitalWrite(E1,LOW);   
    digitalWrite(E2,LOW);      
}  

void advance(char a,char b)             //前進(jìn)
{           
       analogWrite (E1,a);              //PWM調(diào)速
       digitalWrite(M1_2,HIGH);
       digitalWrite(M1_1,LOW);    
       analogWrite (E2,b);    
       digitalWrite(M2_1,HIGH);
       digitalWrite(M2_2,LOW);
}  
void back_off (char a,char b)           //后退
{          
    analogWrite (E1,a);
    digitalWrite(M1_2,LOW);
        digitalWrite(M1_1,HIGH);     
    analogWrite (E2,b);    
    digitalWrite(M2_1,LOW);
        digitalWrite(M2_2,HIGH);
}
void turn_L (char a,char b)             //左轉(zhuǎn)
{           
    analogWrite (E1,a);
    digitalWrite(M1_2,LOW);
        digitalWrite(M1_1,HIGH);     
    analogWrite (E2,b);    
    digitalWrite(M2_1,HIGH);
        digitalWrite(M2_2,LOW);
}
void turn_R (char a,char b)             //右轉(zhuǎn)
{           
    analogWrite (E1,a);
    digitalWrite(M1_2,HIGH);
        digitalWrite(M1_1,LOW);    
    analogWrite (E2,b);    
    digitalWrite(M2_1,LOW);
        digitalWrite(M2_2,HIGH);
}

void setup(void) 
{ 
    int i;                       //定義一個(gè)臨時(shí)變量

    for(i = 4;i <= 9;i++)        //PIN4-PIN9管腳初始化
    {
        pinMode(i, OUTPUT);
    }
      
    Serial.begin(9600);          //設(shè)置串口0波特率
} 

void loop(void) 
{ 
    if(Serial.available() > 0)   //判斷串口是否接收到數(shù)據(jù)
    {
        char val = Serial.read();//讀取串口數(shù)據(jù)

        if(val!=-1)
        {
            switch(val)
            {
             case 'w'://前進(jìn)
                    advance (100,100);   //PWM調(diào)速
                    break;
             case 's'://后退
                     back_off (100,100);
                     break;
             case 'a'://左轉(zhuǎn)
                     turn_L (100,100);
                     break;       
             case 'd'://右轉(zhuǎn)
                     turn_R (100,100);
                     break;          
            }     
         delay(40); 
        }
     else stop();  
    }
}


程序功能

串口輸入"w","s","a","d",電機(jī)會(huì)有相應(yīng)的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)動(dòng)作。

應(yīng)用視頻

Tao ci zhen dong01.png
Starduino 02.png


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

Erweima.png

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

Starduino控制器

周邊產(chǎn)品推薦

Starduino 透明亞克力外殼
Micro USB 數(shù)據(jù)線
百變之星 創(chuàng)意盒子套件

相關(guān)問題解答

starduino控制器在樹莓派上的使用問題

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

Starduino控制器產(chǎn)品介紹
奧松機(jī)器人技術(shù)論壇