4x4 키패드 입력장치
-가로로 4줄, 세로로 4줄의 접점 즉 8개의 전선을 이용하여 16가지 입력 구분을 할 수 있는 간이 입력장치이다.
1이라는 문자 위치의 버튼을 누르면 8번과 4번전선의 핀, 2 버튼을 을 누르면 8번핀과 3번핀이 연결되므로
8개 핀이 어떻게 연결되는지 check하면 16개 버튼중 어느 버튼을 눌렀는지 확인할 수 있다
keypad 라이브러리 설치
- keypad 기능 사용을 위한 전용 라이브러리를 추가로 설치해 주어야 한다.
- IDE 스케치 메뉴 -> 라이브러리 포함하기 -> 라이브러리관리하기 화면에서 "keypad" 를 검색하여 설치
아두이노와 연결
아래 그림과 같이 D5번~D12번 S표시 핀에 차례로 연결한다. (키패드 정면에서 맨왼쪽이 5번핀이 되도록)
테스트프로그램
- #include <Keypad.h>
- const byte numRows= 4;
- const byte numCols= 4;
- char keymap[numRows][numCols]=
- {{'1', '2', '3', 'A'},
- {'4', '5', '6', 'B'},
- {'7', '8', '9', 'C'},
- {'*', '0', '#', 'D'} };
- byte rowPins[numRows] = {5,6,7,8};
- byte colPins[numCols]= {9,10,11,12};
- Keypad myKeypad= Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols);
- char keypressed;
- void setup()
- {
- Serial.begin(9600);
- }
- void loop()
- {
- keypressed = myKeypad.getKey();
- if (keypressed != NO_KEY)
- {
- Serial.println(keypressed);
- }
- }
2~8 line: 가로4줄 X 세로 4줄 키패드상의 버튼을 눌렀을 때 선택할 문자를 정의한다.
9~10 line : 가로줄과 세로줄의 연결핀들을 정의한다.
11 line : myKeypad 라는 이름으로 4 x 4 키패드 장치를 선언하여 사용한다.
17 line : 시리얼통신을 시작한다. 여기에서 지정하는 9600이라는 통신속도와 시리얼 모니터 에서 선택하는 속도가 일치해야만 정상적으로 문자들이 표시된다.
21 line : mykeypad라는 장치에서 한글자를 읽어 keypressed라는 변수에 저장한다.
22~24 line: 읽어 들인 문자가 있을 경우 serial장치 즉, 시리얼모니터화면에 표시한다. 이와 같이 프로그램작동 중 변수의 내용을 확인해 볼 필요가 있을 경우 통상 이 방법을 많이 사용한다.
'아두이노 피지컬컴퓨팅 키트 > 워터맨' 카테고리의 다른 글
(피지컬컴퓨팅키트) 워터맨 9.중간과제1 (0) | 2019.04.29 |
---|---|
(피지컬컴퓨팅키트) 워터맨 8.LCD디스플레이 사용하기 (0) | 2019.04.28 |
(피지컬컴퓨팅키트) 워터맨 6.부저소리내기 (0) | 2019.04.25 |
(피지컬컴퓨팅키트) 워터맨 5.LED전구 사용하기 (0) | 2019.04.23 |
(피지컬컴퓨팅키트) 워터맨 4.아두이노 개발환경 (0) | 2019.04.22 |