這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 | 最後一次修改 Both sides next revision | ||
arduino_study [2024/04/16 09:35] don [自訂含式] |
arduino_study [2024/04/16 09:48] don [函式] |
||
---|---|---|---|
行 135: | 行 135: | ||
以下先提供幾個Arduino所提供的函式: | 以下先提供幾個Arduino所提供的函式: | ||
- | setup() | + | ===== setup() |
- | 在Arduino運作草稿碼時,首先會須卻引用setup函式,來將一些變數宣告、設定腳位、開發版驅動、初始化序列阜通訊等項目進行程式在執行前的準備工作都先做過一遍。而setup函式也只會在程式一開始時執行一次,後面便不會再執行,以下將以上一單元中的Blink草稿碼進行舉例: | + | |
+ | 在Arduino運作草稿碼時,首先會須卻引用setup函式,來將一些變數宣告、設定腳位、開發版驅動、初始化序列阜通訊等項目進行程式在執行前的準備工作都先做過一遍。而setup函式也只會在程式一開始時執行一次,後面便不會再執行,以下將以上一單元中的Blink草稿碼進行舉例: | ||
+ | < | ||
void setup() { | void setup() { | ||
// initialize digital pin LED_BUILTIN as an output. | // initialize digital pin LED_BUILTIN as an output. | ||
pinMode(LED_BUILTIN, | pinMode(LED_BUILTIN, | ||
} | } | ||
+ | </ | ||
在setup函式中,他使用pinMode函式取指定Led的腳位狀態 | 在setup函式中,他使用pinMode函式取指定Led的腳位狀態 | ||
- | loop | + | ===== loop() ===== |
在setup函式執行後,Arduino便會開始執行loop函式,而loop函式正如他的名稱迴圈一樣,他會不斷地去執行一樣的動作,我們一樣以Blink草稿碼進行舉例: | 在setup函式執行後,Arduino便會開始執行loop函式,而loop函式正如他的名稱迴圈一樣,他會不斷地去執行一樣的動作,我們一樣以Blink草稿碼進行舉例: | ||
p.s: loop可以直接去運用在setup已經設定好的變數。 | p.s: loop可以直接去運用在setup已經設定好的變數。 | ||
+ | < | ||
void loop() { | void loop() { | ||
digitalWrite(LED_BUILTIN, | digitalWrite(LED_BUILTIN, | ||
行 155: | 行 158: | ||
delay(1000); | delay(1000); | ||
} | } | ||
+ | </ | ||
在上面的程式碼中,開發版會持續地去執行於loop內的程式,而已上便是持續開燈關燈的程式碼。 | 在上面的程式碼中,開發版會持續地去執行於loop內的程式,而已上便是持續開燈關燈的程式碼。 | ||
- | pinMode | + | ==== pinMode |
在Arduino中,pinMode函式是用來做腳位設定的,而在Blink範例中,我們將LED_BUILTIN設定成OUPUT的狀態,便是pinMode函式的功能。 | 在Arduino中,pinMode函式是用來做腳位設定的,而在Blink範例中,我們將LED_BUILTIN設定成OUPUT的狀態,便是pinMode函式的功能。 | ||
行 164: | 行 169: | ||
在Arduino中,我們查需要去傳輸或是接收腳位的的資料,下面將提供幾個Arduino內建管理腳位的副函式 | 在Arduino中,我們查需要去傳輸或是接收腳位的的資料,下面將提供幾個Arduino內建管理腳位的副函式 | ||
- | digitalWrite() | + | ==== digitalWrite() |
為IO腳位而設計,此功能將已經設置為output的腳位進行設定他的高低電壓,在Arduino中HIGH便式高電壓,他將輸出5V的電壓,而LOW則是低電壓,他將輸出0V,以下將進行舉例,我們將13腳位設定成HIGH的狀態 | 為IO腳位而設計,此功能將已經設置為output的腳位進行設定他的高低電壓,在Arduino中HIGH便式高電壓,他將輸出5V的電壓,而LOW則是低電壓,他將輸出0V,以下將進行舉例,我們將13腳位設定成HIGH的狀態 | ||
digitalWrite(13, | digitalWrite(13, | ||
行 170: | 行 176: | ||
與digitalWrite類似,但是他的功能是讀取目前腳位的狀態 | 與digitalWrite類似,但是他的功能是讀取目前腳位的狀態 | ||
value = digitalRead(13); | value = digitalRead(13); | ||
- | analogRead() | + | ==== analogRead() |
此功能跟digitalRead一樣都會去讀取腳位的數值。但是他是用在讀取類比數位的數值,他的數值表示將以線性方式去對應到定位0到1023,而代表著0到5V的電壓 | 此功能跟digitalRead一樣都會去讀取腳位的數值。但是他是用在讀取類比數位的數值,他的數值表示將以線性方式去對應到定位0到1023,而代表著0到5V的電壓 | ||
- | analogWrite() | + | ==== analogWrite() |
此功能用在將數位訊號上產生類比輸出效果,而這種技術叫做PWM,我們將在後面介紹到,切記這個功能不能適用於所有的數位腳位,只適用於PWM腳位 | 此功能用在將數位訊號上產生類比輸出效果,而這種技術叫做PWM,我們將在後面介紹到,切記這個功能不能適用於所有的數位腳位,只適用於PWM腳位 | ||