빠른 답변

Arduino에서 4x4 매트릭스 키패드를 사용하려면 I2C 인터페이스를 SDA 및 SCL 핀에 연결한 다음 Wire 라이브러리를 사용하여 ASCII 키 값을 읽으십시오. mLink 4x4 매트릭스 키패드는 디바운싱과 스캐닝을 자동으로 처리하여 코드를 간소화합니다.

원시 매트릭스 대신 I2C 매트릭스 키패드를 선택해야 하는 이유

원시 4x4 매트릭스 키패드는 8개의 디지털 I/O 핀이 필요하고 코드에서 수동 디바운싱이 필요합니다. mLink 4x4 매트릭스 키패드는 I2C를 통해 통신하는 전용 스캐닝 모듈을 통합하여 2개의 핀(SDA 및 SCL)만 사용하고 사전 디바운스된 ASCII 출력을 제공합니다. 이렇게 하면 배선 복잡성이 줄어들고 다른 센서나 디스플레이를 위한 I/O가 확보됩니다.

절충점은 비용입니다. mLink 버전은 기본 키패드보다 약간 더 비쌉니다. 그러나 안정성과 단순성이 중요한 프로젝트의 경우 추가 비용으로 디버깅 시간을 절약할 수 있습니다.

단계별 배선 및 코드 가이드

  1. 키패드를 Arduino에 배선하십시오: mLink 키패드의 VCC를 Arduino 5V에, GND를 GND에, SDA를 A4(또는 Uno R3 이상의 SDA 핀)에, SCL을 A5(또는 SCL 핀)에 연결하십시오. 다른 Arduino 보드의 경우 I2C 핀배열을 확인하십시오. 일반적인 실수: SDA와 SCL을 바꾸는 것입니다. 키패드가 응답하지 않으면 두 데이터 와이어를 교체하십시오.
  2. 필요한 라이브러리 설치: Arduino IDE를 열고 Sketch > Include Library > Manage Libraries로 이동하여 보드 공급업체의 'mLink' 라이브러리를 설치하십시오. 이 라이브러리는 I2C를 통해 키패드를 읽는 기능을 제공합니다. 라이브러리가 없으면 제품 페이지에서 다운로드하여 Sketch > Include Library > Add .ZIP Library를 통해 수동으로 설치하십시오.
  3. 스캐닝 코드 작성: 스케치에 mLink 라이브러리를 포함하십시오. setup()에서 mLink.begin()을 호출하십시오. loop()에서 mLink.getKey()를 사용하여 마지막으로 누른 키의 ASCII 값을 읽으십시오. 값이 0이 아니면 Serial Monitor에 출력하거나 프로젝트 로직에 사용하십시오. 확인 지점: 키패드는 키를 누르지 않았을 때 0을 반환합니다. 잘못된 트리거를 방지하려면 키 누름에 대해 조치를 취하기 전에 항상 0이 아닌 값을 테스트하십시오.
  4. 테스트 및 키 매핑 확인: 스케치를 업로드하고 9600 보드레이트로 Serial Monitor를 엽니다. 각 키를 누르고 올바른 ASCII 문자가 나타나는지 확인하십시오. mLink 키패드는 인쇄된 키캡과 일치하는 대문자와 숫자를 출력합니다. 키가 다른 문자를 반환하면 배선이 느슨하거나 키패드에 결함이 있는지 확인하십시오. 모듈이 처리하므로 매핑 테이블이 필요하지 않습니다.
  5. 프로젝트에 통합: Serial.print() 라인을 자신의 로직으로 교체하십시오. 예를 들어 키를 문자열에 저장하거나, 비밀번호와 비교하거나, LCD 디스플레이에서 메뉴를 탐색하는 데 사용하십시오. 키패드는 폴링 방식이며 인터럽트 기반이 아닙니다. 루프에서 getKey()를 충분히 자주 호출하여 빠른 키 누름을 잡아야 합니다.

제품 참조

  • mLink 4x4 매트릭스 키패드: mLink 4x4 매트릭스 키패드는 패널 장착형 직렬(I2C) 16 키 택타일 키패드로, 키 누름을 지속적으로 스캔하고 디바운스하여 각 키를 8비트 ASCII 값으로 저장하는 모듈이 있습니다. Arduino 스케치에서 디바운싱 또는 스캐닝 루틴을 작성할 필요가 없어 코드가 간소화되고 잘못된 트리거가 줄어듭니다.

    mLink 4x4 Matrix Keypad

    mLink 4x4 매트릭스 키패드