Вот смотрите, я даю вам не рыбу, а удочку. Идем на сайт
https://wiki.analog.com/ и вводим в поисковой строке GPIO Conditioning
Разглядываем и кумекаем, что нам больше подходит. А подходит нам лучше всего Software Debounce. Кликаем на него. Читаем. Можно включить переводчик:
"Контакты механических переключателей и энкодеров могут «дребезжать» при изменении положения; это означает, что напряжение может колебаться между состояниями несколько раз в течение переходного периода. Если переход не является чистым, в вашей системе могут быть установлены ошибочные состояния. Этот блок устраняет дребезг (удаляет пульсацию перехода) из сигнала, ожидая указанное количество времени между периодами выборки. Это обеспечивает чистый сигнал перехода на выходе.
Обычно этот блок используется для устранения дребезга входного сигнала GPIO .
Чтобы использовать этот блок, перетащите его на схему и подключите вход к сигналу GPIO .
Регулятор времени устранения дребезга устанавливает постоянную времени для устранения дребезга в выборках; значение по умолчанию равно 20. Для достижения наилучших результатов отрегулируйте значение методом проб и ошибок для любого оборудования, подключенного к входу GPIO"
Подходит? По-моему отлично подходит. Кто говорил, что wiki.analog.com в топку?! Вроде рановато, не так ли? Поэтому заменяем ваш блок ZeroComp1 на dbnce_1