🤖 روبومیکرآموزش آردوینوشبیه‌ساز آنلاین
روبومیکرآموزش آردوینوحسگر فاصله HC-SR04 با کد

حسگر فاصله HC-SR04 با کد

حسگر HC-SR04 یک فاصله‌سنج اولتراسونیک است که با امواج صوتی فاصله تا اجسام را اندازه می‌گیرد؛ دقیقاً مثل خفاش‌ها! در این درس یاد می‌گیری چطور با کد، فاصله را اندازه بگیری و روی Serial Monitor نمایش بدهی.

این حسگر چطور کار می‌کند؟

این حسگر دو پایه مهم دارد: trig (تریگر) برای ارسال موج و echo (اکو) برای دریافت بازتاب موج. ما یک پالس کوتاه از trig می‌فرستیم، موج به جسم می‌خورد و برمی‌گردد، و آردوینو مدت زمان رفت‌وبرگشت موج را اندازه می‌گیرد.

ارسال پالس و خواندن زمان

برای شروع اندازه‌گیری، باید یک پالس ۱۰ میکروثانیه‌ای روی پایه trig بفرستیم. سپس با دستور pulseIn() مدت زمان بالا بودن پایه echo را می‌خوانیم. سرعت صوت تقریباً ۰.۰۳۴ سانتی‌متر در میکروثانیه است و چون موج هم می‌رود و هم برمی‌گردد، نتیجه را بر ۲ تقسیم می‌کنیم:

int trigPin = 9;
int echoPin = 10;
long duration;
float distance;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  // ارسال پالس ۱۰ میکروثانیه‌ای
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // خواندن مدت زمان بازگشت موج
  duration = pulseIn(echoPin, HIGH);

  // محاسبه فاصله بر حسب سانتی‌متر
  distance = duration * 0.034 / 2;

  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  delay(500);
}

ابتدا پایه‌ها را تنظیم می‌کنیم؛ trigPin خروجی و echoPin ورودی است. در حلقه اصلی یک پالس می‌فرستیم، زمان بازگشت را با pulseIn() می‌گیریم، فاصله را حساب می‌کنیم و هر نیم ثانیه روی Serial Monitor چاپ می‌کنیم.

نکته: محدوده کاری HC-SR04 معمولاً بین حدود ۲ تا ۴۰۰ سانتی‌متر است. برای سطوح نرم و کج اندازه‌گیری ممکن است دقیق نباشد. بهترین نتیجه وقتی است که جسم صاف و رو‌به‌روی حسگر باشد.

این کد را همین حالا در حالت کدنویسی شبیه‌ساز روبومیکر بنویس و اجرا کن.

🔌 همین حالا توی شبیه‌ساز آنلاین روبومیکر امتحان کن — رایگان و بدون نصب