#define BUZZER_PIN 9
#define PIN_ECHO 2
#define PIN_TRIG 3
void setup() {
Serial.begin(9600);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
}
void loop() {
int cm = Ultrasonic();
Serial.print("Distance : ");
Serial.print(Ultrasonic());
Serial.print(" cm");
Serial.println(" ");
//int cm = Ultrasonic();
if (cm <= 60 && cm != 0) //เมื่อวัตถุเข้าใกล้เสียงเตือนดังถี่ขึ้น
{
digitalWrite(BUZZER_PIN, HIGH); //เปิดเสียงแจ้งเตือน
delay(cm * 16);
digitalWrite(BUZZER_PIN, LOW); //ปิดเสียงแจ้งเตือน
delay(cm * 16);
}
else //เมื่อห่างมากกว่า 60 cm จะไม่มีเสียง
{
digitalWrite(BUZZER_PIN, HIGH); //ปิดเสียงแจ้งเตือน
delay(2500);
}
}
int Ultrasonic()
{
long duration, distance;
digitalWrite(PIN_TRIG, LOW);
delayMicroseconds(2);
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
duration = pulseIn(PIN_ECHO, HIGH);
distance = duration / 58.2;
return distance;
}