Shield LCD 16x2 Com Keypad - Arduino e Cia PDF
Shield LCD 16x2 Com Keypad - Arduino e Cia PDF
Shield LCD 16x2 Com Keypad - Arduino e Cia PDF
Arduino software
Lcd shield
27 agosto 2013
Este shield possui um display LCD 16x2 com backlight (luz de fundo) azul, e 5 botões
customizáveis, além de um botão de reset do Arduino. O ajuste do contraste é feito pelo parafuso
do trimpot/potenciômetro acima do display, à esquerda (em azul). Além disso, a placa possui furos
para soldagem de barras de pinos, cuja função veremos em breve.
O shield utiliza alguns pinos diferentes dos que usamos normalmente nos projetos para ligar um
LCD. Se na ligação de um LCD 16x2, como mencionado no artigo Display Lcd Winstar WH1602A,
eu tenho total liberdade para trocar as portas ligadas ao display, nesse shield teremos que usar a
seguinte sequência ao inicializar a biblioteca LiquidCrystal :
LiquidCrystal lcd(8,9,4,5,6,7);
Desta forma, temos a seguinte relação entre os pinos do Arduino e os sinais do display :
Os botões do shield usam uma única porta analógica, A0. Repare na ilustração abaixo que o shield
usa uma associação de resistores para determinar qual botão foi pressionado, e com isso há uma
grande economia de portas digitais do Arduino :
Isso tudo faz com que, obviamente, não possamos utilizar essas portas para outras funções
enquanto estivermos utilizando o shield. Note no detalhe das imagens abaixo, que a placa possui
furos que permitem a soldagem de uma barra de pinos ou conectores, com isso podemos usar os
pinos que sobraram : 0, 1, 2, 3, 11, 12, 13 (digitais), e A1, A2, A3, A4, A5 (analógicos), além dos
pinos de energia (5v, 3.3v, GND). O pino 10 também é utilizado pela placa para uma função
específica, no caso o backlight, e não deve ser utilizado nos programas.
Para o programa de teste, não é necessário o uso de nenhuma biblioteca especial. Usaremos a já
conhecida LiquidCrystal, e para determinar qual botão foi pressionado, faremos a leitura da porta
analógica A0 :
Compartilhar
72 comentários:
Respostas
Responder
Respostas
Responder
Respostas
Abraço !
Responder
Respostas
Responder
http://forum.arduino.cc/index.php?PHPSESSID=vo7ar5ar8rajnlpg55keonqng2&topic=96747.0
Responder
Respostas
Responder
Respostas
Por ser um shield, não tem muita coisa que se possa mexer em termos de pinos. Você
consegue testar esse LCD em um Arduino Uno ?
Abraço !
Responder
Respostas
Não precisa de fios. Esse LCD é um shield. Basta encaixar no Arduino e seguir com a
programação.
Abraço !
Responder
Respostas
Abraço !
Responder
#include
#include
#include
DS1307 rtc(A14, A15);
#define DHTPIN A8
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
byte grau[8] ={ B00001100,
B00010010,
B00010010,
B00001100,
B00000000,
B00000000,
B00000000,
B00000000,};
void setup()
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("Kalmmon");
lcd.setCursor(0,1);
lcd.print("Tecla :");
rtc.halt(false);
rtc.setSQWRate(SQW_RATE_1);
rtc.enableSQW(true);
lcd.createChar(0, grau);
}
void loop()
{
int botao;
botao = analogRead (0); //Leitura do valor a porta analógica A0
lcd.setCursor(8,1);
if (botao < 100) {
lcd.clear(); //Limpa o LCD
lcd.setCursor(0,0);
lcd.print("Hora : ");
lcd.print(" ");
lcd.print(rtc.getTimeStr());
lcd.setCursor(0,1);
lcd.print("Data : ");
lcd.print(" ");
lcd.print(rtc.getDateStr(FORMAT_SHORT));
lcd.print(" ");
lcd.println(rtc.getDOWStr(FORMAT_SHORT));
}
else if (botao < 200) {
lcd.print ("Cima ");
}
else if (botao < 400){
lcd.print ("Baixo ");
}
else if (botao < 600){
lcd.clear(); //Limpa o LCD
float h = dht.readHumidity(); //Le o valor da umidade
float t = dht.readTemperature(); //Le o valor da temperatura
lcd.setCursor(0,0);
lcd.print("Temp : ");
lcd.print(" ");
lcd.setCursor(7,0);
lcd.print(t,1);
lcd.setCursor(12,0);
lcd.setCursor(0,1);
lcd.print("Umid : ");
lcd.print(" ");
lcd.setCursor(7,1);
lcd.print(h,1);
lcd.setCursor(12,1);
lcd.print("%");
}
else if (botao < 800){
lcd.print ("Select ");
}
}
Responder
Respostas
Ele não atualiza nada ? Tente separar o programa em partes menores, testando cada
componente de forma isolada, para ver qual dele está interferindo no funcionamento.
Abraço !
Responder
Respostas
Essa biblioteca que você está usando é a da I2C. Tente usar a biblioteca LiquidCrystal que
ja vem com o Arduino.
Abraço !
Responder
Respostas
Estou sem o display aqui no momento, mas vou pesquisar e atualizar o post.
Abraço !
Responder
Anônimo 6 de maio de 2015 12:20
BOA TARDE, o comando '>' faz ir para direita e certamente '<' para esquerda como faço para parar ?
Responder
você pode configurar a tecla SELECT para fazer isso ou ainda programar as teclas '>' e '<' para
funcionarem somente enquanto o botão estiver sendo pressionado.
Abraço !
Responder
Meu nome é Vinicius gostaria de saber se consigo utilizar o controle de motor L298N junto com esse
shield?
A ideia é controlar o giro e a direção motor pelos botoes do lcd e exibir o numero de voltas do motor
no display.
É possivel isso?
Abraco a todos!
Responder
Respostas
Consegue sim, solde uma barra de pinos no display, como eu mostro no post, e utilize as
portas restantes para acionar o L298N.
Abraço !
Responder
Me parece algum tipo de curto no shield. Você consegue testar com um Arduino Uno ?
Abraço!
Responder
Respostas
Abraço!
Responder
Respostas
Abraço!
Respostas
Quando vc fala push button na protoboard você está falando dos botões do shield, ou vc
fez uma ligação externa?
Abraço!
Responder
Respostas
Arduino e Cia 11 de fevereiro de 2017 10:02
Bom dia,
Você pode fazer algumas alterações de hardware para isso, já que ele usa normalmente as
portas digitais e analógicas.
Abraço!
Responder
Respostas
Abraço!
Adilson
Responder
Respostas
Pode ser, mas pode ser também algum problema de conexão, configuração dos pinos, etc.
Pela sua descrição, vc já mexeu no ajuste do potenciômetro, correto ?
Abraço!
Adilson
Responder
Anônimo 8 de novembro de 2017 01:42
Bom dia, estou com esse display com shield tentando fazer um leitor de ruídos igual o que você fez
em outro post com um display diferente, estou usando o mesmo código alterando apenas os pinos
de entrada para o display a porta analógica para o modulo de som que estou usando A2, porem ele
não esta variando as leituras de baixo, média e alta, o que pode ser? obrigado
Responder
Respostas
No shield tem espaço para você soldar uma barra de pinos para ter acesso tantos aos
pinos digitais como analógicos. Soldando uma barra desses, você consegue adicionar
mais botões ao seu projeto.
Abraço!
Adilson
Responder
Publicar Visualizar
‹ Página inicial ›
Visualizar versão para a web
Pesquise neste blog :
Pesquisar
Custom Search