ESP8266 - 키패드 1x4 | ESP8266 - Keypad 1x4

이 튜토리얼에서는 ESP8266으로 1x4 키패드를 작동하는 방법을 가르쳐 드릴 것입니다. 다룰 내용:

ESP8266 NodeMCU 키패드 1x4

Hardware Preparation

1×ESP8266 NodeMCU Amazon
1×Micro USB Cable Amazon
1×Keypad 1x4 Amazon
1×Jumper Wires Amazon
1×(Optional) 9V Power Adapter for ESP8266 Amazon
1×(Optional) ESP8266 Screw Terminal Adapter Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

키패드 1x4에 대하여

1x4 키패드는 한 줄에 네 개의 버튼이 있는 키보드입니다. 이는 주로 비발번호 입력, 메뉴 이동, 기기 제어에 사용됩니다.

핀배열

1x4 키패드에는 5개의 핀이 있습니다. 이 핀들의 배열은 키 라벤 최신의 순서와 일치하지 않습니다.

  • 핀 1은 키 2에 연결됩니다.
  • 핀 2는 키 1에 연결됩니다.
  • 핀 3은 키 4에 연결됩니다.
  • 핀 4는 키 3에 연결됩니다.
  • 핀 5는 모든 키에 연결되며 공통 핀입니다.
키패드 1x4 핀아웃
image source: diyables.io

Wiring Diagram

ESP8266 NodeMCU 키패드 1x4 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP8266의 핀 배치ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.

ESP8266 코드

1x4 키패드의 모든 키는 버튼으로 작동합니다. digitalRead() 함수를 사용하여 각 키의 상태를 확인할 수 있습니다. 다른 버튼과 마찬가지로 버튼이 여러 번 눌린 것처럼 보이는 바운싱 문제가 있을 수 있습니다. 바운싱을 방지하기 위해 각 키를 디바운스해야 합니다. 코드의 다른 부분에 영향을 주지 않고 네 키를 처리하는 것은 어려울 수 있습니다. 다행히도, ezButton 라이브러리가 이를 쉽게 만들어 줍니다.

#include <ezButton.h> #define KEY_NUM 4 // the number of keys #define PIN_KEY_1 D5 // The ESP8266 NodeMCU pin connected to the key 1 #define PIN_KEY_2 D6 // The ESP8266 NodeMCU pin connected to the key 2 #define PIN_KEY_3 D1 // The ESP8266 NodeMCU pin connected to the key 3 #define PIN_KEY_4 D2 // The ESP8266 NodeMCU pin connected to the key 4 ezButton keypad_1x4[] = { ezButton(PIN_KEY_1), ezButton(PIN_KEY_2), ezButton(PIN_KEY_3), ezButton(PIN_KEY_4) }; void setup() { Serial.begin(9600); for (byte i = 0; i < KEY_NUM; i++) { keypad_1x4[i].setDebounceTime(100); // set debounce time to 100 milliseconds } } void loop() { int key = getKeyPressed(); if (key) { Serial.print("The key "); Serial.print(key); Serial.println(" is pressed"); } } int getKeyPressed() { for (byte i = 0; i < KEY_NUM; i++) keypad_1x4[i].loop(); // MUST call the loop() function first for (byte i = 0; i < KEY_NUM; i++) { // get key state after debounce int key_state = keypad_1x4[i].getState(); // the state after debounce if (keypad_1x4[i].isPressed()) return (i + 1); } return 0; }

Detailed Instructions

아두이노 IDE에서 ESP8266을 시작하렽려면, 다음 단계를 따르십시오:

  • ESP8266을 Arduino IDE에서 설정하는 방법에 대한 ESP8266 환경 구성 방법 튜토리얼을 확인하세요.
  • ESP8266을 1x4 키패드에 연결하세요.
  • USB 케이블을 사용하여 컴퓨터에 ESP8266 보드를 연결하세요.
  • 컴퓨터에서 Arduino IDE를 엽니다.
  • 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
  • Arduino IDE의 왼쪽에 있는 Libraries 아이콘을 클릭하세요.
  • ezButton을 검색하여 ESP8266GetStarted.com의 버튼 라이브러리를 찾으세요.
  • Install 버튼을 클릭하여 ezButton 라이브러리를 설치하세요.
ESP8266 NodeMCU 버튼 라이브러리
  • 코드를 복사하고 Arduino IDE에서 열기
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266에 업로드하기
  • 시리얼 모니터 열기
  • 1x4 키패드의 각 키를 차례로 누르기
  • 시리얼 모니터에서 결과 확인하기
COM6
Send
1 2 3 4
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!