ESP8266 - Teclado - LCD

Este tutorial ensina você a usar o ESP8266 para exibir no display LCD a entrada do teclado.

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×LCD I2C Display 3.3V
1×(Alternativa) LCD I2C 20x4
1×Teclado 3x4
1×Protoboard
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.

Nota de compra: A maioria dos displays LCD I2C no mercado é de 5V. Eles podem funcionar com esta placa, mas não é seguro e pode danificar a placa. Recomendamos fortemente usar o display LCD I2C de 3.3V recomendado acima.

Sobre o Teclado e o LCD

Se você não conhece o teclado e o LCD (pinagem, como funciona, como programar ...), os tutoriais a seguir podem ajudar você a entendê-los:

Diagrama de Ligação

The wiring diagram between ESP8266 NodeMCU and Keypad LCD

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

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-keypad-lcd */ #include <Keypad.h> #include <DIYables_LCD_I2C.h> const int ROW_NUM = 4; //four rows const int COLUMN_NUM = 3; //three columns char key_layout[ROW_NUM][COLUMN_NUM] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; byte pin_rows[ROW_NUM] = {D0, D3, D4, D5}; // The ESP8266 pins connect to the row pins byte pin_column[COLUMN_NUM] = {D6, D7, D8}; // The ESP8266 pins connect to the column pins Keypad keypad = Keypad(makeKeymap(key_layout), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); DIYables_LCD_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows int column_cursor = 0; void setup(){ lcd.init(); // Initialize the LCD I2C display lcd.backlight(); } void loop(){ char key = keypad.getKey(); if (key) { lcd.setCursor(column_cursor, 0); // move cursor to (column_cursor, 0) lcd.print(key); // print key at (column_cursor, 0) column_cursor++; // move cursor to next position if(column_cursor == 16) { // if reaching limit, clear LCD lcd.clear(); column_cursor = 0; } } }

※ Nota:

O endereço do LCD pode variar de acordo com o fabricante. No nosso código, usamos 0x27, que é especificado pelo fabricante DIYables.

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.
  • Ligue os componentes conforme mostrado no diagrama.
  • 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.
  • Conecte um cabo USB entre o ESP8266 e o PC.
  • Abra a Arduino IDE e selecione a placa e a porta apropriadas.
  • Clique no ícone Libraries na barra à esquerda da Arduino IDE.
  • Pesquise por “keypad” e localize a biblioteca de teclado criada por Mark Stanley e Alexander Brevig.
  • Em seguida, pressione o botão Install para concluir a instalação da biblioteca de teclado.
ESP8266 NodeMCU keypad library
  • Pesquise por “DIYables LCD I2C” e localize a biblioteca DIYables_LCD_I2C da DIYables.
  • Em seguida, clique no botão Install para instalá-la.
ESP8266 NodeMCU DIYables LCD I2C library

Como os pinos do ESP8266 não são suficientes, precisamos usar o pino D8 para o teclado. Conforme mencionado no ESP8266 - Keypad tutorial, ao usar o pino D8 do ESP8266 para um pino de coluna do teclado, DEVEMOS modificar a biblioteca Keypad da seguinte forma:

  • Encontre o arquivo Arduino\libraries\Keypad\src\Keypad.cpp, vá até a linha 98, que se parece com isto: pin_mode(columnPins[c], INPUT);
  • Comente esta linha. Após a modificação, o código na linha 98 deve ficar assim: //pin_mode(columnPins[c], INPUT);
  • Copie o código e abra-o na Arduino IDE.
  • Clique no botão Upload na Arduino IDE para compilar e carregar o código no ESP8266.
Arduino IDE Upload Code
  • Pressione algumas teclas no teclado e
  • Observe o resultado exibido no LCD.

Se o display LCD não estiver mostrando nada, consulte Solução de Problemas do LCD I2C . para obter ajuda.

Explicação do Código

Confira a explicação linha por linha contida nos comentários do código-fonte!

Vídeo

※ 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!