Project 2 - Measuring distance of an object using ultrasonic sensor (HC-SR04)
Project 2 - Measuring distance of an object using ultrasonic sensor (HC-SR04)
#include <avr/io.h>
#include <util/delay.h>
#include "avr/interrupt.h"
#define TRIG PB1
#define ECHO PB0
void trigger();
void Timer_Intialization();
unsigned int pulse_width;
void trigger()
{
PORTB |= (1<<1);
_delay_us(15);
PORTB &=~ (1<<1);
}
void Timer_Intialization()
{
ACSR = (1<<ACIC);
TIFR1 |= (1<<ICF1);
TCNT1 = 0;
TCCR1A = 0x00;
TCCR1B = 0x04;
TIMSK1 = 0x20;
sei();
}
int main()
{
unsigned int distance = 0;
DDRB |= (1<<1);
while(1)
{
trigger();
Timer_Intialization();
distance = (34*pulse_width)/2;
Serial.print(distance);
Serial.print("cm");
_delay_ms(50);
}
}
ISR(TIMER1_CAPT_vect)
{
pulse_width = ((ICR1 - 12)*10)/625;
}

