ESP8266 - Teclado 1x4

Este tutorial vai ensinar você a operar um teclado 1x4 com um ESP8266. Vamos abordar:

ESP8266 NodeMCU Keypad 1x4

Hardware Necessário

1×ESP8266 NodeMCU ESP-12F
1×Alternatively, ESP8266 D1 Mini NodeMCU ESP-12F
1×Alternatively, ESP8266 NodeMCU ESP-12E (Uno-form)
1×Micro USB Cable
1×Alternatively, ESP8266 NodeMCU ESP-12F (SMD-form)
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Teclado 1x4
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para ESP8266

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Teclado 1x4

Um teclado 1x4 tem quatro botões em uma linha. Ele costuma ser usado para digitar uma senha, navegar por menus ou controlar dispositivos.

Pinagem

O teclado 1x4 tem 5 pinos. A disposição desses pinos não corresponde à ordem dos rótulos das teclas.

  • O pino 1 se conecta à tecla 2.
  • O pino 2 se conecta à tecla 1.
  • O pino 3 se conecta à tecla 4.
  • O pino 4 se conecta à tecla 3.
  • O pino 5 se conecta a todas as teclas e é um pino comum.
Keypad 1x4 Pinout
image source: diyables.io

Diagrama de Ligação

The wiring diagram between ESP8266 NodeMCU and Keypad 1x4

This image is created using Fritzing. Click to enlarge image

Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.

Código ESP8266

Cada tecla do teclado 1x4 funciona como um botão. Podemos usar a função digitalRead() para verificar o estado de cada tecla. Assim como em qualquer botão, pode haver problemas de bouncing, em que um pressionamento parece vários. Para evitar o bouncing, precisamos fazer o debounce de cada tecla. Fazer isso para quatro teclas sem afetar outras partes do código pode ser difícil. Felizmente, a biblioteca ezButton torna isso mais fácil.

#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; }

Passos Rápidos

Para começar com o ESP8266 na Arduino IDE, siga estes passos:

  • Veja o tutorial como configurar o ambiente para o ESP8266 na Arduino IDE se esta for a sua primeira vez usando o ESP8266.
  • Conecte o ESP8266 ao teclado 1x4.
  • Conecte a placa ESP8266 ao seu computador usando um cabo USB.
  • Abra a Arduino IDE no seu computador.
  • Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
  • Clique no ícone Libraries no lado esquerdo da Arduino IDE.
  • Pesquise por ezButton para encontrar a biblioteca de botão do ESP8266GetStarted.com.
  • Clique no botão Install para instalar a biblioteca ezButton.
ESP8266 NodeMCU button library
  • Copie o código e abra-o na Arduino IDE
  • Clique no botão Upload na Arduino IDE para carregar o código no seu ESP8266
  • Abra o Serial Monitor
  • Pressione cada tecla do teclado 1x4, uma após a outra
  • Confira os resultados no Serial Monitor
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
1 2 3 4
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!