Ситуация в следующем работаю с каном авто, все кнокпи работают по кану.
Хочу подключить их чтобы управлять Ардуинкой в своих личных целях.
Ардуина будет управлять Андройд приставкой.
Имеется
UNO и Atmega 2450.
Написал скетч на обработку одиночного нажатия, а вот с длительным не могу справится.
то есть например нажимаю 1 раз кнопку звук + и приходит 2-3 одинаковых сигнала в кан пусть будет 12345.
То есть если жму долго он так и будет кидать в лог:
12345 12345 12345 12345 12345 12345
Вот мне нужно при удерживании скажем более 8 секунд сделать чтобы он выполнял другое действие.
Пробовал millis() ставить, но он к сожалению не обнуляется.
Пока что работает только один мой вариант по количеству, то есть если пришло в лог более 8 одинаковых сигналов 12345 то выполнять долгое действие, но это не очень удобно, так как счетчик не обнуляется а постоянно по кругу идут.
Или может подскажите как обнулять счетчик если допустим между действиями прошло более скажем 3 секунд.
Сейчас у меня что то типа этого:
Цитата:
if(rpId == 410) //Нажата кнопка след. трек >>
{
irsend.sendNEC (0x11E937,32);
Serial.println("Next track");
}
|
А нужно чтобы при длительном нажатии на кнопку другое действие.
Что то типа этого :
Цитата:
if(rpId == 410) //Нажат кнопка след. трек >>
{
nextrack = nextrack++
if (nextrack > 8)
{
irsend.sendNEC (0x15D937,32);
Serial.println("Next LOND press track");
}
irsend.sendNEC (0x11E937,32);
Serial.println("Next track");
}
|
Но в этом случае каждое 8ео нажатие выдается как долгое, хоть по одному разу жми хоть по долгу.
То есть нет срабатывания сброса как бы.
Заранее благодарен, Андрей.