🔊 راهنمای کامل ماژول اولتراسونیک SRF05 — سنجش دقیق فاصله با امواج صوتی
معرفی ماژول SRF05
ماژول SRF05 یکی از محبوبترین حسگرهای سنجش فاصله با امواج اولتراسونیک (Ultrasonic Distance Sensor) است که در پروژههای رباتیک، آردوینو (Arduino)، اتوماسیون صنعتی و هوش مصنوعی به کار میرود. این ماژول با استفاده از امواج فراصوتی فاصله میان سنسور و مانع را اندازهگیری کرده و آن را به صورت دقیق در خروجی دیجیتال ارائه میدهد.
SRF05 نسل بهبود یافتهی SRF04 است؛ دقت بالاتر، امکان پشتیبانی از دو حالت Trigger/ Echo مجزا یا ترکیبی، و برد بیشتر (تا حدود 4متر) از جمله ویژگیهای کلیدی آن هستند.
⚙️ نحوه عملکرد ماژول SRF05
عملکرد این ماژول بر پایهی قانون فیزیکی انعکاس موج صوتی است. وقتی میکروکنترلر پالس "Trigger" را ارسال میکند، مبدل فرستنده یک موج صوتی با فرکانس حدود 40 کیلوهرتز منتشر میکند. این موج پس از برخورد به جسم، بازتاب یافته و توسط گیرنده سنجیده میشود.
مدت زمان بین ارسال و دریافت موج اندازهگیری میشود و با استفاده از فرمول زیر، فاصله محاسبه میگردد:
\[
\text{Distance (cm)} = \frac{\text{Time (µs)}}{58}
\]
یا در حالت میلیمتری:
\[
\text{Distance (mm)} = \frac{\text{Time (µs)}}{5.8}
\]
در واقع، این سنسور میسنجد که موج صوتی چه مدت زمان برای رفت و برگشت طی کرده و سپس نصف آن را (فقط مسیر رفت) ملاک محاسبه قرار میدهد.
🧩 پینآوت (Pinout) ماژول SRF05
| پین | نام | توضیح عملکرد |
| +5V | VCC | تغذیه |
| Trigger | TRIG | سیگنال ارسال پالس صوتی |
| Echo | ECHO | دریافت پالس بازتابی |
| Optional | OUT | حالت ترکیبی Trigger/Echo واحد (انتخابی) |
| Ground | GND | زمین مدار |
💡 تفاوت اصلی SRF05 با SRF04 وجود همین پین OUT است که امکان استفاده از حالت تکپینی برای سنجش سریع را میدهد.
📡 ویژگیها و مشخصات فنی
| ویژگی | مقدار |
| ولتاژ کاری | 5 ولت DC |
| جریان مصرفی | حدود 15 میلیآمپر |
| فرکانس کاری | 40kHz |
| محدوده اندازهگیری | 2سانتیمتر تا 400 سانتیمتر |
| زاویه دید | حدود 15 درجه |
| دقت اندازهگیری | تا ±3 میلیمتر |
| سازگاری | Arduino، STM32، Raspberry Pi، Orange Pi، ESP32 و... |
این دقت باعث شده SRF05 یکی از پرکاربردترین سنسورها در زمینه رباتهای پرهیز از مانع، اندازهگیری حجم مایع، یا سیستمهای هوشمند اندازهگیری مکانیکی باشد.
🔌 اتصال SRF05 به آردوینو
اتصال SRF05 به Arduino بسیار ساده است. کافیست از پنج سیم استفاده کنید.
اتصالات نمونه:
| Arduino Uno | SRF05 |
| 5V | VCC |
| GND | GND |
| Pin 9 | TRIG |
| Pin 10 | ECHO |
نمونه کد آردوینو:
```cpp
// --- Ultrasonic Distance Sensor SRF05 Example ---
// Written by Mahsa / ChatGPT-5 for TopRoll Electronics Blog
#define TRIG_PIN 9
#define ECHO_PIN 10
void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration / 58.0; // cm
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
```
این کد فاصله را بر حسب سانتیمتر به طور پیوسته چاپ میکند و بهآسانی قابل توسعه است.
🧠 نکات حرفهای برای افزایش دقت اندازهگیری
1. نویز محیطی را کاهش دهید: امواج فراصوت تحت تأثیر سروصدای زیاد یا جریان هوا ممکن است دچار خطا شوند.
2. زاویه مناسب نصب: برای بیشترین دقت، سنسور باید عمود بر سطح جسم قرار گیرد.
3. میانگینگیری چند قرائت: با میانگین گرفتن از چند اندازهگیری پیاپی، میتوان نوسانات را حذف کرد.
4. استفاده از آنتیرفلکس فوم: در سطوح بازتابی (مثل فلز براق)، یک فوم نازک باعث کاهش اختلال میشود.
5. دمای محیط: سرعت صوت با دما تغییر میکند؛ در محیطهای صنعتی بهتر است الگوریتم تصحیح دما در نرمافزار لحاظ شود.
🔍 مقایسه SRF05 با سنسورهای مشابه
| مدل | بیشترین برد | دقت | تعداد پین | نقطه قوت |
| 4 | ±5mm | 200cm | SRF04 | ساده و ارزان |
| SRF05 | 400cm | ±3mm | 5 | دقیقتر و سریعتر |
| HC-SR04 | 400cm | ±3mm | 4 | رایج و در دسترس |
| JSN-SR04T (ضدآب) | 450cm | ±5mm | 4 | مقاوم در برابر رطوبت |
SRF05 گزینهای میانرده اما پایدار برای پروژههای صنعتی-آموزشی محسوب میشود و در بسیاری از رباتهای داخلی ایران نیز به عنوان جایگزین HC-SR04 استفاده میگردد.
💡کاربردهای ماژول SRF05
- رباتهای تعقیب مسیر و اجتناب از مانع
- اندازهگیری سطح مخزن مایع
- تعیین فاصله خودرو تا مانع (پارکیار)
- پروژههای تحقیقاتی دانشگاهی
- سیستمهای هوشمند خانگی (Smart Home)
- اندازهگیری عمق و ارتفاع در تجهیزات صنعتی
این دامنه وسیع کاربرد باعث محبوبیت SRF05 در میان توسعهدهندگان سیستمهای تعبیهشده و طراحان رباتیک شده است.
🏁 جمعبندی نهایی ماژول اولتراسونیک دقیق
اگر به دنبال یک ماژول اولتراسونیک دقیق، مقرونبهصرفه و قابل اعتماد هستید، SRF05 از بهترین گزینههاست.
این ماژول ترکیبی از سادگی، کارایی بالا، دقت عالی و سازگاری گسترده با انواع بردها (Arduino، Raspberry Pi، STM32 و ...) را فراهم میکند.
در پروژههای صنعتی یا آموزشی، با بهرهگیری از کالیبراسیون نرمافزاری، میتوان دقت را تا میلیمتر افزایش داد.
انتخاب هوشمندانهای برای هر کسی که به دنبال سنجش فاصله با عمق درک واقعی از سختافزار است!
