4×4 키패드 매트릭스
일반
디지털 핀을 이용한 키패드 매트릭스입니다. 최대 4×4 크기의 키패드를 사용할 수 있습니다.


사용 가능한 GPIO
- 라즈베리파이 0~4
- 라즈베리파이 5
- 비글본 블랙/그린
- 젯슨 나노
- FT232H, FT2232H, FT4232H
- MCP2221
- NUMATO USB-GPIO (8~128CH)
명령
[INIT]
초기 설정을 입력합니다.
항목 | 타입 | 설명 |
---|---|---|
행 갯수 | WRITE | 키패드의 행(Row) 갯수를 입력합니다. |
열 갯수 | WRITE | 키패드의 열(Column) 갯수를 입력합니다. |
행1 문자 | WRITE | 키패드의 첫번째 행의 문자를 콤마로 구분하여 입력합니다. (예:1,2,3,A) |
행2 문자 | WRITE | 키패드의 두번째 행의 문자를 콤마로 구분하여 입력합니다. (예:4,5,6,B) |
행3 문자 | WRITE | 키패드의 세번째 행의 문자를 콤마로 구분하여 입력합니다. (예:7,8,9,C) |
행4 문자 | WRITE | 키패드의 네번째 행의 문자를 콤마로 구분하여 입력합니다. (예:*,0,#,D) |
행 GPIO | WRITE | 키패드의 행 핀 (R1,R2…)과 연결한 GPIO 번호를 콤마로 구분하여 입력합니다. (예: 17,27,22,23) |
열 GPIO | WRITE | 키패드의 열 핀 (C1,C2…)과 연결한 GPIO 번호를 콤마로 구분하여 입력합니다. (예: 24,25,5,6) |
[GET_KEYS]
키패드의 각 키가 눌러졌는지 여부를 검사합니다. 반환값은 없습니다.
[GET_KEY]
현재 눌러진 키의 문자를 반환합니다.
항목 | 타입 | 설명 |
---|---|---|
키 문자 | READ | 현재 눌러진 키의 문자입니다. |
[IS_PRESSED]
특정 키가 눌러졌다면 true를, 그렇지 않으면 false를 반환합니다. 이 명령을 실행하기 전에는 GET_KEYS 명령을 실행해야 합니다.
항목 | 타입 | 설명 |
---|---|---|
키 문자 | WRITE | 눌러졌는지 여부를 검사할 키의 문자를 입력합니다. |
누름 여부 | READ | 입력한 키가 눌러졌으면 true, 그렇지 않으면 false 입니다. |
예제
목표
현재 눌러진 키패드의 번호를 대시보드 위젯에 표시합니다.
부품
부품 | 갯수 |
---|---|
라즈베리파이 4 * | 1 |
키패드 | 1 |
* 다른 하드웨어를 사용할 수도 있습니다. 사용 가능한 GPIO를 참고하세요.
연결
4×4 키패드 | GPIO |
---|---|
R1 | 17 * |
R2 | 27 * |
R3 | 22 * |
R4 | 23 * |
C1 | 24 * |
C2 | 25 * |
C3 | 5 * |
C4 | 6 * |
* 모든 GPIO 핀을 사용할 수 있습니다.
