上一節我們透過線上版的編程器Wokwi學習了Arduino的基本語法和指令,但如果要上載程式到真實的Arduino控制版上,就需要用到另一個軟件,就是Arduino官方自家的開源編程器Arduino IDE了 (IDE的長寫為Intergrated Development Environment,整合開發環境)
下載連結:Arduino IDE,可以免費下載也可以捐款支持
*Win10的用戶如果用Windows zip那個版本有時會死機,最好下載Windows app的那個版本
Arduino IDE的icon
下載完成後打開Arduino IDE介面如下,和上一章的Wokwi編程那部份的介面基本一樣。詳細的說明請查看教科書的p.4~p.10
準備好軟件後,差不多可以開始上傳程式了!但在上傳前請先檢查下面的三點,其中一點沒做好都是上傳不到程式哦!
(1)插入Arduino控制板到電腦的USB埠,(2)正常情況下ON旁的LED燈會亮起
*如果這顆ON的LED沒有亮起,可能控制板上的正負腳位或其他零件短腳了,也可能是連接綫斷了,應馬上斷開控制板和電腦的連接,以防燒壞控制板或電腦
而每當我們把板子連接電腦後,都要先設定一次控制板的型號以及電腦的連接埠,否則上傳不了內容。
打開(1)Tool➡(2)Board,然後(3)選擇你要用的實物控制板型號。配合教科書在工房內我們會使用Arduino Leonardo的實物控制板,大致上功能和UNO一樣。如果你要用其他的型號(比如UNO),則選其他的型號。其他的型號除了這步驟的設定不同外剩下的步驟都是一樣的
打開(1)Tool➡(2)Port,選擇控制板和電腦的連接埠。在Arduino IDE 1.8 後期的版本會在相對的COM位後顯示Arduino XXX型號的字樣,如果Port沒有顯示,就要檢查一下是否電腦是否未連接控制板
做完前置的檢查後,終於可以開始上載程式了。大家可以用上一節的1C或1D的程式試試能否控制板上的LED,或者打開(1)File➡(2)Examples➡(3)01.Basics➡(4)Blink找到和閃爍燈的程式
上節的Lv2練習題我們外接了LED到9,10,11號pin腳位令其閃爍,除了直接接上零件外,為了方便大家應用,實物上我們多會直接使用擴充板。下面我們就準備了一塊具備了基本零件的IS擴充板。擴充板就是把0~13號等的pin腳位引用到上面綠色的電路板上連結其他零件,除了下面介紹的這塊學校自製的擴充板,也有對應馬達、感應器等不同種類的擴充板
上述的擴充板上面包含LED等的不同零件,詳細列表會在之後的章節介紹。今章主要介紹位於9,10,11號腳位上的三色LED燈。雖然外觀上是一顆LED,但內部是包含了RGB(紅綠藍)三顆小LED,分別連接了9,10,11號腳
直接沿用上一章的Lv2練習題,把輸出的腳位設為9號/10號/11號上傳就可以令擴充板的RGB燈閃爍了
void setup() {
pinMode(9,OUTPUT);
}
void loop() {
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
}
完成後思考一下: RGB(紅綠藍)燈的腳位分別為?
在2a題目的基礎上,讓RGB燈輪流以R➡G➡B➡R➡...的順序循環閃爍吧。
先想想,再看下面的解答
完成後思考一下: 如果2隻或以上的腳位同時供電會如何?
void setup() {
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
}
void loop() {
digitalWrite(/*紅燈腳*/, 1); //設定紅燈亮
delay(1000); //維持上面的1s
digitalWrite(/*紅燈腳*/, 0); //設定紅燈關亮
delay(1000); //維持上面的1s
digitalWrite(/*綠燈腳*/, 1); //設定綠燈亮
delay(1000); //維持上面的1s
digitalWrite(/*綠燈腳*/, 0); //設定綠燈關亮
delay(1000); //維持上面的1s
digitalWrite(/*藍燈腳*/, 1); //設定藍燈亮
delay(1000); //維持上面的1s
digitalWrite(/*藍燈腳*/, 0); //設定藍燈關亮
delay(1000); //維持上面的1s
}
(可選)讓RGB燈輪流以紅➡黃➡綠➡青➡藍➡紫➡紅...的順序循環閃爍吧。
提示:黃=紅+綠,青=藍+綠,紫=紅+藍
如果你已經順利完成了2b (甚至2c)的練習﹐恭喜你!你已經掌握Arduino實體上傳方法了!
這個章節我們主要學習了實體控制版的上載流程分別,以及擴充板的LED燈使用方式,之後如果在上載時有疑問就請回到這個章節按步驟查詢問題了。
在下一章節我們會學習顯示文字:1.2 顯示文字