“(RB-13K021)愛上Arduino互動入門套件”的版本間的差異

來自ALSROBOT WiKi
跳轉至: 導航、 搜索
第67行: 第67行:
  
 
==精選例程==
 
==精選例程==
?
===PWM控制電機轉速===
+
===全彩 LED 模擬呼吸燈實驗===
?
====實驗簡介====
+
試驗簡介:全彩LED 燈是LED 家族中的成員之一,是透明樹脂封裝,四個引腳,里面一般封裝了3 個芯片(一般是紅、綠、藍三基色)三種顏色共用一腳(共陰或共陽)一般用來做廣告字、燈箱背光源、顯示屏、點光源、燈飾產(chǎn)品、電子儀器、家具裝飾等。本實驗是通過3 路PWM 輸出控制全彩LED 的三個顏色漸近變化,模擬連續(xù)變化的呼吸燈效果。<br/>
?
你知道什么是直流電機嗎?定義輸出或輸入為直流電能的旋轉電機,稱為直流電機,它是能實現(xiàn)直流電能和機械能互相轉換的電機。當它作電動機運行時是直流電動機,將電能轉換為機械能;作發(fā)電機運行時是直流發(fā)電機,將機械能轉換為電能。直流電機的結構應由定子和轉子兩大部分組成。直流電機運行時靜止不動的部分稱為定子,定子的主要作用是產(chǎn)生磁場,由機座、主磁極、換向極、端蓋、軸承和電刷裝置等組成。運行時轉動的部分稱為轉子,其主要作用是產(chǎn)生電磁轉矩和感應電動勢,是直流電機進行能量轉換的樞紐,所以通常又稱為電樞,由轉軸、電樞鐵心、電樞繞組、換向器和風扇等組成。在PWM 驅動控制的調(diào)整系統(tǒng)中,接一個固定的頻率來接通和斷開電源,并根據(jù)需要改變一個周期內(nèi)“接通”和“斷開”時間的長短。通過改變直流電機電樞上電壓的“占空比”來改變平均電壓的大小,從而控制電動機的轉速。本實驗通過按鍵開關調(diào)節(jié)PWM 輸出值,從而控制風扇的轉速,調(diào)節(jié)風力大小。
+
====所需硬件====
?
====硬件設備====
+
* CarDuino UNO R3 控制器×1
?
*CarDuino UNO R3 控制器×1
+
* USB 下載線×1
?
*USB 下載線×1
+
* 大面包板×1
?
*大面包板×1
+
* 跳線若干
?
*跳線若干
+
* 全彩LED 燈×1
?
*直流電機×1
+
* 電阻×3
?
*扇葉×1
+
====硬件接線====
?
*IRF520×1
+
全彩 LED 模擬呼吸燈實驗實驗原理圖<br/>
?
*1N4007×1
+
[[image:13k02302.png|thumb|500px|center|]]
?
*按鍵開關×2
+
全彩 LED 模擬呼吸燈實驗面包板接插圖<br/>
?
*電阻×2
+
[[image:13k02303.png|thumb|500px|center|]]
?
====硬件連接====
+
全彩 LED 模擬呼吸燈實驗實物連接圖<br/>
?
PWM 控制電機轉速實驗原理圖<br/>
+
[[image:13k02304.png|thumb|500px|center|]]
?
[[image:13k02101.jpg|thumb|500px|center|]]
+
?
PWM 控制電機轉速實驗面包板接插圖<br/>
+
?
[[image:13k02102.png|thumb|500px|center|]]
+
?
PWM 控制電機轉速實驗實物連接圖<br/>
+
?
[[image:13k02103.png|thumb|700px|center|]]
+
 
====例子程序====
 
====例子程序====
?
<pre style='color:blue'>int switchPin1=7; //定義switchPin1 引腳為7 連接加速按鍵
+
<pre style="color:blue">
?
int switchPin2=8; //定義switchPin2 引腳為8 連接減速按鍵
+
int R_Pin = 11;
?
int motorspeed=9; //定義motorspeed 引腳為9
+
int G_Pin = 10;
?
int a=0; //變量a 用來存儲數(shù)值
+
int B_Pin = 9; //定義三個輸出引腳并分別連接全彩LED 燈的red,green 和blue 引腳
 
void setup()
 
void setup()
 
{
 
{
?
pinMode(switchPin1, INPUT); //設定switchPin1 引腳為輸入狀態(tài)
+
pinMode(R_Pin, OUTPUT);
?
pinMode(switchPin2, INPUT); //設定switchPin2 引腳為輸入狀態(tài)
+
pinMode(G_Pin, OUTPUT);
?
pinMode(motorspeed,OUTPUT); //設定motorspeed 引腳為輸出狀態(tài)
+
pinMode(B_Pin, OUTPUT); //定義三個引腳為輸出
 
}
 
}
 
void loop()
 
void loop()
 +
{ int i,j,k;
 +
for(i=1;i<=7;i++) //紅燈逐漸變亮
 
{
 
{
?
if (LOW== digitalRead(switchPin1)) //如果switchPin1 為低電平則執(zhí)行下面的語句
+
for(j=1;j<=7;j++) //綠燈逐漸變亮
 
{
 
{
?
a=a+10;
+
for(k=1;k<=7;k++) Color(i,j,k); //藍燈逐漸變亮
?
analogWrite(motorspeed,a); //將a 的值賦給motorspeed
+
for(k=6;k>=2;k--) Color(i,j,k); //藍燈逐漸變暗
?
delay(1000); //延時1 秒
+
 
}
 
}
?
if (LOW== digitalRead(switchPin2)) //如果switchPin2 為低電平則執(zhí)行下面的語句
+
for(j=6;j>=2;j--) //綠燈逐漸變暗
 
{
 
{
?
a=a-10;
+
for(k=1;k<=7;k++) Color(i,j,k);
?
analogWrite(motorspeed,a); //將a 的值賦給motorspeed
+
for(k=6;k>=2;k--) Color(i,j,k);
?
delay(1000); //延時1 秒
+
 
}
 
}
?
}</pre>
+
}
 +
for(i=6;i>=2;i--) //紅燈逐漸變暗
 +
{
 +
for(j=1;j<=7;j++)
 +
{
 +
for(k=1;k<=7;k++) Color(i,j,k);
 +
for(k=6;k>=2;k--) Color(i,j,k);
 +
}
 +
for(j=6;j>=2;j--)
 +
{
 +
for(k=1;k<=7;k++) Color(i,j,k);
 +
for(k=6;k>=2;k--) Color(i,j,k);
 +
}
 +
}
 +
}
 +
void Color(int r, int g, int b) //全彩LED 子程序
 +
{
 +
analogWrite(R_Pin, 36*r);
 +
analogWrite(G_Pin, 36*g);
 +
analogWrite(B_Pin, 36*b);
 +
delay(100);
 +
}
 +
</pre>
 +
程序效果:CarDuino UNO R3 控制器上電后,全彩LED 中的紅、綠、藍分別按不同順序逐漸變亮再逐漸變暗,從而三基色整體變幻出各種顏色。
 +
<br/>
 +
 
 
==產(chǎn)品相關推薦==
 
==產(chǎn)品相關推薦==
 
[[文件:erweima.png|230px|無框|右]]
 
[[文件:erweima.png|230px|無框|右]]

2015年9月22日 (二) 08:49的版本

Aishang.jpg

目錄

產(chǎn)品概述

愛上Arduino 互動入門套件是哈爾濱奧松機器人科技有限公司專門為Arduino 愛好者精心打造的一款入門學習套件,此套件完全按照《愛上Arduino》(Arduino 創(chuàng)始人所著《Getting Started with Arduino》中文譯著)一書內(nèi)容配置,除了書中涉及到的基本元件外,還增加了擴展講解部分中的直流電機、風扇、干簧管、磁鋼、傾角傳感器、紅外熱釋電傳感器等。即使你沒有學過電子電路相關知識,也可以按照中文教材書籍講解一步步完成每個實驗操作,在整個實驗的過程中,你只需在面包板上通過跳線插拔連接元件,無須使用電烙鐵焊接,避免了初學者焊接元件浪費原料不環(huán)保的習慣。此套件完全考慮初學者學習興趣,按照書中內(nèi)容精心編排,每個實驗均配有電路原理圖、元件插接圖和實物連接圖,實驗詳細說明和具有功能注釋的例子程序,由易到難,循序漸進,打好學習基礎,啟發(fā)創(chuàng)新思維,領悟開源創(chuàng)意文化,這款套件是帶你進入互動新媒體領域和電子世界的必備之選。

主控器技術參數(shù)

  1. 主控器:Carduino UNO R3
  2. 微處理器:ATmega328
  3. Flash 內(nèi)存:32 KB (ATmega328 其中0.5 KB 用于引導程序)
  4. 工作電壓:5V
  5. 輸入電壓:接上USB 時無須外部供電或外部7V~12V DC 輸入
  6. 輸出電壓:5V DC 輸出和3.3V DC 輸出和外部電源輸入
  7. 時鐘頻率:16 MHz
  8. 輸入電壓:7-12V(推薦)
  9. 輸入電壓:6-20V(限制)
  10. 支持USB 接口協(xié)議及供電(不需外接電源)
  11. 支持ISP 下載功能
  12. 數(shù)字I/O 端口:14(6 個PWM 輸出口)
  13. 模擬輸入端口:6
  14. 直流電流:40mA(I/O 端口)
  15. 直流電流:50mA(3.3V 端口)
  16. EEPROM:1 KB (ATmega328)
  17. SRAM:2 KB (ATmega328)
  18. 尺寸:75x55x15mm

Arduino編譯環(huán)境下載

當前最新版Arduino 1.6.5 下載地址: http://www.arduino.cc/en/Main/Software

第一個Arduino實驗

點亮13號引腳的LED燈,持續(xù)一秒,然后滅掉,再持續(xù)一秒,一直循環(huán)。
在這第一個實驗中,我們假設讀者使用控制器的型號是Arduino UNO,并獲取了Arduino開發(fā)環(huán)境,而且已經(jīng)安裝了USB驅動。

連接Arduino控制板和電腦

將USB線一端插在Arduino控制板上,一端插在電腦的USB接口上。(獨立工作時Arduino控制板可以選擇從USB供電, 也可以選擇由電源適配器供電)

設置Arduino開發(fā)環(huán)境語言

打開Arduino主程序后,軟件會自動識別系統(tǒng)的語言,然后設置開發(fā)環(huán)境為系統(tǒng)語言,如果需要設置為其他語言同樣可以,只要打開:File > Preferences,找到Editor language項,將其設為需要的語言(例如:簡體中文),然后關閉Arduino主程序并重新打開,開發(fā)環(huán)境界面就會變成中文。

Arduino1231.jpg


Arduino1232.jpg


Arduino1233.jpg


打開LED blink例程


打開軟件選擇文件 - 示例 - 01.Basics - Blink

blink


設置板卡型號

Arduino包括多種版本的主控器,其中比較常見的是Uno、Leonardo以及Mega系列的控制器。在軟件上點擊工具然后在“板”一項下選擇相應的型號,這時你需要根據(jù)自己的主控硬件的固件類型來選擇板卡。(樣例中選用的是以Uno為bootloader的控制器)
工具 - 板 - Arduino Uno

Arduino1235.jpg


設置串口

工具 > 串口 > xx,這里的xx應選擇在你的電腦設備管理器中看到的一致。

Arduino1236.jpg


下載程序

如圖,點擊驗證,程序只進行了驗證,而沒有下載到控制器中,下載需要再點擊上傳鍵;若直接點擊上傳鍵,將程序會先進行驗證然后直接下載程序到你的Arduino控制板上。

Arduino1237.jpg


程序效果

程序運行的效果就是:Adruino Uno板載的13號引腳LED燈在閃爍。

Arduino UNO驅動安裝

Arduino UNO驅動安裝方法

精選例程

全彩 LED 模擬呼吸燈實驗

試驗簡介:全彩LED 燈是LED 家族中的成員之一,是透明樹脂封裝,四個引腳,里面一般封裝了3 個芯片(一般是紅、綠、藍三基色)三種顏色共用一腳(共陰或共陽)一般用來做廣告字、燈箱背光源、顯示屏、點光源、燈飾產(chǎn)品、電子儀器、家具裝飾等。本實驗是通過3 路PWM 輸出控制全彩LED 的三個顏色漸近變化,模擬連續(xù)變化的呼吸燈效果。

所需硬件

  • CarDuino UNO R3 控制器×1
  • USB 下載線×1
  • 大面包板×1
  • 跳線若干
  • 全彩LED 燈×1
  • 電阻×3

硬件接線

全彩 LED 模擬呼吸燈實驗實驗原理圖

13k02302.png

全彩 LED 模擬呼吸燈實驗面包板接插圖

13k02303.png

全彩 LED 模擬呼吸燈實驗實物連接圖

13k02304.png

例子程序

int R_Pin = 11;
int G_Pin = 10;
int B_Pin = 9; //定義三個輸出引腳并分別連接全彩LED 燈的red,green 和blue 引腳
void setup()
{
pinMode(R_Pin, OUTPUT);
pinMode(G_Pin, OUTPUT);
pinMode(B_Pin, OUTPUT); //定義三個引腳為輸出
}
void loop()
{ int i,j,k;
for(i=1;i<=7;i++) //紅燈逐漸變亮
{
for(j=1;j<=7;j++) //綠燈逐漸變亮
{
for(k=1;k<=7;k++) Color(i,j,k); //藍燈逐漸變亮
for(k=6;k>=2;k--) Color(i,j,k); //藍燈逐漸變暗
}
for(j=6;j>=2;j--) //綠燈逐漸變暗
{
for(k=1;k<=7;k++) Color(i,j,k);
for(k=6;k>=2;k--) Color(i,j,k);
}
}
for(i=6;i>=2;i--) //紅燈逐漸變暗
{
for(j=1;j<=7;j++)
{
for(k=1;k<=7;k++) Color(i,j,k);
for(k=6;k>=2;k--) Color(i,j,k);
}
for(j=6;j>=2;j--)
{
for(k=1;k<=7;k++) Color(i,j,k);
for(k=6;k>=2;k--) Color(i,j,k);
}
}
}
void Color(int r, int g, int b) //全彩LED 子程序
{
analogWrite(R_Pin, 36*r);
analogWrite(G_Pin, 36*g);
analogWrite(B_Pin, 36*b);
delay(100);
}

程序效果:CarDuino UNO R3 控制器上電后,全彩LED 中的紅、綠、藍分別按不同順序逐漸變亮再逐漸變暗,從而三基色整體變幻出各種顏色。

產(chǎn)品相關推薦

Erweima.png

產(chǎn)品購買地址

愛上Arduino套件

周邊產(chǎn)品推薦

動手玩兒轉Arduino
基于Arduino魔法書互動套件

相關問題解答

Arduino 驅動安裝失???最全的解決辦法
如何利用Xbee模塊實現(xiàn)兩個Arduino UNO控制器的通信

相關學習資料

愛上Arduino與愛上Processing的互動視頻教程
奧松機器人技術論壇