Olá a todos,
Sou iniciante em programação e preciso de ajuda para fazer um programa da seguinte forma:
1 - Quando o Botao for pressionado com um único click irá colocar a saida 13 do arduino em nível lógico alto e após uns 200 milissegundos retorna esta saída para nível lógico baixo.
2 - Se este mesmo Botão for pressionado por um tempo superior a 2 segundos irá colocar uma outra saída no caso a 14 em nível lógico alto, a saída 14 só voltará para o nível lógico baixo se o botão for pressionado novamente por um tempo superior a 2 segundos.
Se alguém tiver alguma dica e agradeço.
O que é que já experimentaste para resolver esse problema?
Para fazer o botão click eu usei este código abaixo e funcionou:
const int LED_pin = 4;
const int S1_pin = 3;
#define N_leituras 18
#define T_leituras 10
void setup()
{
pinMode(LED_pin, OUTPUT);
pinMode(S1_pin, INPUT_PULLUP);
}
void loop()
{
unsigned char contador = N_leituras;
for(;
{
if(digitalRead(S1_pin) == 0)
{
if(contador == 0)
{
digitalWrite(LED_pin, HIGH);
}else
{
contador--;
delayMicroseconds(T_leituras);
}
}else
{
contador = N_leituras;
digitalWrite(LED_pin, LOW
);
}
}
}
Porem nao consegui fazer a parte do botão pressionado por 2 segundos.