ADCW-Cодержит как ADMUX , так и ADCSRA. Как раз то что нам надо для работы с дальномером :).
В double voltage(void) содержится формула для перевода в вольты. 2,56 соответствует внутреннему опорному напряжению ( ADMUX 11 Внутренний калибрированный источник на 2,56 Вольт, с конденсатором 22 пФ , связанным с AREF и GND).
График зависимости напряжения от расстояния для GP2D120 ниже
Из него мы видим, что в строке if(voltage()>0.8) 0.8 будет соответствовать 16 см.
Подключение дальномера к AVR.
Как видно из кода (последние 4 бита ADMUX) дальномер (порт V0) подключен к порту ADC1 (В atmega 16 это порт A1). Подключается напрямую к порту. VCC +5 вольт.
Схема подключения дальномера ниже
Если у вас есть какие нибудь вопросы задавайте их в комментариях! Спасибо