آموزش ماژول آلتراسونیک HC-SR04 و نحوه محاسبه فاصله

آموزش ماژول آلتراسونیک HC-SR04 به علاقه مندان الکترونیک و رباتیک اجازه می‌دهد تا بتوانید فاصله اشیاء را با امواج آلتراسونیک اندازه بگیرید. آموزش ماژول آلتراسونیک HC-SR04 به چندین بخش توضیح ماژول نحوه‌ی سرهم بندی روی برید بورد و توضیحات کدهای آردوینو آن می‌باشد. دلایلی که باعث می‌شود که بیشتر افراد علاقه‌مند از ماژول استفاده کنند.

  • کم مصرف بودن و قابلیت استفاده از ذخایر باتری
  • هزینه خرید پایین
  • راه اندازی ساده

آلتراسونیک ( Ultrasonic ) چیست؟

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

Ultrasonic-Frequency-Range-Spectrum

بین صفر تا 20 هرتز زیر صوت و از 20 هرتز الی 20,000 هرتز در محدوده شنوایی انسان است و از 20,000 هرتز به بعد برای انسان قابل شنیدن نیست. ماژول آلتراسونیک از امواج فراصوت برای اندازه گیری فاصله تا 4 متر استفاده می‌نماید.

نحوه‌ی کار ماژول آلتراسونیک

این ماژول عملکردی مشابه گوش‌های خفاش برای ردیابی مسیر ایفا می‌کند. همچنین این مدل از مسیر یابی در دلفین‌ها نیز دیده می‌شود. شیوه‌ی کار برای مسیر یابی صوتی اینگونه است که امواجی از طرق حنجره خفاش که در محدوده فراصوت هستند تولید می‌شود. این امواج با سرعت صوت که برابر 330 متر برثانیه در هوا با فشار قابل تنفس هستند به سمت مانع حرکت می‌کند. پس از برخورد با مانع دوباره برگشت پیدا می‌کنند. خفاش از طریق سیستم شنوایی خود آن را دریافت می‌کند و به صورت غیر ارادی تصویری سه بعدی و رادار گونه از محیط را جهت پرواز در اختیار می‌گیرد. در نتیجه نصف مدت زمان رفت و برگشت تقسیم بر سرعت صوت برابر مصافت طی شده و فاصله خفاش از جسم خواهد بود.

پروژه عملی فاصله سنج دقیق با ماژول SRF05
پروژه عملی فاصله سنج دقیق با ماژول SRF05
پروژه فاصله سنج التراسونیک یک فاصله سنج صوتی بسیار دقیق با ماژول النراسونیک می باشد که فاصله را با دقت بسیار بالا اندازه میگیرد برای این پروژه هم می شود از ماژول آلتراسونیک سنجش مسافت SRF05 و هم ماژول آلتراسونیک سنجش مسافت HC-SR04 استفاده کرد ، تفاوت...

مطلب پیشنهادی

بررسی سخت افزار ماژول HC-SR04

ماژول آلترا سونیک از دو سنسور آلتراسونیک ساخته شده است. یکی از آن‌ها با دریافت ولتاژ و سیگنال لازم فرکانس 40 کیلو هرتز را تولید می‌کند. سنسور دوم بعد از ارسال فراصوت تولید شده شروع به شمارش و گوش دادن صوت بازپخش شده توسط مانع می‌شود.

HC-SR04

پس از دریافت صوت بازگشتی ماژول شروع به محاسبه و ارسال داده به میکرو جهت اندازه‌گیری فاصله می‌نماید. این ماژول توانایی اندازه‌گیری فاصله بین 2 سانتی متر تا 4 متر را به دقیقی دارد. یکی از مزیت‌های این ماژول توان مصرفی پایین آن است و به راحتی از طریق پورت تغذیه 5 ولت آردونو می‌توان تغذیه ماژول را تامین نمود.

مشخصات دقیق ماژول HC-SR04

  1. ولتاژ عملیاتی ماژول: 5ولت DC
  2. آمپر مصرفی ماژول  : 15   mA
  3. فرکانس کاری ماژول: 40 کیلوهرتز
  4. بردنهایی: 4 متر
  5. برد مینیموم: 2 سانتی متر
  6. زاویه اندازه‌گیری: 15 درجه

معرفی پین‌های خروجی ماژول HC-SR04

HC-SR04-Ultrasonic-Distance-Sensor-Pinout

 

VCC تغذیه ماژول HC-SR04 که برابر 5 ول دی سی می‌باشد. می‌توان از خروجی 5 ولت روی برد آردونیو نیز کمک گرفت.

Trig (Trigger) فعال کننده بخش فرستنده ماژول آلترا سونیک با تحریک این پایه به مدت 10 میکروثانیه  پالسی با قدرت 40 کیلوهرتز برای اندازه‌گیری ارسال می‌شود.

Echo این پین زمانی که فعال کننده تحریک می‌شود به یک منطقی تغییر پیدا می‌کند تا زمانی که امواج صوتی ارسال شده برگشت پیدا کنند. پس از برگشت امواج و دریافت پالس صوتی از موانع این پایه به صفر منطقی تغییر پیدا می‌کند. با محاسبه زمان رفت و برگشت فاصله جسم تعیین می‌شود.

GND منفی یا زمین بوده و به پایه منفی یا GND آردوینو متصل شود.

پروژه عملی سرعت سنج با ماژول التراسونیک SRF05 و بسکام
پروژه عملی سرعت سنج با ماژول التراسونیک SRF05 و بسکام
پروژه سرعت سنج با ماژول التراسونیک به درخواست کارابران در نظرسنجی شماره یکطراحی شده و در اختیار شما کاربران قرار گرفته شده است ، کارکرد پروژه به این صورت است که سرعت نزدیک و دور شدن اجسام از ماژول التراسونیک بصورت خیلی دقیق اندازه گیری می شود و روی ن...

مطلب پیشنهادی

نحوه‌ی عملکرد ماژول HC-SR04-Ultrasonic

زمانی که پایه Trigger به مدت 10 میکروثانیه تحریک می‌شود. فرستنده 8 پالس صوتی با توان 40 کیلوهرتز را ارسال می‌نماید. با ارسال این 8 پالس صوتی پین Echo به یک تغییر وضعیت داده و منتظر برگشت این امواج می‌شود. اگر امواج ارسالی پس از 38 میلی ثانیه برنگشتند. اطلاعاتی برای نمایش وجود نخواهیم داشت. در نتیجه معلوم می‌شود که جسم در رنج قابل اندازهگیری سنسور نیست.

 

اگر سیگنال‌های صوتی ارسالی به مانع برخورد کنند و قبل از 38 میلی ثانیه تعیین شده برگشتند پین Echo به صفر منطقی تغییر وضعیت می‌دهند. با توجه به رنج قابل اندازه‌گیری توسط ماژول امواج برگشتی بین 150 میکرو ثانیه الی 25 میلی ثانیه خواهند بود. این نشان دهنده رنج قابل اندازه‌گیری توسط ماژول بوده و مقدار دریافتی قابل محسابه است.

محاسبات زمانی برای تعیین فاصله توسط ماژول آلتراسونیک

برای محاسبه فاصله توسط امواج صوتی از فرمول ساده زمان و مسافت استفاده می‌کنیم. برای درک بهتر این مطلب از یک مثلث زمان سرع و فاصله استفاده می‌نماییم.

Distance-Speed-Time-Formula-Triangle

درتصویر بالا Distance برابر فاصله یا مصافت است Time برابر زمان طی شده و Speed برابر سرعت است.

برای روشن شدن دلیل اهمیت این مثلث یک مثال عملی را از نحوه کار سنسور بررسی می‌کنیم. اگر جسمی در فاصله نامشخص از ماژول قرار داشته باشد. زمان برگشت توسط پین Echo برابر 500 میکرو ثانیه ثبت شده باشد فاصله جسم چقدر خواهد بود. برای حل این مسئله به سرعت صوت نیز نیاز خواهیم داشت که برابر 340 متر بر ثانیه است.

Distance = Speed x Time

اما مقدار دریافتی 500 میکرو ثانیه است. پس سرعت صوت را نیز بر اساس  سانتی متر بر  میکرثانیه لازم داریم که برابر 0.034 cm/μs است.

Distance = 0.034 cm/µs x 500 µs

با توجه به اینکه زمان ثبت شده زمان یک بار رفت و یک بار برگشت این امواج صوتی است. مقدار به دست آمده باید تقسیم بر 2 شود تا فاصله نهایی به دست آید.

Distance = (0.034 cm/µs x 500 µs) / 2

Distance = 8.5 cm

فاصله نهایی از ماژول آلتراسونیک برابر 8 و نیم سانتی متر خواهد بود.

پروژه آلتراسونیک با ماژول US-020
پروژه آلتراسونیک با ماژول US-020
ماژول التراسونیک US-020 یک ماژول دقیق و با برد 7 متر است که از ثبات بسیار بی برخوردار است ، ماژول التراسونیک US-020 امواج صوتی را با فرکانس بالا ایجاد کرده و موج بازتاب شده را دریافت و تحلیل می نماید. ماژول US-020 با محاسبه ی زمان بین فرستادن سیگنال ...

مطلب پیشنهادی

راه اندازی ماژول فاصله سنج آلتراسونیک HC-SR04 با استفاده از برد آروینو

برای راه اندازی این ماژول طبق شماتیک زیر ماژول را به برد آردوینو متصل کنید.

Arduino-Wiring-Fritzing-Normal-Mode-Connections-with-HC-SR04-Ultrasonic-Sensor

  • VCC رو به پورت مثبت 5 ولت متصل کنید.
  • GND را به پورت منفی یا GND بورد آردوینو متصل کنید.
  • Trig به پایه شماره 9 دیجیتال متصل کنید.
  • Echo به پایه شماره 10 دیجیتال متصل کنید.

نصب و راه اندازی کتابخانه در آردوینو

ارسال مباحث توضیح داده شده در بالا به صورت دستی بسیار پر درسر و سخت خواهد بود. خوشبختانه برای راه اندازی این مدل ماژول کتابخانه‌هایی نوشته شده‌اند که سرعت کاری مارا برای استفاده از این سیستم بالا می‌برند. یکی از این روش‌ها استفاده از کتابخانه‌های نوشته شده در این زمینه هستند. به این منظور برای دسترسی به صورت اتوماتیک مسیر زیر را طی نمایید و یا فایل کتابخانه مورد استفاده را از آخر همین آموزش دانلود نمایید.

برای دانلود کتابخانه از مسیر زیر حرکت کنید Sketch > Include Libraries > Manage Libraries سپس منتظر بمانید و بعد از چند ثانیه در محل علامت زده شده واژه new ping را جست و جو نموده و ورژن 1.9.4 را دانلود نمایید.

Manage-Libraries

NewPing-Library-Installation

کدهای آردوینو جهت راه اندازی ماژول آلتراسونیک HC-SR04

پس از نصب کتابخانه کدهای زیر را در بخش کد نویسی آردوینو کپی نمایید.


برنامه راه اندازی ماژول آلترا سونیک HC-SR04

// Include NewPing Library
#include "NewPing.h"

// Hook up HC-SR04 with Trig to Arduino Pin 9, Echo to Arduino pin 10
#define TRIGGER_PIN 9
#define ECHO_PIN 10

// Maximum distance we want to ping for (in centimeters).
#define MAX_DISTANCE 400	

// NewPing setup of pins and maximum distance.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
	Serial.begin(9600);
}

void loop() {
	Serial.print("Distance = ");
	Serial.print(sonar.ping_cm());
	Serial.println(" cm");
	delay(500);
}

 

اگر بخواهید بدون کمک گرفتن از کتابخانه طبق محاسبات توضیح داده شده مسافت رفت برگشت امواج را اندازه بگیرید از کدهای زیر استفاده نمایید.


برنامه راه اندازی ماژول آلتراسونیک HC-SR04

const int trigPin = 9;
const int echoPin = 10;

long duration;
int distance;
void setup() {
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
  pinMode(echoPin, INPUT); // Sets the echoPin as an Input
  Serial.begin(9600); // Starts the serial communication
}
void loop() {
  // Clears the trigPin
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  // Sets the trigPin on HIGH state for 10 micro seconds
  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;
  // Prints the distance on the Serial Monitor
  Serial.print("Distance: ");
  Serial.println(distance);
}

 

برای این مطلب ۲ دیدگاه ثبت شده است

R_F

یکی از آموزش های به شدت کاربردی و مفیدی بود که دیدم ، دم شما گرم.

کامران محمودزاده : سلام، از نظر شما سپاسگزارم. خوشحالم که آموزش ها برای شما مفید بوده است.

پاسخ
1402/10/15
برای ارسال دیدگاه، ابتدا وارد حساب کاربری خود شوید
آموزش رایگان
×
به سبد خرید اضافه شد
×
به سبد خرید اضافه شد