Открою вам страшную тайну - функция attachInterrupt() на МК атмега328 вообще не знает о наличии какого-то прерывания на пине 5.
В целом присоединяюсь к предыдущим ораторам - если вы думали взять чужой код и , ничего в нем не понимая - запросто его запустить - вы очень наивны.
Добавка чуть позже:
кстати, вот это неверное прерывание для кнопки легко может портить прерывание для сигнала, о котором мы говорили вчера. Поэтому-то как бы вы не исправляли отдельные огрехи - у вас ничего не заработает, пока вы не найдете и не исправите ВСЕ ОШИБКИ в коде.
код не менялся от слова совсем ,как есть
но он отказался работать . решил сменить пин ввода на D3 (1)
но и это не помогло
вот и спрасил здесь мож кто шарит и возможно проверить работу
Создайте новый проект. Из примера переносите небольшими кусочками отвечающими за свою функциональность: показать на экране, прочитать сигнал, отреагировать на кнопку… Для этого надо декомпозировать функционал примера. Разбить по приоритетам на уровни (какой без какого работать не будет), и согласно приоритету переносить, чтобы в каждый момент после переноса весь функционал в новом проекте работал. При этом параллельно создавать или ручной или автоматический тест, который будет постоянно проверять уже работавшую функциональность после переноса новой.
Вот именно этого вы хотите от нас. Вперед. Это большая работа. Сложно? Купите готовое устройство. Хотите сами - вот шаги расписаны. Не получается очередной шаг - дробите его на более мелкие и добивайтесь работы каждого очередного.
Кстати, спросите автора кода. Или тех, кто тусуется на ресурсе с этим кодом.