#define echoPin 4 // attach pin D2 Arduino to pin Echo of HC-SR04 #define trigPin 3 // attach pin D3 Arduino to pin Trig of HC-SR04 #define beepPin 0 // attach pin D4 Arduino to beep // defines variables long duration; // variable for the duration of sound wave travel int distance; // variable for the distance measurement //void myTone(byte pin, uint16_t frequency, uint16_t duration) //{ // input parameters: Arduino pin number, frequency in Hz, duration in milliseconds // unsigned long startTime=millis(); // unsigned long halfPeriod= 1000000L/frequency/2; // pinMode(pin,OUTPUT); // while (millis()-startTime< duration) // { // digitalWrite(pin,HIGH); // delayMicroseconds(halfPeriod); // digitalWrite(pin,LOW); // delayMicroseconds(halfPeriod); // } // pinMode(pin,INPUT); //} void setup() { pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT pinMode(beepPin, OUTPUT); // Sets the beepPin as an OUTPUT } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back) // digitalWrite(beepPin, HIGH); // delay(distance); // digitalWrite(beepPin, LOW); // delay(distance); if (distance < 3){ digitalWrite(beepPin, HIGH); delay(30); digitalWrite(beepPin, LOW); delay(20); } else{ if (distance < 5){ digitalWrite(beepPin, HIGH); delay(50); digitalWrite(beepPin, LOW); delay(50); } else{ if (distance < 10){ digitalWrite(beepPin, HIGH); delay(50); digitalWrite(beepPin, LOW); delay(80); } else{ if (distance < 20){ digitalWrite(beepPin, HIGH); delay(50); digitalWrite(beepPin, LOW); delay(120); } } } } }