Shield LCD16x2 / LCD Keypad Shield com Botões para Arduino

Aplicação e funcionamento: O Shield LCD 16×2, também conhecido como LCD Keypad Shield, é um shield que emprega toda a praticidade dos shields, de um display 16×2 e de...

Aplicação e funcionamento:

O Shield LCD 16×2, também conhecido como LCD Keypad Shield, é um shield que emprega toda a praticidade dos shields, de um display 16×2 e de um conjunto de pequenos botões que são utilizados para navegar em menus na tela, com funções selecionar e resetar, de forma a facilitar crucialmente na ligação do compacto display junto ao Arduino.

A utilização junto ao Arduino é muito simples, dispensando a utilização de complicadas redes de jumpers e conectores, basta conectar o shield sobre o Arduino Uno e o display estará pronto para utilização. Um único produto reproduz a funcionalidade de três, ocupando mínimo espaço físico.

Devido ao Shield LCD 16×2 com botões ser conectado diretamente sobre a face superior do Arduino a possibilidade de falhas nas ligações é nula, além de evitar interrupções de imagens devido a pequenas vibrações no microcontrolador ou na base onde ele encontra-se localizado.

Abaixo estaremos realizando um pequeno teste para demonstrar um pouco da funcionalidade do Shield LCD 16×2 / LCD Keypad Shield para Arduino onde criaremos um menu demonstrativo, controlando assim, o BackLight do display.

Produtos utilizados no teste:

Montagem Física (Hardware):

Devido a praticidade deste dispositivo não necessitamos o uso de esquemas, para utilizá-lo, basta conectar o Shield sobre o Arduino, de forma em que os pinos se encaixem corretamente.

Funcionamento do Programa (Software):

O nosso código, tem a função de exibir um menu de navegação que através do botão SELECT proporciona a escolha de uma das opções apresentadas junto ao display.


// ALARME COM ARDUINO E SENSOR ULTRASSONICO
// USINAINFO https://www.usinainfo.com.br
// FACEBOOK https://www.facebook.com/usinainfo.arduino
// YOUTUBE https://www.youtube.com/usinainfo
// INSTAGRAM @usinainfo

#include <LiquidCrystal.h> // Inclui biblioteca "LiquidCristal.h"

LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // Define Pinos do Display

int Menu = 0; // Inicializa valores para Menu
int estado = 0; // Inicializa valores para estado

void setup() {
 lcd.begin(16, 2); // Estabelece caracteres do display
 clearPrintTitle();
}

void loop() {
 MenuPrincipal();
}

void MenuPrincipal() {
 int ValEstado = 0; // Inicializa valores para ValEstado
 int x = analogRead (0);
 lcd.setCursor(0,0); // Posiciona Cursor

 if (x < 80) { // Define valores máximos para UP em ValEstado = 1
 } 
 else if (x < 200) {
 ValEstado = 1;
 } 
 else if (x < 400){ // Define valores máximos para Down em ValEstado = 2
 ValEstado = 2;
 }
 else if (x < 600){ // Define ação nula para Left
 } 
 else if (x < 800){ // Define valores máximos para Select em ValEstado = 3
 ValEstado = 3;
 }

 if (Menu < 0 || Menu > 4) {
 Menu = 0; 
 }

 if (ValEstado != estado) {
 if (ValEstado == 1) {
 Menu = Menu - 1; 
 displayMenu(Menu);
 } else if (ValEstado == 2) {
 Menu = Menu + 1; 
 displayMenu(Menu);
 } else if (ValEstado == 3) {
 selectMenu(Menu); 
 }
 estado = ValEstado;
 } 
 delay(5);
}

void displayMenu(int x) {
 switch (x) {
 case 1:
 clearPrintTitle();
 lcd.print ("---> Item 1 <---"); // Imprime na tela a opção do Menu
 break;
 case 2:
 clearPrintTitle();
 lcd.print ("---> Item 2 <---"); // Imprime na tela a opção do Menu
 break;
 case 3:
 clearPrintTitle();
 lcd.print ("---> Item 3 <---"); // Imprime na tela a opção do Menu
 break;
 case 4:
 clearPrintTitle();
 lcd.print ("---> Item 4 <---"); // Imprime na tela a opção do Menu
 break;
 }
}

void clearPrintTitle() {
 lcd.clear();
 lcd.setCursor(0,0);
 lcd.print(" UsinaInfo ");
 lcd.setCursor(0,1); 
}

void selectMenu(int x) {
 switch (x) {
 case 1:
 clearPrintTitle();
 lcd.print ("Selec. Item 1"); // Imprime na tela opção escolhida
 break;
 case 2:
 clearPrintTitle();
 lcd.print ("Selec. Item 2"); // Imprime na tela opção escolhida
 break;
 case 3:
 clearPrintTitle();
 lcd.print ("Selec. Item 3"); // Imprime na tela opção escolhida
 break;
 case 4:
 clearPrintTitle();
 lcd.print ("Selec. Item 4"); // Imprime na tela opção escolhida
 break;
 }
}

Após experimentar este exclusivo produto, capaz de reunir todas as funcionalidade de um Display LCD 16×12 em modelo Shield e com uma quantia considerável de botões que podem ser programados de forma independente, agora está na hora de explorar suas funcionalidades, desenvolva um sistema de controle manual com menus interativos e tudo isto de forma simples, rápida e prática com este simples produto.

O limite para os seus projetos é você mesmo quem faz, uma boa ideia com o produto ideal pode se tornar um belo projeto capaz de impressionar a todos e facilitar a sua vida, com o projeto correto você pode melhorar sua qualidade de vida, melhorar a segurança de sua casa e se divertir com diferentes esquemas de entretenimento.

Categorias
Arduino
Um Comentário
  • Airton
    13 fevereiro 2018 at 18:55
    Enviar Resposta

    Ola. Fiz um projeto utilizando este shield lcd, mas agora estou precisando das borrachas dos botoes para colocar no Case. Sabe onde encontro? Obrigado

    • Equipe Usinainfo
      16 outubro 2018 at 13:50
      Enviar Resposta

      Bom dia Airton!

      Infelizmente desconhecemos a comercialização somente da borracha do pushbutton, comumente o mesmo é comercializado somente na sua forma completa.

    Enviar Resposta

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados