В программе есть функция - защита от зависания. Но она обычно не работает, так как это софтовая функция. Есть еще вариант на уровне железа микроконтроллера - wdt.h ...но тут нужна прошивка микроконтроллера - optiboot ...хотя на UNO в большинстве случаев это не обязательно...
Вот пример - http://www.netzmafia.de/skripten/hardwa ... index.html
Ну и самый надежный вариант - внешний "железный" сторожевой пёс!
Делитесь своими схемами своего варианта "железного" пёсика!