4X4鍵盤控制LED

#include <Keypad.h>                     // 鍵盤函式庫
const byte ROWS = 4;                    //4 列鍵盤
const byte COLS = 4;                    //4 行鍵盤
char keys[ROWS][COLS] = {               // 鍵盤對應字元
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[ROWS] = {30,31,32,33};       // 資料線接腳
byte colPins[COLS] = {34,35,36,37};       // 掃描線接腳
Keypad keynum = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS );int LED1=22;    // 定義 LED 燈接至控制板接腳 13  <--可以隨意在程式中更改變數值,占用較大記憶體位置int LED2=23;int LED3=24;int LED4=25;int LED5=26;int LED6=27;int LED7=28;int LED8=29;int counter;
void setup(){
  Serial.begin(9600);  pinMode(LED1,OUTPUT); // 設置接腳 13 為輸出模式。  pinMode(LED2,OUTPUT);  pinMode(LED3,OUTPUT);  pinMode(LED4,OUTPUT);  pinMode(LED5,OUTPUT);  pinMode(LED6,OUTPUT);  pinMode(LED7,OUTPUT);   pinMode(LED8,OUTPUT); }
void loop(){
  char key = keynum.getKey();             // 讀取按鍵值
  if (key != NO_KEY){                     // 判斷是否有按鍵值
  }char val=key;         //  讀取按鍵值發送給 val 變數  if(val=='1')   {    digitalWrite(LED1,HIGH);  }  if(val=='2')  {     digitalWrite(LED2,HIGH);  }  if(val=='3')  {    digitalWrite(LED3,HIGH);  }  if(val=='4')  {    digitalWrite(LED4,HIGH);  }  if(val=='5')  {    digitalWrite(LED5,HIGH);  }  if(val=='6')  {    digitalWrite(LED6,HIGH);  }  if(val=='7')  {    digitalWrite(LED7,HIGH);  }  if(val=='8')  {    digitalWrite(LED8,HIGH);  }  if(val=='A')  {    digitalWrite(LED1,HIGH);    digitalWrite(LED2,LOW);    digitalWrite(LED3,HIGH);    digitalWrite(LED4,LOW);    digitalWrite(LED5,HIGH);    digitalWrite(LED6,LOW);    digitalWrite(LED7,HIGH);    digitalWrite(LED8,LOW);  }  if(val=='B')  {    digitalWrite(LED1,LOW);    digitalWrite(LED2,HIGH);    digitalWrite(LED3,LOW);    digitalWrite(LED4,HIGH);    digitalWrite(LED5,LOW);    digitalWrite(LED6,HIGH);    digitalWrite(LED7,LOW);    digitalWrite(LED8,HIGH);  }  if(val=='C')  {    for (counter = 0; counter < 10; ++counter) {    digitalWrite(LED1,HIGH);    digitalWrite(LED2,HIGH);    digitalWrite(LED3,HIGH);    digitalWrite(LED4,HIGH);    digitalWrite(LED5,HIGH);    digitalWrite(LED6,HIGH);    digitalWrite(LED7,HIGH);    digitalWrite(LED8,HIGH);    delay(500);    digitalWrite(LED1,LOW);    digitalWrite(LED2,LOW);    digitalWrite(LED3,LOW);    digitalWrite(LED4,LOW);    digitalWrite(LED5,LOW);    digitalWrite(LED6,LOW);    digitalWrite(LED7,LOW);    digitalWrite(LED8,LOW);    delay(500);    }  }


  if(val=='0')  {    digitalWrite(LED1,LOW);    digitalWrite(LED2,LOW);    digitalWrite(LED3,LOW);    digitalWrite(LED4,LOW);    digitalWrite(LED5,LOW);    digitalWrite(LED6,LOW);    digitalWrite(LED7,LOW);    digitalWrite(LED8,LOW);    Serial.println("LED 燈熄滅 "); // 監控視窗顯示「LED 燈熄滅」字串  }
}