Olá amigos.
Estou querendo fazer um projeto onde quando iniciar, me mostrará uma tela de boas-vindas, e que quando eu pressionar um botão do meu teclado (nesse caso "A") ele me abre um menu com as opções de configuração do projeto.
Mas quando eu mando ele "printar" um novo valor, ele substitui por outro já definido anteriormente. O meu código está abaixo.
#include <LiquidCrystal.h>//biblioteca do lcd monocromatico
LiquidCrystal L(8,9,10,11,12,13);//gera cópia da biblioteca para parametros
char tecla=100;//variável do teclado matricial
void setup()
{
L.begin(16,2);//configura colunas e linhas do LCD
//linhas do teclado matricial
pinMode(0,OUTPUT);
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
//coluna do teclado
pinMode(4,INPUT); digitalWrite(4,HIGH);//ativando resistor de pull up
pinMode(5,INPUT); digitalWrite(5,HIGH);//ativando resistor de pull up
pinMode(6,INPUT); digitalWrite(6,HIGH);//ativando resistor de pull up
pinMode(7,INPUT); digitalWrite(7,HIGH);//ativando resistor de pull up}
void loop()
{
teclado();
if(tecla=='1')
{
L.setCursor(0,0);L.print("SAO PAULO ");
}
if(tecla=='0')
{
L.setCursor(0,0);L.print("PALMEIRAS");
}
L.setCursor(0,0);L.print("Bem vindo");
L.setCursor(0,1);L.print("Projeto integrador");
delay (3000); L.clear();
L.setCursor(3,0); L.print("Smart Grid");
L.setCursor(0,1);L.print("Rede Inteligente");
delay (3000); L.clear();
L.setCursor(0,0); L.print("Renato Carvalho");
L.setCursor(1,1);L.print("RA: xxxxxxxxx");
delay (3000); L.clear();
L.setCursor(2,0); L.print("Pressione 'A'");
L.setCursor(0,1);L.print("para abrir menu");
delay (3000); L.clear();}
//Minhas Funções******
void teclado()
{
//varredura da primeira linha
digitalWrite(0,LOW); digitalWrite(1,HIGH);
digitalWrite(2,HIGH); digitalWrite(3,HIGH);
if(digitalRead(4)==0){tecla='1';} //primeira coluna - o número'1'representa a tabela char
if(digitalRead(5)==0){tecla='2';} //segunda coluna
if(digitalRead(6)==0){tecla='3';} //terceira coluna
if(digitalRead(7)==0){tecla='A';} //quarta coluna
digitalWrite(0,HIGH);
//*******************************************************
//varredura da segunda linha
digitalWrite(1,LOW);
if(digitalRead(4)==0){tecla='4';} //primeira coluna
if(digitalRead(5)==0){tecla='5';} //segunda coluna
if(digitalRead(6)==0){tecla='6';} //terceira coluna
if(digitalRead(7)==0){tecla='B';} //quarta coluna
digitalWrite(1,HIGH);
//*******************************************************
//varredura da terceira linha
digitalWrite(2,LOW);
if(digitalRead(4)==0){tecla='7';} //primeira coluna
if(digitalRead(5)==0){tecla='8';} //segunda coluna
if(digitalRead(6)==0){tecla='9';} //terceira coluna
if(digitalRead(7)==0){tecla-'C';} //quarta coluna
digitalWrite(2,HIGH);
//*******************************************************
//varredura da quarta linha
digitalWrite(3,LOW);
if(digitalRead(4)==0){tecla='';} //primeira coluna
if(digitalRead(5)==0){tecla='0';} //segunda coluna
if(digitalRead(6)==0){tecla='#';} //terceira coluna
if(digitalRead(7)==0){tecla='D';} //quarta coluna
digitalWrite(3,HIGH);
//******************************************************}
E este é o meu cógido, mas quando simulado, eu pressiono a tecla 1 e ele mostra a variável de teste "SAO PAULO" mas é imediatamente substituida pelo texto de boas vindas.
Agradeço desde já.
Batmano.