AJUDA! LIGAÇÃO DE MÚLTIPLOS KEYPADs E DISPLAYs NO ARDUINO!

Bom noite, garagistas,

estou realizando a montagem de um projeto e neste estou com algumas dificuldades na programação, algumas funções desejadas para a realização do projeto plena não estão sendo contempladas, pois eu desconheço a maneira correta de sua feitura, sendo estas:

- O sistema tem uma função de ativação apertando a tecla ''*'', o problema é que necessito a satisfação da condição: Caso o sistema não seja ativado após 3 minutos de sua alimentação, o programa deve encaminhar o código para a sub-rotina (''void NADA''), caso seja ativado dentro o prazo previsto (3 minutos), o código deve seguir com seu procedimento.

- No ponto em que o programa está, já foram utilizados 1 teclado matricial 4x4 e uma tela de LCD com suas devidas programações corretas, porém necessito ligar mais um teclado matricial 4x4 e outra tela LCD no mesmo código, estou com duvida de como vou realizar tais praticas e como informar o programa a diferença entre os componentes , para que assim possa realizar funções em cada um de acordo com a necessidade do projeto. (EX: a partir de determinado ponto do código, ele reconhecera teclas digitadas pelo segundo keypad e terá 2 textos diferentes escritos nos displays simultaneamente)

Espera que através desta, os senhores possam me auxiliar neste problema.Obrigado desde já.

Obrigado pela atenção e compreensão!

Pedro Emboava.

(SEGUE O CÓDIGO EM ANEXO EM ATUAL ESTADO, SUJEITO A ADIÇÃO DAS FUNÇÕES DESCRITAS ACIMA COM O AUXILIO DOS SENHORES)

Exibições: 207

Anexos

Responder esta

Respostas a este tópico

Primeiramente, por favor, delete seus posts repetidos.

O uso de 2 LCDs é direto, coisa como:
LiquidCrystal lcd1(22, 24, 26, 28, 30, 32);
LiquidCrystal lcd2(22, 25, 26, 28, 30, 32);
Veja que vc pode compartilhar todos os outros pinos, apenas o Enable precisa ser unico.
Tudo que se refere a lcd passa a se referir a lcd1 ou lcd2 conforme sua necessidade.

O uso de mais teclas recomendo construir um teclado maior.
Vc pode construir um teclado de 8x4 assim gastaria só mais 4 pinos.
Aih por ex:
const byte ROWS = 8; //Quatro linhas
const byte COLS = 4; //QUatro
char convteclado[16]={'1','4','7','2','5','8'.... //Matriz de conversão de posicoes teclado 2 para teclado1.
//Mapeamento de teclas
char keys[ROWS][COLS] = {
{'1', '2', '3', 'A', 'E','I','M','Q',},
{'4', '5', '6', 'B', 'F','J'... // '...' significa que vc tem que terminar a tabela
{'7', '8', '9', 'C', 'G','K'...
{'*', '0', '#', 'D', 'H','L'...

Aih vc precisa fazer uma lógica depois pra transformar o 'E' em '1' do teclado 2.
algo como:
if (key>='E') teclado=1; // Como estão em ordem os caracteres é possivel fazer só isso para saber se é uma tecla 'alta'.
else
{teclado=2;
key=convteclado[key-'E']; // usa a tabela para converter.
}

Desculpe pelos repetidos, informei em ''sala principal'' que estava com dificuldades para saber a real validade do post, pois estava dando erro ''550'' e eu não sabia se os tópicos estavam sendo gerados. Obrigado pelo esclarecimento, não havia pensado em tal possibilidade. 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço