學習Arduino的語法相當簡單,它的語法結構與Processing,Java,C語言相當類似,你只需要基礎的程式設計能力就可以快速上手。基本Arduino的語法function必須包含兩個部份:void Setup() 和 void Loop()
- Steup()的內容主要是設定一啟動Arduino時候所要初始化的設定參數。
- Loop()的內容是負責控制單晶片在運作時候重複執行的每一項工作項目,也就是所撰寫的程式內容。比較詳細的語法介紹會在『Arduino語法』中簡介,這裡簡單的以基本的LED燈閃爍控制來做範例解說。
LED閃爍語法:(轉載原官方網站上的程式碼,網址如下:www.arduino.cc/en/Tutorial/BlinkingLED)
/* Blinking LED
* ------------
*
* turns on and off a light emitting diode(LED) connected to a digital
* pin, in intervals of 2 seconds. Ideally we use pin 13 on the Arduino
* board because it has a resistor attached to it, needing only an LED
*
* Created 1 June 2005
* copyleft 2005 DojoDave <http://www.0j0.org>
* http://arduino.berlios.de
*
* based on an orginal by H. Barragan for the Wiring i/o board
*/
int ledPin = 13; // 這裡設定所要閃爍的LED燈腳位
void setup()
{
pinMode(ledPin, OUTPUT); // 這裡設定所要輸出的PIN腳模式,OUTPUT = 輸出4V電壓
}
void loop()
{
digitalWrite(ledPin, HIGH); // 設定PIN13腳位為高電位 = 4V
delay(1000); // 設定延遲時間,1000 = 1秒
digitalWrite(ledPin, LOW); // 設定PIN13腳位為低電位 = 0V
delay(1000); // 設定延遲時間
}
由以上的範例可以製作出讓PIN13的腳位輸出一個每隔1秒鍾就產生高電位的閃爍效果。

而將寫好的程式碼撰寫在你的Arduino介面裡面之後,接下來要先按下Verify
這個按鈕,程式會先幫忙你檢查語法是否錯誤,如果沒有錯誤,會出現(Done Compiling)。
再來選擇你目前的COM設定,如果這一步沒有確認設定好的話,會是出現錯誤訊息的。在軟體工具上面找到Tools->Serial Port->COM4
(這裡的COM Port依照你所裝上去的USB Serial Port),確認之後打勾就可以了。
接下來就是將程式給上傳到Arduino上面,先在Arduino硬體上面按下Reset按鈕一下,等待Pin13的LED燈閃爍一秒之後。(新版本的Arduino已經不需按下Reset)
Note:
不是等PIN13的LED又開始閃爍之後喔,是要在按下Reset時,會看到Pin13的LED閃爍一秒(很快地閃),然後會熄滅,這時候就要按按鈕了,否則5秒後,Arduino就會開始執行原來晶片裡面所要執行的動作了
再按下軟體上面的Upload to I/O Board
,等待幾秒鍾,板子上面的RX/TX燈號會連續閃爍,等閃爍之後,軟體上面的下面會出現:
Atmel AVR ATmega8 is found.
Uploading: flash
Firmware Version: 1.18
Firmware Version: 1.18
這些訊息表示有找到晶片,並且已經上傳上去Arduino,你可以看看LED13燈號是否會每隔一秒鍾閃滅閃滅,如果是的話,就完成你的第一次使用Arduino了。
這裡再整理一下每次使用Arduino軟體的程序:

如果以上的程序還是會有問題,可能是COM PORT沒設好,或是正在有軟體再佔用COM PORT...等情況。
如果上面簡單的範例可以使用,接下來可以來試看看利用可變電阻取得數值。
連接可變電阻的電路方式如下圖:

連接好電路之後,就可以開始來寫程式了,程式碼如下:
int potPin = 0; // 宣告類比腳位輸入的PIN腳
int val = 0; // 宣告變數Val = 0
void setup() {
Serial.begin(9600); //設定SerialPort的速度9600 = 9600bit/s
}
void loop() {
val = analogRead(potPin); // 用analogRead()這個函式讀取特定腳位的數值到變數val
Serial.print(val); //印出數值在Serial.Monitor
delay(150); //延遲讀入的時間為150ms
}
將程式上傳到Arduino之後,打開Serial Monitor
,就會看到從可變電阻上面所收到的數值,而這些數值就可以用來控制LED的閃滅,或是控制Flash的動畫影格之類的應用。