#define echoPin PB1
#define trigPin PB2
#define buzzerPin PB4
long duration;
int distance;
/*
Obstruction Detector using ATtiny85
*/
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
digitalWrite(PB0, LOW);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.0344 / 2;
if (distance > 200) {
digitalWrite(buzzerPin, LOW);
}
if (distance > 100 && distance < 200) {
digitalWrite(buzzerPin, HIGH);
delay(4000);
digitalWrite(buzzerPin, LOW);
delay(2000);
}
if (distance < 100 && distance > 30) {
digitalWrite(buzzerPin, HIGH);
delay(3000);
digitalWrite(buzzerPin, LOW);
delay(1000);
}
if (distance < 20 && distance > 10) {
digitalWrite(buzzerPin, HIGH);
delay(2000);
digitalWrite(buzzerPin, LOW);
delay(1000);
}
if (distance < 10 && distance > 1) {
digitalWrite(buzzerPin, HIGH);
delay(1000);
digitalWrite(buzzerPin, LOW);
delay(1000);
}
if (distance < 1) {
digitalWrite(buzzerPin, HIGH);
delay(500);
digitalWrite(buzzerPin, LOW);
delay(500);
}
delay(100);
}