Нужна библа или метод обработки ОДНОЙ кнопки, но минимум с 3-я событиями (к примеру, короткое, 1 сек 3 сек или двойное).
На аналоговом пине A7.
На аналоговом пине A7.
C++:
vbool flag = false;
uint32_t btnTimer = 0;
bool btnState = false;
void loop()
{
if (analogRead(A7) < 30)
{
btnState = 1;
}
else
{
btnState = 0;
}
if (btnState && !flag && (millis() - btnTimer) > 100) // дребезг коротко
{
flag = true;
btnTimer = millis();
//..... бла -бла
}
if (btnState && flag && (millis() - btnTimer) > 1000) // долгое
{
btnTimer = millis();
//..... бла -бла 2
}
if (!btnState && flag && millis() - btnTimer > 1000)
{
flag = false;
btnTimer = millis();
}
// нужно третье
}