Circuitos & Projetos utilizando ARDUINO.
Comentar
O código de programação para completar o armado e funcionamento do circuito montado acima, o qual utiliza o teclado membrana de 4 linhas por 3 colunas, pode ser encontrado no meu blog: eletronicaparatodos.com ou basta ser copiado abaixo:
//Autor : FILIPEFLOP
//
//Programa MODIFICADO para utilizar TECLADO MATRICIAL 4x3
//By: R.Costa - 13/02/2017
//
//Modificado por : RODRIGO COSTA
//EM: 13/02/2017
//Programa : CONFIGURAÇÃO E TESTE TECLADO MATRICIAL 4x3
void setup()
{
//Pinos ligados aos pinos 1, 2, 3 e 4 do teclado - Linhas
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
//Pinos ligados aos pinos 5, 6, 7 e 8 do teclado - Colunas
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
pinMode(11, INPUT);
Serial.begin(9600);
Serial.println("Aguardando acionamento das teclas...");
Serial.println();
}
void loop()
{
for (int ti = 3; ti<7; ti++)
{
//Alterna o estado dos pinos das linhas
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(ti, HIGH);
//Verifica se alguma tecla da coluna 1 foi pressionada e IDENTIFICA QUAL TECLA FOI PRESSIONADA
if (digitalRead(8) == HIGH)
{
//imprime_linha_coluna(ti-2, 1);
if (ti-2 == 1){
imprime_linha_coluna(ti-2, 1);
Serial.println();
}
if (ti-2 == 2){
imprime_linha_coluna(ti-2, 1);
Serial.println("4");
Serial.println();
}
if (ti-2 == 3){
imprime_linha_coluna(ti-2, 1);
Serial.println();
}
if (ti-2 == 4){
imprime_linha_coluna(ti-2, 1);
Serial.println();
}
while(digitalRead(8) == HIGH){};
}
//Verifica se alguma tecla da coluna 2 foi pressionada e IDENTIFICA QUAL TECLA FOI PRESSIONADA
if (digitalRead(9) == HIGH)
{
//imprime_linha_coluna(ti-2, 2);
if (ti-2 == 1){
imprime_linha_coluna(ti-2, 2);
Serial.println();
}
if (ti-2 == 2){
imprime_linha_coluna(ti-2, 2);
Serial.println();
}
if (ti-2 == 3){
imprime_linha_coluna(ti-2, 2);
Serial.println();
}
if (ti-2 == 4){
imprime_linha_coluna(ti-2, 2);
Serial.println();
}
while(digitalRead(9) == HIGH){};
}
//Verifica se alguma tecla da coluna 3 foi pressionada e IDENTIFICA QUAL TECLA FOI PRESSIONADA
if (digitalRead(10) == HIGH)
{
//imprime_linha_coluna(ti-2, 3);
if (ti-2 == 1){
imprime_linha_coluna(ti-2, 3);
Serial.println();
}
if (ti-2 == 2){
imprime_linha_coluna(ti-2, 3);
Serial.println();
}
if (ti-2 == 3){
imprime_linha_coluna(ti-2, 3);
Serial.println();
}
if (ti-2 == 4){
imprime_linha_coluna(ti-2, 3);
Serial.println();
}
while(digitalRead(10) == HIGH){}
}
}
delay(10);
}
void imprime_linha_coluna(int x, int y)
{
Serial.print("Linha : ");
Serial.print(x);
Serial.print(" x Coluna : ");
Serial.print(y);
delay(10);
Serial.println();
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)