빠른 답변
Arduino에서 4x4 매트릭스 키패드를 사용하려면 I2C 인터페이스를 SDA 및 SCL 핀에 연결한 다음 Wire 라이브러리를 사용하여 ASCII 키 값을 읽으십시오. mLink 4x4 매트릭스 키패드는 디바운싱과 스캐닝을 자동으로 처리하여 코드를 간소화합니다.
원시 매트릭스 대신 I2C 매트릭스 키패드를 선택해야 하는 이유
원시 4x4 매트릭스 키패드는 8개의 디지털 I/O 핀이 필요하고 코드에서 수동 디바운싱이 필요합니다. mLink 4x4 매트릭스 키패드는 I2C를 통해 통신하는 전용 스캐닝 모듈을 통합하여 2개의 핀(SDA 및 SCL)만 사용하고 사전 디바운스된 ASCII 출력을 제공합니다. 이렇게 하면 배선 복잡성이 줄어들고 다른 센서나 디스플레이를 위한 I/O가 확보됩니다.
절충점은 비용입니다. mLink 버전은 기본 키패드보다 약간 더 비쌉니다. 그러나 안정성과 단순성이 중요한 프로젝트의 경우 추가 비용으로 디버깅 시간을 절약할 수 있습니다.
단계별 배선 및 코드 가이드
- 키패드를 Arduino에 배선하십시오: mLink 키패드의 VCC를 Arduino 5V에, GND를 GND에, SDA를 A4(또는 Uno R3 이상의 SDA 핀)에, SCL을 A5(또는 SCL 핀)에 연결하십시오. 다른 Arduino 보드의 경우 I2C 핀배열을 확인하십시오. 일반적인 실수: SDA와 SCL을 바꾸는 것입니다. 키패드가 응답하지 않으면 두 데이터 와이어를 교체하십시오.
- 필요한 라이브러리 설치: Arduino IDE를 열고 Sketch > Include Library > Manage Libraries로 이동하여 보드 공급업체의 'mLink' 라이브러리를 설치하십시오. 이 라이브러리는 I2C를 통해 키패드를 읽는 기능을 제공합니다. 라이브러리가 없으면 제품 페이지에서 다운로드하여 Sketch > Include Library > Add .ZIP Library를 통해 수동으로 설치하십시오.
- 스캐닝 코드 작성: 스케치에 mLink 라이브러리를 포함하십시오. setup()에서 mLink.begin()을 호출하십시오. loop()에서 mLink.getKey()를 사용하여 마지막으로 누른 키의 ASCII 값을 읽으십시오. 값이 0이 아니면 Serial Monitor에 출력하거나 프로젝트 로직에 사용하십시오. 확인 지점: 키패드는 키를 누르지 않았을 때 0을 반환합니다. 잘못된 트리거를 방지하려면 키 누름에 대해 조치를 취하기 전에 항상 0이 아닌 값을 테스트하십시오.
- 테스트 및 키 매핑 확인: 스케치를 업로드하고 9600 보드레이트로 Serial Monitor를 엽니다. 각 키를 누르고 올바른 ASCII 문자가 나타나는지 확인하십시오. mLink 키패드는 인쇄된 키캡과 일치하는 대문자와 숫자를 출력합니다. 키가 다른 문자를 반환하면 배선이 느슨하거나 키패드에 결함이 있는지 확인하십시오. 모듈이 처리하므로 매핑 테이블이 필요하지 않습니다.
- 프로젝트에 통합: Serial.print() 라인을 자신의 로직으로 교체하십시오. 예를 들어 키를 문자열에 저장하거나, 비밀번호와 비교하거나, LCD 디스플레이에서 메뉴를 탐색하는 데 사용하십시오. 키패드는 폴링 방식이며 인터럽트 기반이 아닙니다. 루프에서 getKey()를 충분히 자주 호출하여 빠른 키 누름을 잡아야 합니다.
제품 참조
-
mLink 4x4 매트릭스 키패드: mLink 4x4 매트릭스 키패드는 패널 장착형 직렬(I2C) 16 키 택타일 키패드로, 키 누름을 지속적으로 스캔하고 디바운스하여 각 키를 8비트 ASCII 값으로 저장하는 모듈이 있습니다. Arduino 스케치에서 디바운싱 또는 스캐닝 루틴을 작성할 필요가 없어 코드가 간소화되고 잘못된 트리거가 줄어듭니다.
mLink 4x4 매트릭스 키패드



