“(SKU:RB-01C082)StarDuino 控制器”的版本間的差異
(→?舵機(jī)實驗) |
|||
(未顯示1個用戶的9個中間版本) | |||
第1行: | 第1行: | ||
[[文件:StarDuino01.jpg|500px|縮略圖|居右]] | [[文件:StarDuino01.jpg|500px|縮略圖|居右]] | ||
? | == | + | ==產(chǎn)品概述== |
:StarDuino v1.0是以ATmega32U4為主芯片的多功能控制板。StarDuino不但具有完整兼容Arduino Leonardo的特性,還集成了2路電機(jī)驅(qū)動、4路舵機(jī)驅(qū)動、模擬IO擴(kuò)展口、I2C總線接口、串口接口等功能。 | :StarDuino v1.0是以ATmega32U4為主芯片的多功能控制板。StarDuino不但具有完整兼容Arduino Leonardo的特性,還集成了2路電機(jī)驅(qū)動、4路舵機(jī)驅(qū)動、模擬IO擴(kuò)展口、I2C總線接口、串口接口等功能。 | ||
? | == | + | ==規(guī)格參數(shù)== |
*微控制器:ATmega32u4 | *微控制器:ATmega32u4 | ||
*引導(dǎo)裝載程序:Arduino Leonardo | *引導(dǎo)裝載程序:Arduino Leonardo | ||
第17行: | 第17行: | ||
*體積:89x79x20mm | *體積:89x79x20mm | ||
? | == | + | ==接口介紹== |
+ | [[文件:StarDuino02.jpg|698px|縮略圖|居中|StarDuino控制器管腳說明圖]] | ||
1.Digital I/O(數(shù)字): D0-D16,A0-A5 | 1.Digital I/O(數(shù)字): D0-D16,A0-A5 | ||
<br/> | <br/> | ||
第35行: | 第36行: | ||
<br/> | <br/> | ||
9.支持1路蜂鳴器驅(qū)動 | 9.支持1路蜂鳴器驅(qū)動 | ||
? | + | ==基本例程== | |
? | + | ||
? | == | + | |
? | + | ||
? | + | ||
===Arduino IDE的使用=== | ===Arduino IDE的使用=== | ||
:Arduino IDE是Arduino產(chǎn)品的軟件編輯環(huán)境。簡單的說就是用它來寫代碼,下載代碼的程序。任何基于Arduino產(chǎn)品都需要下載代碼后才能運轉(zhuǎn)。我們所搭建的硬件電路是輔助代碼來完成的,兩者是缺一不可的。如同人通過大腦來控制肢體活動是一個道理。如果控制器中的程序就是大腦的話,外圍硬件就是肢體,肢體的活動取決于大腦,所以硬件功能實現(xiàn)取決于代碼程序。 | :Arduino IDE是Arduino產(chǎn)品的軟件編輯環(huán)境。簡單的說就是用它來寫代碼,下載代碼的程序。任何基于Arduino產(chǎn)品都需要下載代碼后才能運轉(zhuǎn)。我們所搭建的硬件電路是輔助代碼來完成的,兩者是缺一不可的。如同人通過大腦來控制肢體活動是一個道理。如果控制器中的程序就是大腦的話,外圍硬件就是肢體,肢體的活動取決于大腦,所以硬件功能實現(xiàn)取決于代碼程序。 | ||
第68行: | 第65行: | ||
注:這個例子程序可以在【Arduino IDE→文件→示例→01.Basics→Blink】中找到;你也可以使用Arduino其他示例程序。 | 注:這個例子程序可以在【Arduino IDE→文件→示例→01.Basics→Blink】中找到;你也可以使用Arduino其他示例程序。 | ||
===按鍵與LED的實驗=== | ===按鍵與LED的實驗=== | ||
? | + | 做一個簡單的互動實驗,按鍵按下,板載 L 燈亮,松開,板載 L 燈熄滅。按圖3所示接線方式連接大按鍵。 | |
[[文件:StarDuino04.jpg|698px|縮略圖|居中|按鍵與StarDuino連接示意圖]] | [[文件:StarDuino04.jpg|698px|縮略圖|居中|按鍵與StarDuino連接示意圖]] | ||
<br/> | <br/> | ||
第100行: | 第97行: | ||
===舵機(jī)實驗=== | ===舵機(jī)實驗=== | ||
? | + | 如果想讓東西動起來,就離不開機(jī)電類涉筆的控制。這節(jié)實驗是利用Arduino提供的Servo庫進(jìn)行一個舵機(jī)的操控實驗 | |
+ | ====硬件接線==== | ||
[[文件:StarDuino05.jpg|698px|縮略圖|居中|單個舵機(jī)與StarDuino的連接示意圖]] | [[文件:StarDuino05.jpg|698px|縮略圖|居中|單個舵機(jī)與StarDuino的連接示意圖]] | ||
+ | ====例子程序==== | ||
<pre style='color:blue'>#include <Servo.h> // 聲明調(diào)用Servo.h庫 | <pre style='color:blue'>#include <Servo.h> // 聲明調(diào)用Servo.h庫 | ||
第128行: | 第127行: | ||
}</pre> | }</pre> | ||
<br/> | <br/> | ||
? | + | ====程序效果==== | |
+ | 程序正常上傳后,給控制器進(jìn)行供電,舵機(jī)會從0°運動到 180°,再從180°轉(zhuǎn)回 0°。 | ||
===多舵機(jī)實驗=== | ===多舵機(jī)實驗=== | ||
StarDuino數(shù)字端口擴(kuò)展插座是按照舵機(jī)的線序設(shè)計的,所以可以直接控制舵機(jī)。接四個以內(nèi)的小舵機(jī)時由于電流不大(運行時電流總和不超過2A),所以可以暫時使用StarDuino的電源供電,但如果StarDuino控制器控制多個大電流舵機(jī),用StarDuino供電就不夠了,這時就需要從舵機(jī)控制端口外部電源輸入端供電,電源電壓取決于你所需舵機(jī)的正常工作電壓。 | StarDuino數(shù)字端口擴(kuò)展插座是按照舵機(jī)的線序設(shè)計的,所以可以直接控制舵機(jī)。接四個以內(nèi)的小舵機(jī)時由于電流不大(運行時電流總和不超過2A),所以可以暫時使用StarDuino的電源供電,但如果StarDuino控制器控制多個大電流舵機(jī),用StarDuino供電就不夠了,這時就需要從舵機(jī)控制端口外部電源輸入端供電,電源電壓取決于你所需舵機(jī)的正常工作電壓。 | ||
? | + | ====硬件連接==== | |
[[文件:StarDuino06.jpg|698px|縮略圖|居中|多個舵機(jī)與StarDuino的連接示意圖]] | [[文件:StarDuino06.jpg|698px|縮略圖|居中|多個舵機(jī)與StarDuino的連接示意圖]] | ||
? | + | ====例子程序==== | |
? | + | ||
<pre style='color:blue'>#include <Servo.h> | <pre style='color:blue'>#include <Servo.h> | ||
第179行: | 第178行: | ||
}</pre> | }</pre> | ||
<br/> | <br/> | ||
? | + | ====程序效果==== | |
+ | 通過IDE中的串口助手,發(fā)送舵機(jī)度數(shù)控制舵機(jī)轉(zhuǎn)動的角度,比如發(fā)送字符85a表示舵機(jī)1轉(zhuǎn)動85度,發(fā)送字符180c表示舵機(jī)3轉(zhuǎn)動180度。 | ||
<br/>注:如何打開串口? | <br/>注:如何打開串口? | ||
<br/>打開Arduino IDE,右上角有個放大鏡的圖標(biāo),鼠標(biāo)放在上面會顯示串口監(jiān)視器,點擊該圖標(biāo)。 | <br/>打開Arduino IDE,右上角有個放大鏡的圖標(biāo),鼠標(biāo)放在上面會顯示串口監(jiān)視器,點擊該圖標(biāo)。 | ||
第190行: | 第190行: | ||
就可以直接從串口輸入相應(yīng)的值了,比如我們這里輸入"85a",讓第一個舵機(jī)轉(zhuǎn)85°。 | 就可以直接從串口輸入相應(yīng)的值了,比如我們這里輸入"85a",讓第一個舵機(jī)轉(zhuǎn)85°。 | ||
[[文件:StarDuino09.jpg|311px|縮略圖|居中]] | [[文件:StarDuino09.jpg|311px|縮略圖|居中]] | ||
+ | |||
===電機(jī)驅(qū)動實驗=== | ===電機(jī)驅(qū)動實驗=== | ||
+ | ====硬件接線==== | ||
StarDuino上集成了2路電機(jī)驅(qū)動,單路峰值為2A,控制芯片采用L298P,電機(jī)的電源直接由StarDuino的總電源提供。 | StarDuino上集成了2路電機(jī)驅(qū)動,單路峰值為2A,控制芯片采用L298P,電機(jī)的電源直接由StarDuino的總電源提供。 | ||
<br/>電機(jī)控制引腳與功能說明如下表1所示: | <br/>電機(jī)控制引腳與功能說明如下表1所示: | ||
第199行: | 第201行: | ||
<br/> | <br/> | ||
電機(jī)驅(qū)動電路控制端可以使用短路跳帽進(jìn)行選通,用的時候接通,不用時可以斷開。兩個電機(jī)接線時注意將電機(jī)的兩根控制線同向接入控制板的電機(jī)控制接口。 | 電機(jī)驅(qū)動電路控制端可以使用短路跳帽進(jìn)行選通,用的時候接通,不用時可以斷開。兩個電機(jī)接線時注意將電機(jī)的兩根控制線同向接入控制板的電機(jī)控制接口。 | ||
? | + | ====例子程序==== | |
<pre style='color:blue'>int E1 = 5; //定義M1使能端 | <pre style='color:blue'>int E1 = 5; //定義M1使能端 | ||
int E2 = 6; //定義M2使能端 | int E2 = 6; //定義M2使能端 | ||
第293行: | 第295行: | ||
}</pre> | }</pre> | ||
<br/> | <br/> | ||
? | + | ====程序功能==== | |
+ | 串口輸入"w","s","a","d",電機(jī)會有相應(yīng)的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)動作。 | ||
+ | |||
+ | ==應(yīng)用視頻== | ||
+ | [[File:tao ci zhen dong01.png|400px|左|link=http://v.youku.com/v_show/id_XMTI3NTU2Mjc4MA==.html?from=y1.7-2]] | ||
+ | [[File:starduino 02.png|400px|居中|link=http://v.youku.com/v_show/id_XODgyMDM3Mjk2.html?from=y1.7-2]] | ||
+ | <br/> | ||
+ | |||
==產(chǎn)品相關(guān)推薦== | ==產(chǎn)品相關(guān)推薦== | ||
? | + | [[文件:erweima.png|230px|無框|右]] | |
+ | ===產(chǎn)品購買地址=== | ||
+ | [https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.9.LOjbYu&id=42285524304 Starduino控制器]<br/> | ||
+ | ===周邊產(chǎn)品推薦=== | ||
+ | [https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.12.LOjbYu&id=42311653317 Starduino 透明亞克力外殼]<br/> | ||
+ | [https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.47.ToSiWq&id=37033665092 Micro USB 數(shù)據(jù)線]<br/> | ||
+ | [https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.14.JdumEX&id=44969048126 百變之星 創(chuàng)意盒子套件]<br/> | ||
+ | ===相關(guān)問題解答=== | ||
+ | [http://www.makerspace.cn/forum.php?mod=viewthread&tid=5405&highlight=starduino starduino控制器在樹莓派上的使用問題]<br/> | ||
+ | |||
+ | ===相關(guān)學(xué)習(xí)資料=== | ||
+ | [http://www.makerspace.cn/forum.php?mod=viewthread&tid=4781 Starduino控制器產(chǎn)品介紹]<br/> | ||
+ | [http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]<br/> |
2016年1月26日 (二) 17:30的最后版本
目錄 |
產(chǎn)品概述
- StarDuino v1.0是以ATmega32U4為主芯片的多功能控制板。StarDuino不但具有完整兼容Arduino Leonardo的特性,還集成了2路電機(jī)驅(qū)動、4路舵機(jī)驅(qū)動、模擬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ū)動模塊恒定輸出電流:2A
- 體積:89x79x20mm
接口介紹
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個 (數(shù)字引腳3,5,6,9,10,11和13)
4.支持USB供電與外部供電自動切換
5.支持ISP下載功能
6.支持1組I2C/TWI接口
7.支持2路電機(jī)驅(qū)動,峰值電流2A,6個控制I/O使用跳線切換
8.支持4路舵機(jī)驅(qū)動
9.支持1路蜂鳴器驅(qū)動
基本例程
Arduino IDE的使用
- Arduino IDE是Arduino產(chǎn)品的軟件編輯環(huán)境。簡單的說就是用它來寫代碼,下載代碼的程序。任何基于Arduino產(chǎn)品都需要下載代碼后才能運轉(zhuǎn)。我們所搭建的硬件電路是輔助代碼來完成的,兩者是缺一不可的。如同人通過大腦來控制肢體活動是一個道理。如果控制器中的程序就是大腦的話,外圍硬件就是肢體,肢體的活動取決于大腦,所以硬件功能實現(xiàn)取決于代碼程序。
- Arduino IDE 點擊下載
板載L燈實驗
- StarDuino和Arduino一樣,有個連接到數(shù)字口13的板載測試LED(L)!把StarDuino連到電腦上后,打開Arduino IDE,選擇板卡→Arduino Leonardo和串口→COM(選擇如圖2所示的端口號)。
注:此界面需要你找到我的【電腦圖標(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); // 延時 digitalWrite(ledPin, LOW); // 數(shù)字端口置低,LED滅 delay(1000); // 延時 }
程序功能:板載的L燈會每秒閃爍一次。
注:這個例子程序可以在【Arduino IDE→文件→示例→01.Basics→Blink】中找到;你也可以使用Arduino其他示例程序。
按鍵與LED的實驗
做一個簡單的互動實驗,按鍵按下,板載 L 燈亮,松開,板載 L 燈熄滅。按圖3所示接線方式連接大按鍵。
演示代碼:
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ī)實驗
如果想讓東西動起來,就離不開機(jī)電類涉筆的控制。這節(jié)實驗是利用Arduino提供的Servo庫進(jìn)行一個舵機(jī)的操控實驗
硬件接線
例子程序
#include <Servo.h> // 聲明調(diào)用Servo.h庫 Servo myservo; // 創(chuàng)建一個舵機(jī)對象 int pos = 0; // 變量pos用來存儲舵機(jī)位置 void setup() { myservo.attach(10); // 將引腳10上的舵機(jī)與聲明的舵機(jī)對象連接起來 } void loop() { for(pos = 0; pos < 180; pos += 1) // 舵機(jī)從0°轉(zhuǎn)到180°,每次增加1° { myservo.write(pos); // 給舵機(jī)寫入角度 delay(15); // 延時15ms讓舵機(jī)轉(zhuǎn)到指定位置 } for(pos = 180; pos >= 1; pos -= 1) // 舵機(jī)從180°回到0°,每次減小1° { myservo.write(pos); // 寫角度到舵機(jī) delay(15); // 延時15ms讓舵機(jī)轉(zhuǎn)到指定位置 } }
程序效果
程序正常上傳后,給控制器進(jìn)行供電,舵機(jī)會從0°運動到 180°,再從180°轉(zhuǎn)回 0°。
多舵機(jī)實驗
StarDuino數(shù)字端口擴(kuò)展插座是按照舵機(jī)的線序設(shè)計的,所以可以直接控制舵機(jī)。接四個以內(nèi)的小舵機(jī)時由于電流不大(運行時電流總和不超過2A),所以可以暫時使用StarDuino的電源供電,但如果StarDuino控制器控制多個大電流舵機(jī),用StarDuino供電就不夠了,這時就需要從舵機(jī)控制端口外部電源輸入端供電,電源電壓取決于你所需舵機(jī)的正常工作電壓。
硬件連接
例子程序
#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)動的角度,比如發(fā)送字符85a表示舵機(jī)1轉(zhuǎn)動85度,發(fā)送字符180c表示舵機(jī)3轉(zhuǎn)動180度。
注:如何打開串口?
打開Arduino IDE,右上角有個放大鏡的圖標(biāo),鼠標(biāo)放在上面會顯示串口監(jiān)視器,點擊該圖標(biāo)。
打開串口后,設(shè)置串口監(jiān)視器的波特率為19200。
就可以直接從串口輸入相應(yīng)的值了,比如我們這里輸入"85a",讓第一個舵機(jī)轉(zhuǎn)85°。
電機(jī)驅(qū)動實驗
硬件接線
StarDuino上集成了2路電機(jī)驅(qū)動,單路峰值為2A,控制芯片采用L298P,電機(jī)的電源直接由StarDuino的總電源提供。
電機(jī)控制引腳與功能說明如下表1所示:
表1:電機(jī)控制引腳與功能說明表
電機(jī)驅(qū)動電路控制端可以使用短路跳帽進(jìn)行選通,用的時候接通,不用時可以斷開。兩個電機(jī)接線時注意將電機(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; //定義一個臨時變量 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ī)會有相應(yīng)的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)動作。
應(yīng)用視頻
產(chǎn)品相關(guān)推薦
產(chǎn)品購買地址
周邊產(chǎn)品推薦
Starduino 透明亞克力外殼
Micro USB 數(shù)據(jù)線
百變之星 創(chuàng)意盒子套件