سنسور تشخیص فاصله آلتراسونیک

راه اندازی سنسور تشخیص فاصله آلتراسونیک از طریق آردوینو

0

سنسور تشخیص فاصله آلتراسونیک

  سنسور تشخیص فاصله آلتراسونیک HC-SR04 با ارسال یک موج صوتی در فرکانس مافوق صوت (سنسور T) و دریافت موج انعکاس یافته از سطح جسم (سنسور R) فاصله را از طریق محاسبه زمان رفت و برگشت موج صوتی در هوا با دقت بالا تخمین می‌زند. فرکانس موج صدا 40 کیلوهرتز می باشد، که بالاتر از حد بالای شنوایی انسان یعنی 20 کیلوهرتز است. فاصله میان سنسور و نقطه هدف برحسب سانتی‌متر برابر است با نصف زمان انعکاس برحسب میکروثانیه ضرب در 0.0343 با این فرض که سرعت صوت برابر با 343m/s است. حداقل و حداکثر فواصل قابل اندازه‌گیری به ترتیب 2 سانتی‌متر و 4 متر هستند. برای اندازه‌گیری فاصله قابل اطمینان، سنسور تشخیص فاصله آلتراسونیک باید به طور کامل بر سطح اسکن‌شده عمود باشد؛ و سطح موردنظر باید مسطح باشد. سیگنال از یک فاصله 5 متری در مدت زمان 29 میلی ثانیه باز می‌گردد، بنابراین یک تاخیر حداقل 40 میلی ثانیه بین اندازه گیری‌های فاصله متوالی از تداخل بین سیگنال‌های ناشی از اندازه‌گیری‌های مختلف جلوگیری می‌کند.

 برای مقداردهی اولیه سنسور تشخیص فاصله آلتراسونیک، پایه تریگر (فرمان) برای حداقل 10 میکروثانیه HIGH نگه داشته می‌شود. سپس حسگر یک سیگنال با 8 پالس با فرکانس 40 کیلوهرتز را با تابع ()pulseIn، ارسال می‌کند و بطور خودکار پایه انعکاس (اکو) را در HIGH تنظیم می‌کند، و هنگامی‌که پایه اکو LOW شود منتظر بازگشت سیگنال می ماند. بازه زمانی بین تغییر پین اکو از HIGH به LOW زمان انعکاس است. اگر پایه اکو وقتی تابع ()pulseIn فراخوانی می‌شود HIGH باشد، تابع ()pulseIn تا زمانی‌که پایه اکو  LOW شده و سپس قبل از تنظیم زمان‌ سیگنال HIGH ‌شود، منتظر می‌ماند.

یک سنسور تشخیص فاصله آلتراسونیک در شکل.1 نشان داده شده است و اتصالات آن به برد آردوینو در جدول.1 بیان شده‌اند.

 

جدول 1. اتصالات CH-SR04 به آردوینو

                          پایه آردوینو

                               قطعه

                         Arduino   5V

                     HC-SR04 VCC

                         Arduino GND

                    HC-SR04 GND

                         Arduino pin 6

                      HC-SR04 Trig

                          Arduino pin 7

                     HC-SR04 Echo

سنسور تشخیص فاصله آلتراسونیک
شکل 1. اتصالات سنسور تشخیص فاصله آلتراسونیک به برد آردوینو
int trigPin = 6; // HC-SR04 trigger pin
int echoPin = 7; // HC-SR04 echo pin
float duration, distance;
void setup()
{
Serial.begin(9600); // define Serial output baud rate
pinMode(trigPin, OUTPUT); // define trigger pin as output
pinMode(echoPin, INPUT); // define echo pin as input
}
void loop()
{
digitalWrite(echoPin, LOW); // set the echo pin LOW
digitalWrite(trigPin, LOW); // set the trigger pin LOW
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); // set the trigger pin HIGH for 10μs
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); // measure the echo time (μs)
distance = (duration/2.0)*0.0343; // convert echo time to distance (cm)
if(distance>400 || distance<2) Serial.println("Out of range");
else
{
Serial.print("Distance : ");
Serial.print(distance, 1); Serial.println(" cm");
}
} 

اطلاعات سنسور تشخیص فاصله آلتراسونیک در IDE Arduino از طریق مانیتور سریال از مسیر Tools->Serial Monitor قابل نمایش هستند. سرعت ارتباط سریال بین آردوینو و سنسور 9600 baud (Bd) است که با دستور Serial.begin(9600) در تابع () void setup تعریف می‌شود.

 

 

شکل 2. نمایش نتایج با سریال مانیتور

چندین روش برای نمایش اطلاعات برروی مانیتور سریال وجود دارد.

  • print(X,d) عدد حقیقی X را با d رقم دسیمال نمایش می‌دهد.
  •   abc print(“abc”) را نمایش می دهد
  • print(“abc\tdef”) یک تب (\t) را بعد از abc و قبل از def وارد می کند.
  • println(“abc”) پس از abc سطر عوض می‌شود (\r)و به خط بعدی می‌رود (\n)

 تیم ردرونیک (redronic) مجموعه ای از آموزش ها و پروژه های مرتبط با آردوینو را برای شما علاقمندان به الکترونیک و برنامه نویسی  فراهم کرده است. جهت مشاهده این پروژه ها اینجا کلیک کنید

Choose your Reaction!
دیدگاه خود را بنویسید

آدرس ایمیل شما منتشر نخواهد شد.

آخرین پست ها

redronic.com