Arduino

Circuitos & Projetos utilizando ARDUINO.

  • foto
  • foto
  • foto

Comentar

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)

Comentário de Rodrigo Costa em 20 fevereiro 2017 às 23:36

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();
}

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço