1. 首頁
  2. »
  3. arduino
  4. Arduino教學-下載與安裝Arduino IDE,開始撰寫你的第一隻Arduino

Arduino教學-下載與安裝Arduino IDE,開始撰寫你的第一隻Arduino

2020/06/29

梅問題-Arduino教學-下載與安裝Arduino IDE,開始撰寫你的第一隻Arduino
  要用什麼軟體寫Arduino的程式呢?選擇其實不少,傑森建議初學者先用官方的Arduino IDE,它是一套跨平台應用軟體,不管是Windows或Mac,甚至是Linux也能使用,是大多數Arduino開發者所選用的整合開發環境,大家可以到Arduino官方網站免費下載。


Arduino IDE


梅問題-Arduino教學-下載與安裝Arduino IDE,開始撰寫你的第一隻Arduino
梅問題-Arduino教學-下載與安裝Arduino IDE,開始撰寫你的第一隻Arduino
安裝過程很簡單,一直按Next就可以了,請注意!如果有問你要不要安裝驅動程式,一定要回答「Yes」哦!
梅問題-Arduino教學-下載與安裝Arduino IDE,開始撰寫你的第一隻Arduino
梅問題-Arduino教學-下載與安裝Arduino IDE,開始撰寫你的第一隻Arduino
梅問題-Arduino教學-下載與安裝Arduino IDE,開始撰寫你的第一隻Arduino
梅問題-Arduino教學-下載與安裝Arduino IDE,開始撰寫你的第一隻Arduino
Arduino IDE也安裝好了,再來就要教大家寫支簡單的程式囉!
用Arduino IDE內建的Blink範例程式
Arduino IDE裡已經內建了一些基礎的範例程式,這些都是要幫助初學者快速進入狀況而準備的。其中最有名的,自然是「Blynk」程式了。這支程式很簡單,它可以讓Arduino板子上的一個LED燈閃爍起來,時間間隔是1秒。
我就先打開來看看,點選主選單中的「檔案>範例>Basics>Blnik」。 blink-1
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);             // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);             // wait for a second
}

前面有一大半是註解,不用理會,主要的程式是從setup()這行開始的,程式先不用看,我們直接把程式上傳到Arduino板子上,看看效果如何。 點選左上角的「上傳(Upload)」按鈕,這樣就可以把程式先進行編譯,再上傳到開發板裡了。
blink-2
blink-4
這時你會發現,Arduino Uno在13號Pin腳的旁邊,有一顆LED燈開始閃爍了!嘿,成功囉!
blink-3
現在我們來看一下這支程式,Arduino的程式架構非常簡單,主要由兩個副程式組成,setup()和loop()。 setup()裡的程式碼,只會在程式一開始時執行一次;而loop()裡的程式碼,則是會不斷被執行。 這支程式的程式碼很少,但很經典,傑森簡單說明一下。
pinMode(LED_BUILTIN, OUTPUT);

這行程式,就是把LED_BUILTIN這個Pin腳設定為輸出(OUTPUT);以Arduino Uno開發板來說,LED_BUILTIN這個內建的常數,其實就是13,也就是Uno板上內建LED的腳位。 設定為「輸出(OUTPUT)」的意思很簡單,就是在這個13號的腳位,我們是要把電向外送,這樣我們才可以控制LED的亮或滅。
digitalWrite(LED_BUILTIN, HIGH);

而這行就是將13號Pin腳輸出高電位(HIGH),在Uno板子上來說,就是5V的電,如此一來,LED有了電,自然就亮囉!
digitalWrite(LED_BUILTIN, LOW);

這行則是相反,輸出低電位(LOW),也就是不供給LED電,0V,如此LED自然就滅了。
delay(1000);

delay()則是最常使用的函式之一,它的作用就是延遲,讓亮或滅的時間延長,單位是千分之一秒,1000則是延遲1秒,這行程式分別在亮和滅之後執行,意思就是讓亮和滅的時間都延長1秒。

而寫在loop()的程式碼會不斷被執行,所以那顆內建的LED燈就是不停的一直閃爍囉!這支程式真的不難吧。


傑森 資深軟體工程師,從事資訊教育多年,熟悉Web及App技術,目前熱衷於Arduino及樹莓派Raspberry Pi的相關研究及實作。