Можно написать код с проверкой времени нажатия кнопки, ложные срабатывания обычно очень короткие.
Задать функцию в которой пока кнопка нажата будет постоянно прибавляться +1, пока не будет достигнуто число (100, 200, 10000 на ваш выбор), если кнопка отжато сбросить число в 0.
Такой способ не тормозит систему но очень зависим от пауз (delay) в коде.
Если не очень важно быстродействие кода то можно просто сделать проверку нажатия кнопи через паузу по времени.
Можно также реверсировать кнопку, то есть не подать на нее ток, так как по умолчанию он там уже есть, а заземлять его через кнопку на землю, вместо подтягивающего резистора, в коде же использовать команду pinMode( 3 , INPUT_PULLUP); в части где void setup(). Эта команда делает реверс значения.
В общем последний метод показал себя на практике более работоспособным, но бывают и исключения зависит от того что еще включено в ваш ардуин.