Как определить расстояние при помощи звука?
Честно - не сильно понятен вопрос. Снимаете в режиме реального времени данные с микрофона, вычленяете нужную частоту (программно - БПФ, аппаратно - фильтры конднесаторами), если уровень сигнала на этой частоте превысил некий эпсилон - то вот он возврат. Для точности можете не просто один раз сигнал посылать, а какой то условной сигнатурой.
Я бы посмотрел библиотеку для ультразвукового сонара HC-SR04 для ардуино. Ответ или подсказка там точно есть.