4×4 매트릭스 키보드#
키패드 입력값을 시리얼 모니터로 출력해보자.
schematic#
Pin Map#
Arduino | Keypad | 일부 Keypad의 경우 |
---|---|---|
2 | 1 | 8 |
3 | 2 | 7 |
4 | 3 | 6 |
5 | 4 | 5 |
6 | 5 | 4 |
7 | 6 | 3 |
8 | 7 | 2 |
9 | 8 | 1 |
주의 : Keypad 제조회사에 따라 통상적인 배선 순서와는 반대로 해야하는 경우도 있다. 키패드의 단자에 단자번호가 적혀있지 않으므로, 일단 통상적인 배선순서에 따라 연결해보고 시리얼 모니터를 통해 출력되는 값을 보고 확인해야 한다.
라이브러리 추가하기#
Keypad 라이브러리는 아두이노 IDE에 기본으로 포함되어 있지 않으므로, 컴파일 전에 라이브러리를 추가한다.
1. 스케치> 라이브러리 포함하기> 라이브러리 관리> 라이브러리 매니저
- 검색창에서 keypad 검색
- Keypad by Mark Stanley, Alexander Brevig 라이브러리 설치
2. 스케치> 라이브러리 포함하기 에서 Keypad를 선택하면
#include <Keypad.h>
- 라이브러리가 스케치에 추가된다.
sketch#
#include <Keypad.h>
const byte ROWS = 4; //배열
const byte COLS = 4; //배열
char keys[ROWS][COLS] = { //배열
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; //핀 지정
byte colPins[COLS] = {5, 4, 3, 2}; //핀 지정
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600); //시리얼 통신 9600
}
void loop(){
char key = keypad.getKey(); //읽어온 값을 key에 저장
if (key){
Serial.println(key); //key값을 시리얼 모니터에 출력한다
}
}
툴> 시리얼 모니터(혹은 Ctrl-Shift-M) 에서 확인한다.