Сейчас еще раз прочитал про прерывания в ардуине. Что-то не могу понять чем мне может это помочь?
вот представьте. Вы ждёте друга в гости. Предположим, что друг может простоять у дверей пол минуты, затем уходит. Значит чтобы не пропустить приход друга, вы должны минимум раз в пол минуты, а лучше 2 раза бегать к двери и проверять, не пришёл ли он. Бегать к двери каждые 15 секунд, конечно, не весело, но что ж поделать...
примерно так выглядит работа без прерывания
Далее: вы вешаете звонок. Всё. Вы перешли на работу по прерыванию. Когда пришёл друг, он позвонил в дверь. Случилось прерывание. Вы "прервали" свои текущие дела и пошли открывать дверь
Чем вам прерывания помогут? Повесте их на событие "переход в 1" или "переход в 0" и считайте кол-во этих событий, а не дёргайте digitalRead в надежде что-то поймать.
А чтобы наводки не было, нужно либо резюк впаять подтягивающий, либо пин инициализировать как input_pullup (или input_pulldown) не помню какой там режим есть