راه اندازی سنسور Ultrasonic

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 25, 2020

سنسور اولتراسونیک HC-SR04 با استفاده از SONAR برای تعیین فاصله جسم همانند خفاش ها عمل می کند. که به نوعی یک تشخیص دقیق بدون تماس با دقت بالا و خواندن پایدار در یک ماژول برای استفاده در بازه های 2 سانتیمتر تا 400 سانتیمتر یا 1 تا 13 foot است. در عملیات تشخیص فاصله نور و یا رنگ اجسام تاثیر گذار نیست بلکه ممکن است اجسامی همچون پارچه و یا فنس ها که فاصله هایی در بافت هایشان وجود دارد تشخیص فاصله را با مشکل مواجه کنند. مشخصات فنی

  • منبع تغذیه - + 5V DC
  • جریان خاموش - <2mA
  • جریان کار - 15mA
  • زاویه اثر - <15 درجه
  • محدوده فاصله - 2cm - 400cm / 1 "- 13ft
  • وضوح - 0.3 سانتیمتر
  • زاویه اندازه گیری - 30 درجه

  به منظور تولید ultrasound می بایستی شما پایه Trig رو به مدت 10 میکرو ثانیه در وضعیت HIGH قرار دهید.که منجر به تولید 8 دوره ساطع شدن موج سونیک خواهد شد که با سرعت صوت حرکت خواهد کرد و بازگشت اون توسط ECHO دریافت خواهد شد. ECHO در نهایت خروجی دریافت شده را در بازه زمانی برای شما مشخص می کند.

به عنوان مثال، اگر شی در 10 سانتیمتری از سنسور باشد و سرعت صدا 340 متر بر ثانیه یا 0.034 سانتیمتر بر ثانیه باشد، موج صدا باید حدود 294 میکرو ثانیه طی کند. اما آنچه شما از پین اکو دریافت خواهید کرد دو برابر این تعداد است زیرا موج صدا نیاز به حرکت به جلو و بازگشت خواهد داشت. بنابراین برای به دست آوردن فاصله در سانتی متر، باید مقدار زمان دریافت شده سفر از پین اکو را با 0.034 ضرب کنیم و آن را با 2 تقسیم کنیم.

مثالی از نحوه استفاده از ultra sonic و چند تئوری پیاده سازی دیگر که برای سیستم های محافظتی و یا رباتیک به کار می آید. شماتیک اتصالات:

قطعه کد:

// defines pins numbers
const int trigPin = 9;
const int echoPin = 10;
// defines variables
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);
}

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
0دیدگاه