Você está na página 1de 8

Escudo LCD Teclado Para Arduino SKU:

DFR0009


[ hide ]
Este um escudo Teclado LCD muito popular para Arduino ou placa Freeduino. Ele inclui um
display LCD 2x16 e 6 momentneas botes. Pinos 4, 5, 6, 7, 8, 9 e 10 so utilizados para fazer a
interface com o LCD. Analgico Pin 0 usado para ler os botes. O escudo LCD suporta ajuste de
contraste e luz de fundo de ligar / desligar funes. Ele tambm expande pinos analgicos para
facilitar a leitura do sensor analgico e display.
O teclado LCD escudo desenvolvido para placas compatveis Arduino, para fornecer uma interface
amigvel que permite aos usurios percorrer o menu, fazer selees, etc Trata-se de um
personagem branco azul backlight LCD 1602. O teclado consiste de 5 teclas - selecionar, cima,
direita, baixo e esquerda. Para salvar os pinos de IO digitais, a interface do teclado utiliza apenas
um canal ADC. O valor da chave lido atravs de um divisor de tenso 5 palco.
Diagrama


Exemplo 1
Este exemplo vai testar o painel LCD eo buttons.When voc apertar o boto sobre o escudo, a tela
ir mostrar o correspondente.
Conexo: Conecte o teclado LCD para a ONU (ou outros controladores)
/ *************************************************
************************************

Mark Bramwell, julho de 2010

Este programa vai testar o painel LCD eo buttons.When voc apertar o
boto sobre o escudo,
a tela mostrar o correspondente.

Conexo: Conecte o teclado LCD para a ONU (ou outros controladores)

**************************************************
************************************ /

# Include <LiquidCrystal.h>

Lcd LiquidCrystal (8, 9, 4, 5, 6, 7); / / Seleciona os pinos
utilizados no painel LCD

/ / Define alguns valores utilizados pelo painel e botes
int lcd_key = 0;
int adc_key_in = 0;

# Define btnRIGHT 0
# Define btnUP 1
# Define btnDOWN 2
# Define btnLEFT 3
# Define btnSELECT 4
# Define btnNONE 5

int read_LCD_buttons () {/ / l os botes
adc_key_in analogRead = (0); / / Ler o valor do sensor

/ / os meus botes quando leitura esto centradas nestes valies:
0, 144, 329, 504, 741
/ / Ns adicionar cerca de 50 a esses valores e verificar para ver
se estamos perto
/ / Fazemos esta a 1 opo por razes de velocidade uma vez que
ser o resultado mais provvel

if (adc_key_in> 1000) retornam btnNONE;

/ / Para V1.1-nos este limiar
if (adc_key_in <50) return btnRIGHT;
if (adc_key_in <250) return btnUP;
if (adc_key_in <450) return btnDOWN;
if (adc_key_in <650) return btnLEFT;
if (adc_key_in <850) return btnSELECT;

/ / Para V1.0 comentrio do outro limite e usar a abaixo:
/ *
if (adc_key_in <50) return btnRIGHT;
if (adc_key_in <195) return btnUP;
if (adc_key_in <380) return btnDOWN;
if (adc_key_in <555) return btnLEFT;
if (adc_key_in <790) return btnSELECT;
* /

voltar btnNONE; / / Quando todos os outros falham, devolva este.
}

void setup () {
lcd.begin (16, 2); / / Inicia a biblioteca
lcd.setCursor (0,0); / / Definir a posio do cursor LCD
lcd.print ("Aperte os botes"); / / Imprimir uma mensagem simples
no LCD
}

void loop () {
lcd.setCursor (9,1); / / Mover o cursor para a segunda linha "1" e
9 espaos mais
lcd.print (millis () / 1000); / / Exibio segundos decorrido desde
power-up

lcd.setCursor (0,1); / / Mover para o incio da segunda linha
lcd_key read_LCD_buttons = (); / / L os botes

switch (lcd_key) {/ / dependendo de qual boto foi pressionado,
fazemos uma ao

caso btnRIGHT: {/ / boto push "RIGHT" e mostrar a palavra na
tela
lcd.print ("RIGHT");
break;
}
caso btnLEFT: {
lcd.print ("esquerda"); Boto / / push "LEFT" e mostrar a
palavra na tela
break;
}
caso btnUP: {
lcd.print ("UP"); / / Push boto "UP" e mostrar a palavra
na tela
break;
}
caso btnDOWN: {
lcd.print ("DOWN"); / / Push "DOWN" e mostrar a palavra
na tela
break;
}
caso btnSELECT: {
lcd.print ("SELECT"); Boto / / push "SELECT" e mostrar a
palavra na tela
break;
}
caso btnNONE: {
lcd.print ("NONE"); / / Nenhuma ao vai mostrar "None"
na tela
break;
}
}
}

Exemplo 2
Este exemplo mostra que l uma entrada analgica no pino 1, imprime o resultado para o LCD. Este
programa leva o LM35 sensor de temperture por exemplo.

O que voc precisa
1. DFRduino UNO R3
2. Escudo LCD Teclado Para Arduino
3. Analgica Linear Sensor de Temperatura

Conexo:
Conecte o teclado LCD para a ONU (ou outros controladores)
Temperture sensores:
S (azuis) - A1 ()
Nota: A0 foi ocupada.
VCC (vermelho) - VCC
GND (preto) - GND
Truques para mudar o sensor de mapeamento de pinos cabo

Connction Diagrama





/ ************************************************* ******

Descrio:
L uma entrada analgica no pino 1, imprime o resultado para o LCD.
Este programa leva o LM35 sensor de temperture por exemplo.

Conexo:
Conecte o teclado LCD para a ONU (ou outros controladores)
Temperture sensores:
S (azuis) - A1 ()
Nota: A0 foi ocupada.
VCC (vermelho) - VCC
GND (preto) - GND

************************************************** ****** /

# Include <LiquidCrystal.h>

Lcd LiquidCrystal (8, 9, 4, 5, 6, 7); / / Seleciona os pinos
utilizados no painel LCD

tepTimer longo no assinado;

void setup () {
lcd.begin (16, 2); / / Inicia a biblioteca
}

void loop () {
lcd.setCursor (0, 0); / / Definir a posio do cursor LCD
int val; / / Varivel para armazenar o valor vindo do pino
analgico
dados duplas; / / Varivel para armazenar o valor de temperatura
proveniente da frmula de converso
val = analogRead (1); / / L o analgico em valor:
data = (double) val * (5/10.24); / / Frmula de converso de
temperatura

if (millis () - tepTimer> 500) {/ / sada de um valor de
temperatura por 500ms
tepTimer = millis ();

/ / Imprimir os resultados para o lcd
lcd.print ("T");
lcd.print (dados);
lcd.print ("C");
}
}

Você também pode gostar