1. 讀取 A0 - A7 的 Analog Input 類比輸入參數值(指撥開關狀態 High 或 Low)。
2. 當讀取的 Analog Input 類比輸入參數值 低於 1/2 參考電壓,
則設定輸出腳位為 "LOW" ,LED 燈滅
2. 當讀取的 Analog Input 類比輸入參數值 高於 1/2 參考電壓,
則設定輸出腳位為 "HIGH" ,LED 燈亮
範例:按鈕亮燈 (指撥開關 On/Off 亮 LED 燈 )
(讀取 A0-A7 按鈕狀態,設定 LED0-LED7 亮或滅)
==================================================
// 定義 輸出 LED 腳位 號碼,由 D2-D13 腳位
int LEDPin[] = { 2, 3, 4, 5, 6, 7, 8, 9 ,10, 11, 12, 13};
// 定義 輸入 DIP SW 腳位 號碼,由 A0-A7 腳位
//int SensorPin[] = { 14, 15, 16, 17, 18, 19, 20, 21 };
int SensorPin[] = { A0, A1, A2, A3, A4, A5, A6, A7 };
int delayMs = 10; // 設定延遲時間
int SensorValue;
void setup() {
// put your setup code here, to run once:
// 初始化設定
for (int LoopCount = 0; LoopCount <= 7; LoopCount++) {
pinMode(LEDPin[LoopCount], OUTPUT); // 設定輸出腳位
pinMode(SensorPin[LoopCount], INPUT); // 設定輸入腳位
// Nano A6/A7 需要設定為 Input Analog Mode
}
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
for (int LoopCount = 0; LoopCount <= 7; LoopCount++) {
// For Arduino Uno A0-A5 Digital Input
//SensorValue = digitalRead(SensorPin[LoopCount]);
// read the value from the sensor: For Nano A0-A7 Analog Pin
SensorValue = analogRead(SensorPin[LoopCount]);
// 透過 Serial Monitor Port 顯示輸入腳位 狀態 或 類比數值
Serial.print("SensorPin[");
Serial.print(LoopCount);
Serial.print("] = Pin");
Serial.print(SensorPin[LoopCount]);
Serial.print(" = ");
Serial.print(SensorValue);
Serial.print(" --> ");
if ( SensorValue > 512 ) {
// 當 Analog Input 類比輸入高於 1/2 電壓時,設定為 LOW Lever 輸出
// 因為目前的實驗板 Analog Input 有加 Pull High 上拉電阻,
// 所以 DIP SW 撥到 On 時,Analog Input 類比輸入為 低準位 LOW
digitalWrite(LEDPin[LoopCount], LOW);
}
else {
// 否則,當 Analog Input 類比輸入低於 1/2 電壓時,設定為 HIGH Lever 輸出
digitalWrite(LEDPin[LoopCount], HIGH);
}
// 透過 Serial Monitor Port 顯示輸出腳位 狀態 或 類比數值
Serial.print("LEDPin[");
Serial.print(LoopCount);
Serial.print("] = ");
Serial.print(SensorValue);
Serial.println("");
delay(delayMs); // 延遲一段 delayMs 設定的週期時間
} // for (int LoopCount = 0; LoopCount <= 7; LoopCount++) {
}
==================================================
(程式範例結束)
DIP SW 1,3,6,8 On; LED 1,3,6,8 亮
DIP SW 1,2,4,8 On; LED 1,2,4,8 亮