일상생활에서 현관문 또는 금고에서 비밀번호를 누를수 있는 도어락을 보시면
키패드가 내부에 장착되어 있습니다.
키패드가 내부에 장착되어 있습니다.
아두이노를 사용할 때는 택트 스위치로 이루어진 키패드 혹은
위 사진과 같이 문자가 프린팅 되어 있는 제품을 주로 사용합니다.
위 사진과 같이 문자가 프린팅 되어 있는 제품을 주로 사용합니다.
내부적으로는 16개의 회로가 행열로 배치되어 있는데요.
키패드는 이렇게 배치되어 있습니다. 이전에 배웠던 도트매트릭스와 같은 구조입니다.
출력장치였던 led 대신 입력장치인 스위치로 바뀐 구조입니다.
키 패드를 조금 더 편하게 사용하기 위해서는 라이브러리가 필요합니다.
아두이노 IDE - 툴 - 라이브러리 관리에서 keypad를 검색하시고 다운로드해 주세요.
준비물: 아두이노 우노, 점퍼선, 4x4 키패드
/*
4x4 keypad를 사용해서 시리얼 모니터로 출력하는 예제
keypad 라이브러리가 필요합니다.
http://www.devicemart.co.kr/
*/
#include <Keypad.h> // keypad 라이브러리 포함
const byte ROWS = 4; // 행의 갯수
const byte COLS = 4; // 열의 갯수
// 배열로 각 버튼을 숫자나 문자로 대응
char myKeys[ROWS][COLS] = {
{'0','1','2','3'},
{'4','5','6','7'},
{'8','9','A','B'},
{'C','D','E','F'}
};
byte rowPins[ROWS] = {5, 4, 3, 2}; // 행(Raw)가 연결된 아두이노 핀 번호
byte colPins[COLS] = {8, 9, 10, 11}; // 열(column)가 연결된 아두이노 핀 번호
// keypad 객체 인스턴스화 Keypad(makeKeymap(userKeymap), row[], col[], rows, cols)
Keypad customKeypad = Keypad( makeKeymap(myKeys), rowPins, colPins, ROWS, COLS);
void setup()
{
Serial.begin(9600); // 통신속도 9600으로 시리얼 통신 시작
}
void loop()
{
// getKey()는 키패드에서 입력된 값이 있을경우 반환합니다.
char customKey = customKeypad.getKey();
if (customKey) // 입력된 값이 있으면, 출력
{
Serial.println(customKey);
}
}
|
이제 키패드를 이용해서 도어락 같은 장치도 만들 수 있겠죠?
감사합니다.
키패드는 아래링크에서 구매하실 수 있습니다.
or
0 댓글