0. ARDUINO && IDE
1.ARDUINO 輸出數位訊號 點亮一顆LED
2.ARDUINO 輸出類比訊號 點亮一顆LED
3.LED 閃爍(blinking) ,使用delay 語法
4.LED 跑馬燈 ,使用delay 語法(範例為三顆LED)
5.LED 跑馬燈 ,宣告變數and 常數
6.紅外線避障開關點亮一顆LED A.即時模式
7.紅外線避障開關啟動LED跑馬燈 B.套用跑馬燈程式
8.彈跳開關點亮一顆LED C.狀態偵測改變
9.紅外線避障開關點亮一顆LED C.狀態偵測改變
顧名思義,一個會有增減變化的數值代號,如接收麥克風、光敏電阻、可變電阻的訊號數值,其值會在(0~1024)之間變化,因此宣告的資料類型必須使用int。例如:
int MIC_VAL=0 ; // 宣告一個變數叫做MIC_VAL,其初始值設定為0(麥克風模組發送的類比訊號會在0~1024之間變化,視不同模組範圍有所不同)。
int led_VAL=0 ; // 宣告一個變數叫做 led_VAL,其初始值設定為0( LED的類比訊號變化會在0~255之間變化,因此宣告資料類型也可以寫成 byte led_VAL=0; )。
如果變數的範圍只有0與1兩種變換,資料類型可以使用boolean,縮寫為bool,例如:
bool ir_Val= false; // 例如紅外線開關,只會存在「有」、跟「沒有」兩種狀態,因此可以宣告一個變數叫ir_Val,初始值為false(也可以0 or LOW),
一個數值代號,該代號的數值不會有值的增減,例如:
const int Mic_Pin =A0; //宣告一個叫Mic_Pin的常數,設定為 A0。
#define Mic_Pin A0 // 在編譯時,編譯器將使用數值 A0取代後續程式中任何用到 Mic_Pin 的地方。
系統預設的常數:INPUT OUTPUT HIGH LOW true false 等等,大小寫有區別。
#define led_1 9 //在編譯時,編譯器將使用數值 9取代後續程式中任何用到 led_1 的地方。
也可以:
const int led_1 =9; //宣告一個叫 led_1 的常數,設定為 9。
而 void setup(){
pinMode(led_1,OUTPUT);
} 才是決定9腳位為輸出腳位的程式。
ex:
byte x= -1 // x的變數資料是255
byte x= -2 // x的變數資料是254
byte x= 1 // x的變數資料是1
byte x= 256 // x的變數資料是1
unsigned(不帶正負號)
例如 int 的數值範圍為-32768~32767
加上unsigned可擴大數值範圍變成:
0~65535(32768+32767)
重點:紅外線避障開關運作原理
有障礙物,發出低電位
無障礙物,發出高電位
}else{
digitalWrite(led_1,LOW);
digitalWrite(led_2,LOW);
digitalWrite(led_3,LOW);
使用數位輸出端DO(Digital OUTPUT)。
機械式開關在切換的時候,訊號並分直接由0變化到1(或者1變化到0),會經過短暫的彈跳現象,為了消除此問題,在發現輸入訊號變化時,先暫停0.01s~0.03s,再讀取一次確認訊號是否已經變化,再執行動作。
重點:
1.從序列埠視窗輸出資料的指令為print()和println() ,print()指令會在目前所在字行輸出文字,println()則會輸出在文字之後,加入(看不見的)新行字元: