Jul 03 2010

LCD Shield com teclado para Arduino

Antes de postar o projeto ARDUINO+GPS, vou apresentar o LCD Shield com teclado, compatível com arduino.

Isto porque pretendo utiliza-lo para visualizar os dados do GPS.

Link para loja virtual:http://www.webtronico.com/produtos/view/34

Abaixo o vídeo de demonstração:

Continue lendo para ver exemplo de programação no Arduino.

O funcionamento do teclado de 5 botões é bem interessante. Os 5 botões são ligados a resistores divisores de tensão, ou seja, cada botão transmite uma tensão quando pressionado. Sendo assim, os 5 botões são ligados em apenas uma entrada A/D, economizando 5 preciosas I/Os.

Dê uma olhada no esquemático para entender melhor: Esquemático LCD SHIELD

O exemplo abaixo utiliza a biblioteca padrão do Arduino para controlar LCD.

Observe que o exemplo envia pela Serial, o valor correspondente a cada valor pressionado. Para ver os valores basta abrir o Serial Monitor dentro do programa do Arduino

byte pinBotao = 0;
int valorBotao = 0;
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); //RS,E,D4,D5,D6,D7
void setup() {
	Serial.begin(9600);
	Serial.println("inicio");
	lcd.begin(16, 2);
	lcd.print("Webtronico.com");
}
void loop() {
	valorBotao = analogRead(pinBotao);
	//478 esquerda
	//129 up
	//322 down
	//0 right
	//720 selecionado
	if(valorBotao > 470 && valorBotao < 500){
		lcd.setCursor(0, 1);
		lcd.print("ESQUERDA");
	}else if(valorBotao > 120 && valorBotao < 140){
		lcd.setCursor(0, 1);
		lcd.print("CIMA ");
	}else if(valorBotao > 315 && valorBotao < 400){
		lcd.setCursor(0, 1);
		lcd.print("BAIXO ");
	}else if(valorBotao >=0 && valorBotao < 10){
		lcd.setCursor(0, 1);
		lcd.print("DIREITA ");
	}else if(valorBotao > 700 && valorBotao < 730){
		lcd.setCursor(0, 1);
		lcd.print("ENTER ");
	}
	Serial.println(valorBotao);
	delay(100);
}

5 Comments

Other Links to this Post

RSS feed for comments on this post. TrackBack URI

Leave a comment