Pessoal, alguem sabe dizer se é possivel e caso seja como posso fazer, a ideia é que um push botão normal tenha duas funções,ou seja se ele for carregado por 50 milisegundos faz uma coisa se for carregado por 5 ou 10 segundos faz outra ação.
É possivel determinar o tempo que este é carregado e fazer disso uma condição?
Tags:
Se for pra arduino, vc pode usar a interrupção externa ajustada para decida, então assim que vc apertar o botão e aterrar o pino a rotina da interrupção deverá pegar o valor que tem na função millis e ajustar a propria interrupção para subida,quando vc soltar o botão a interrupção entra de novo e pega o valor da millis de novo, ai vc compara os valores e ajusta de novo pra decida.
Assim vc mantem a rotina principal livre de ficar verificando um pino.
Rui, Conheço outras duas possibilidades, a primeira mais utilizando millis() e a mais elegante seria utilizando pulseIn().
Com o millis vc pode fazer algo do tipo:
quando aciona conta os millis, e se o estado (high) fica mais de 5 segundos (por exemplo) ele executa um comando, se ficar menos que 5 segundos executa outro.
De uma olhada nos textos de ajuda do "pulseIn" na pagina do arduino.
Abç
Tive a testar a função pulseIn e não consegui tirar o melhor proveito dela, pois so obtinha valores se tivesse muito segundos a pressionar o botao e por vezes carregava no botao o valor do pulseIn mantinha se em 0.
Usei o exemplo do site do arduino e vi os resultados na serial.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por