Arduino와 4x4 키패드를 인터페이스하는 방법

문제를 제거하기 위해 도구를 사용해보십시오





이 게시물에서는 Arduino와 4x4 키패드를 인터페이스하는 방법을 배웁니다. 우리는 키패드가 무엇인지, 어떻게 구성되는지, 그리고 키패드에서 키 입력을 수신하고 직렬 모니터에 인쇄하도록 Arduino를 프로그래밍하는 방법을 살펴볼 것입니다.



키패드 란?

키패드는 숫자, 알파벳 및 특수 문자 세트 또는이 세 가지가 모두 조합 된 소형 폼 팩터의 휴대용 키보드입니다. 이 프로젝트에서는 위에 지정된 세 가지 유형의 키가 모두있는 4x4 매트릭스 키보드를 살펴 보겠습니다.

행렬 형태로 배열 된 4 개의 행과 4 개의 열이 있기 때문에 4x4라고합니다. 0에서 9까지의 숫자, 특수 문자 '#'및 '*'및 A에서 D까지의 알파벳이 있습니다. 4x3, 8x8 등과 같은 다른 유형의 키패드가 있습니다. 가장 일반적인 유형은 4x4 및 4x3입니다.



4x4 키패드의 경우 마이크로 컨트롤러와 통신하기 위해 행과 4 개의 연결 열에서 4 개의 연결이 이루어 지므로 총 8 개의 핀이 있습니다.

이것은 Arduino에서 많은 I / O 핀을 소비하고 다른 주변 장치에 대한 I / O 핀 수를 적게 남길 수 있습니다.이 기사에서 다루지 않는 Arduino의 핀을 몇 개 사용하여 키 입력을받는 다른 방법이 있습니다.

건축 세부 사항 :

연결 회로는 다음과 같습니다.

위의 다이어그램에서 추론 할 수 있듯이 각 키는 하나의 행과 하나의 열에 연결됩니다. 예를 들어 번호 1, R1 및 C1이 연결되면이 신호가 arduino 또는 모든 마이크로 컨트롤러에 의해 수신되고 각 키에 대해 고유 한 연결이 만들어지는 키를 결정합니다.

전자 상거래 웹 사이트 또는 지역 전자 소매점에서 4x4 키패드를 얻거나 위의 다이어그램에서 만들 수 있습니다. 4x4 키패드와 범용 PCB 용 푸시 버튼 16 개만 있으면됩니다. 연결은 위의 다이어그램에서 만들 수 있으며 직접 만들었습니다.

Arduino 키패드 회로도 및 프로그램 :

Arduino와 4x4 키패드를 인터페이스하는 방법

다음은 수 헤더 핀을 사용하여 연결하는 프로토 타입입니다. 나머지 회로는 자명합니다.

Arduino에 연결되는 방법은 다음과 같습니다.

참고 : 키패드에서 arduino로 핀을 연결하는 동안주의를 기울여야합니다. 잘못된 연결이나 전선이 바뀌면 전체 프로젝트가 엉망이 될 수 있습니다.

모든 연결은 Arduino 및 키패드의 핀 # 2에서 핀 # 9까지 순차적으로 이루어집니다. 이것이 하드웨어 연결에 관한 것입니다. 이제 코딩 부분으로 넘어가겠습니다.

프로그램 코드 :

//---------------Program developed by R.Girish------//
#include
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)
}
void loop(){
char key = keypad.waitForKey()
delay(100)
Serial.print('You pressed: ')
Serial.println(key)
}
//---------------Program developed by R.Girish------//

산출:

키패드 사용

프로그램에서는 2 차원 배열 개념이 활용되는데, 프로그램에서도 키패드와 동일한 레이아웃이 만들어지는 것을 볼 수 있습니다. 행 핀은 9, 8, 7, 6이고 핀 열은 5, 4, 3, 2입니다.

'char key = 키패드 .waitForKey ()'행을 사용했습니다. 이는 프로그램이 키가 눌릴 때까지 기다릴 것이고 눌린 키는 변수 'key'에 저장된다는 것을 의미합니다. 이 변수는“Serial.print ()를 사용하여 직렬 모니터에 인쇄됩니다.

키패드가 어디에 사용되는지 궁금하다면? 음, 여기에 답이 있습니다. 예를 들어 스마트 폰이나 현재 사용중인 컴퓨터, ATM 기계, 자동 판매기, 프린터, TV 리모컨 제어 등 사용자가 모든 기계에 입력해야하는 모든 곳에서 사용됩니다.

이제 키패드와 Arduino와의 인터페이스 방법에 대해 많이 알고 있었으므로 이제 상상력을 발휘하여 자신 만의 프로젝트를 구축해야합니다.

다음 링크에서 키패드 라이브러리를 다운로드하고 추가해야합니다. github.com/Chris--A/Keypad. 그렇지 않으면 위의 프로그램이 컴파일되지 않습니다.




이전 : Piezo에서 전기를 생성하는 방법 다음 : 일출 일몰 시뮬레이터 LED 회로