ماژول HC-SR04 فاصله شی را با استفاده از امواج اولتراسونیک اندازه گیری می کند.
دقت و محدوده باورنکردنی و پایداری در اندازه گیری و کارکرد نرم افزاری ساده از ویژگیهای این ماژول هد.
شدت نور بر دقت اندازه گیری تاثیر ندارد ولی تشخیص مواد ظریف مانند پارچه با مشکلاتی همراه است.
برای شروع کار از IO TRIG استفاده کنید.
هشت موج مربع 40 کیلوهرتز به طور خودکار ارسال می شود و در صورت بازگشت سیگنال آزمایش می کند.
سیگنال بازگشتی از پورت IO ECHO خوانده می شود.
با اندازه گیری فاصله زمان ارسال تا گرفتن سیگنال میتوان فاصله را اندازه گیری کرد
ماژول را مانند شکل فوق به آردواینو متصا کنید و برنامه نمونه را بارگزاری نمایید
نتیجه را میتوانید بر روی پنجره سریال مشاهده کنید
با گرفتن سنسورهای روی ماژول به سمت اجسام میتوانید فاصله اندازه گیری شده را مشاهده کنید
#define echoPin 2 // attach pin D2 Arduino to pin Echo of HC-SR04
#define trigPin 3 //attach pin D3 Arduino to pin Trig of HC-SR04
// defines variables
long duration; // variable for the duration of sound wave travel
int distance; // variable for the distance measurement
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT
pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT
Serial.begin(9600); // // Serial Communication is starting with 9600 of baudrate speed
Serial.println("Ultrasonic Sensor HC-SR04 Test"); // print some text in Serial Monitor
Serial.println("with Arduino UNO R3");
}
void loop() {
// Clears the trigPin condition
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin HIGH (ACTIVE) for 10 microseconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back)
// Displays the distance on the Serial Monitor
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
}