برای اندازه گیری فاصله ، از روش ها مختلفی استفاده می شود . یکی از این روش ها موسوم به سونار است . در این روش از محاسبه زمان بازتاب امواج صوتی و همچنین پدیده دوپلر (تغییر فرکانس امواج صوتی بر اساس فاصله از منبع صوت) جهت اندازه گیری فاصله استفاده می شود . این ماژول می تواند حداکثر تا فاصله 4 متر را با دقت 5 میلیمتری اندازه بگیرد . از این ماژول می توان در سیستم های اندازه گیری فاصله استفاده کرد. جهت راه اندازی این ماژول نیازی به هیچ المان خارجی نیست و می توان آن را مستقیما به MCU متصل کرد .
پین های ماژول US-015 :
این ماژول دارای 4 پین به صورت زیر می باشد :
1- VCC پین تغذیه ماژول است .
2- Trig این پین جهت فعال سازی و ارسال امواج توسط ماژول می باشد .
3- Echo این پین هنگام دریافت پژواک تغییر وضعیت می دهد .
4- gnd پین زمین ماژول می باشد .
مشخصات :
- ولتاژ کاری 5 ولت
- عملکرد به صورت آلتراسونیک
- جریان مصرفی در حالت آماده به کار کمتر از 3mA
- رنج اندازه گیری فاصله از 2 سانتی متر تا 4 متر
- دقت اندازه گیری 5mm
- زاویه انتشار 15 درجه
- تاخیر انتشار 10us
راه اندازی ماژول US-015 توسط آردوینو :
این ماژول دارای چهار پین است که دو پین آن تغذیه و پین های دیگر Echo و Trig است . برای اندازه گیری فاصله باید پین Trig را به مدت 10 میکرو ثانیه 1 شود ، در این حالت پین Echo از 0 به 1 تغییر حالت می دهد و تا دریافت پژواک در حالت 1 باقی می ماند و می توان با اندازه گیری زمان یک بودن پین Echo فاصله تا جسم را محاسبه کرد .
در مثال زیر با استفاده از آردوینو ابتدا پین Trig به مدت 10us یک می شود و سپس مدت زمان یک بودن پین Echo اندازه گیری می شود . با استفاده از سرعت صوت در هوا می توان مقدار فاصله را بر حسب سانتیمتر به دست آورد .
#define trigPin 11
#define echoPin 12
#define led 11
#define led2 10
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW); // Added this line
delayMicroseconds(2); // Added this line
digitalWrite(trigPin, HIGH);
// delayMicroseconds(1000); - Removed this line
delayMicroseconds(10); // Added this line
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 4) { // This is where the LED On/Off happens
digitalWrite(led,HIGH); // When the Red condition is met, the Green LED should turn off
digitalWrite(led2,LOW);
}
else {
digitalWrite(led,LOW);
digitalWrite(led2,HIGH);
}
if (distance >= 200 || distance <= 0){
Serial.println("Out of range");
}
else {
Serial.print(distance);
Serial.println(" cm");
}
delay(500); {



