pulseIn я давно не использую, проблемная фунция

Дергается потому что идут небольшие задержки на выполнение команд.
Если написать на асемблере то возможно что выполнятся будет быстрее