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?
Tags:
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.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por