Como inserir mais de uma entrada para a mesma tecla do teclado de membrana para Arduíno?

Estou começando agora a programar no arduino mega 2560 e queria saber como programar para receber diversos valores a partir de uma mesma tecla em um teclado de mebrana. Da mesma forma que acontece naqueles celulares antigos que dependendo do número de vezes que pressionamos a mesma tecla em um intervalo curto de tempo ele escreve um valor, e acima de um tempo ele passa para a próxima posição. Por exemplo se pressionarmos o 1, uma vez aparece o 1, se pressionarmos duas vezes aparece o "a", três vezes o "b".
Alguém poderia me ajudar, por favooor?

Exibições: 306

Responder esta

Respostas a este tópico

Boa noite K,

tem sim,  faça assim: use um delay, se após o delay a tecla ainda estiver pressionada, use outro valor .

RV

Tinha feito assim, só para testar mas não era meu objetivo, queria que funcionasse como um teclado de celular antigo.
De qualquer forma muito obrigada.

Se você estiver usando a biblioteca Keypad para o teclado de membrana, ela já identifica pressionamento curto, ou manter pressionado:

keypad.getKey();   (captura a tecla com pressionamento curto)

keypad.getState()==HOLD (detecta se a tecla foi mantida pressionada)

Existem vários modos de se fazer o que você deseja. Pode usar um digito de controle e ir incrementando a cada pressionamento da tecla, e dependendo do incremento, associar a uma letra ou número.

Pode usar a função Millis() e contar o tempo em que a tecla foi mantida pressionada, como o Rui falou.

Deve haver outros modos, que não sei te falar agora. Vai testando e veja como fica melhor no seu caso.

Obrigda Andre, vou o que consigo fazer.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço