Boa noite, esse código é sobre um teclado matricial, evito usar biblioteca ao máximo.
Se houver algum sugestão para reduzir o código ou algo que esteja em desacordo com as boas práticas de programação, eu aceito sugestão.
void digito(int x, int y)
{
//Mostra informacoes no serial monitor
switch(x)
{
case 1:
if(y==1){Serial.print("1");}
else if(y==2){Serial.print("2");}
else if(y==3){Serial.print("3");}
break;
case 2:
if(y==1){Serial.print("4");}
else if(y==2){Serial.print("5");}
else if(y==3){Serial.print("6");}
break;
case 3:
if(y==1){Serial.print("7");}
else if(y==2){Serial.print("8");}
else if(y==3){Serial.print("9");}
break;
case 4:
if(y==1){Serial.print("*");}
else if(y==2){Serial.print("0");}
else if(y==3){Serial.print("#");}
}
delay(10);
}
felipejose8:
Obrigado! Por que utilizou matriz tipo char? Foi por causa do * e # correto?
Principalmente porque é o menor tamanho de memória necessário para a aplicação. Nunca utilizar um tipo de variável que vai desperdiçar espaço.
Poderia ter feito algo como:
Noto que devia ter usado char nas variávies x e y, mas como estão limitadas para dentro da função e foi um copy/paste do que tinhas escrito, lá passou.
Se quiseres saber o que são esses números, vê aqui.
Agradeço a ambas as repostas. Mais uma dúvida, esse programa refere-se a um teclado para senha, perdi o código e consegui refazê-lo por completo nesses dias.
Sobre o uso do tipo char, alteraria muito a comparação entre matrizes da digitada pela usuario e a da senha armazenada no sistema? pois utilizei int e no caso do * # utilizei a referencia ascii.