3.Arduino教學-點亮LED燈-pinMode(); digitalWrite(); delay();
程式碼說明
1.setup:初始設定(執行一次)
2.loop:迴圈(重複執行)
3.pinMode(腳位,裝置種類):設定連接某腳位的裝置類型,裝置分為OUTPUT與INPUT兩種
OUTPUT:輸出裝置(接收控制板指令並動作)
例:馬達、Led燈,分辨方式:有明顯變化的
INTPUT:輸入裝置(傳送訊息至控制板)
例:按鈕,分辨方式:靜止不動或以手操作的
4.digitalWrite(腳位,電壓狀態)
HIGH:高電壓(有電)
LOW:低電壓(沒電)
例:當腳位是HIGH狀態,燈泡會亮、馬達會動,反之LOW就熄滅
5.delay(毫秒):暫停程式執行(毫秒),1000毫秒等於1秒,500等於0.5秒
例子:迴圈{燈泡亮>dealy(1000)>燈泡暗>(1000)},燈泡會重複一秒亮,一秒暗
範例說明
設定(setup):LED正極連接~13,延遲3秒再開始重複閃爍
迴圈(lo):讓LED亮(通電),停一秒,LED熄滅(斷電),停一秒
線路圖
Arduino |
Led |
13(正極) |
長腳(正極) |
GND(負極) |
短腳(負極)+220Ω電阻 |
電阻能把過大的電流降低,因為LED需要的電流比較小,因此負極需要再連接一條電阻 |
(點亮LED燈線路圖)
註:初次接線請參考 0.Arduino-線路連接-麵包板與線路圖
程式碼
void setup() {//設定,只執行一次
pinMode(13,OUTPUT);// 13腳位(LED燈)是輸出裝置
digitalWrite(13,HIGH);//13腳位(LED)為高電壓
delay(3000);//暫停3秒
}
void loop() {//迴圈,無限重複
digitalWrite(13,HIGH);//13腳位通電
delay(1000);//暫停1秒
digitalWrite(13,LOW);//13腳位斷電
delay(1000);//暫停1秒
}
程式碼 |
說明 |
|
void setup(){} |
設定 |
|
void loop(){} |
迴圈 |
|
{} |
內部放眾多程式碼,如:{pinMode…} |
|
; |
區分程式碼,如:pinMode(13,HIGH); |
|
// |
//用來註解文字,不會影響程式運作,類似筆記的概念 |
|
void loop() { digitalWrite(13,HIGH)... |
用tab鍵編排程式碼,讓閱讀更方便 |
|
已完成 | 動作 |
準備麵包板、杜邦線、Arduino控制板 | |
將Arduino 13腳位接到Led長腳 | |
將Arduino 短腳連接電阻後,接到Led短腳 | |
在setup 處以pinMode 設定13腳位為OUTPUT | |
在pinMode下方增加digitalWrite,讓13腳位輸出高電壓 | |
在digitalWrite下方加上delay,控制暫停幾毫秒 | |
在loop處以digitalWrite與delay控制閃爍 | |
嘗試將13腳位換成其他數字腳位,並更改程式碼 |
留言
張貼留言