#ifndef SONAR_H #define SONAR_H #include "common.h" // Trigger #define TRIG_DDR DDRC #define TRIG_PORT PORTC #define TRIG_PIN PINC #define TRIG_BIT PC4 // Echo #define ECHO_DDR DDRC #define ECHO_PORT PORTC #define ECHO_PIN PINC #define ECHO_BIT PC5 #define SPEED_OF_SOUND 343 // 20°C dry air (m/s) #define MAX_SONAR_RANGE 8 // Trigger + echo (m) #define SONAR_DELAY 60 // Timeout for return signal #define TIMER_MAX 65535 // For 16-bit timer #define CYCLES_PER_US (F_CPU / 1000000) #define SONAR_TIMEOUT (F_CPU * MAX_SONAR_RANGE) / SPEED_OF_SOUND #define SONAR_ERROR 0 void init_sonar(void); uint16_t read_sonar(void); #endif /* SONAR_H */