ماژول آلتراسونیک تشخیص فاصله SRF05 Ultrasonic
ماژول آلتراسونیک تشخیص فاصله SRF05 Ultrasonic
ماژول SRF05 Ultrasonic یک سنسور فاصله مبتنی بر فناوری آلتراسونیک است. این ماژول قادر است با استفاده از امواج فراصوتی، فاصله بین خود و یک مانع را اندازهگیری کند. از این ماژول میتوان در پروژههای رباتیک، خودروهای هوشمند، سیستمهای امنیتی و سایر برنامههایی که نیاز به اندازهگیری دقیق فاصله دارند، استفاده کرد.عملکرد این ماژول بر اساس ارسال پالسهای آلتراسونیک و دریافت بازتاب آنها استوار است. هنگامی که پالسی توسط ماژول ارسال میشود، آن پالس به مانع برخورد میکند و بازتاب مییابد. ماژول سپس زمانی که بازتاب پالس را دریافت میکند، مدت زمانی که بین ارسال و دریافت پالس گذشته است را اندازهگیری میکند. با استفاده از سرعت صوت در هوا و مدت زمان گذشته، فاصله بین ماژول و مانع محاسبه میشود.ماژول SRF05 Ultrasonic دارای ویژگیهایی مانند دقت بالا، قابلیت اندازهگیری فواصل در بازههای مختلف، قابلیت تنظیم زمان ارسال پالس و توان خروجی قابل تنظیم است. این ماژول به ولتاژ 5 ولت تغذیه میشود و خروجیهای آن به صورت پالسی (PWM) ارائه میشوند.
ویژگی ماژول SRF05 Ultrasonic
- ولتاژ تغذیه: 5 ولت DC.
- جریان مصرفی: حدود 15 میلی آمپر.
- محدوده اندازهگیری فاصله: حدود 2 سانتیمتر تا 4 متر.
- دقت اندازهگیری: ±3 میلیمتر.
- زمان پاسخگویی: حدود 65 میکروثانیه.
- خروجی: پالس PWM با نیروی خروجی تنظیم شده قابل تنظیم بین 147 میکروثانیه تا 18.5 میلی ثانیه.
- رابط کنترل: رابط سریال (Serial).
- ارتباط: ماژول SRF05 قابلیت ارتباط با میکروکنترلرها و بردهای توسعه مختلف را دارد.
- پینهای ورودی و خروجی: ماژول دارای پینهای Trigger (تریگر)، Echo (اکو) و Vcc (تغذیه) است.
بررسی پایه های ماژول SRF05 Ultrasonic
- Vcc: این پین برای تغذیه ماژول استفاده میشود. باید به منبع تغذیه 5 ولت DC متصل شود.
- Trigger: این پین مسئول ارسال پالس آلتراسونیک برای اندازهگیری فاصله است. برای ارسال پالس، باید به طور کوتاه پین را به زمین (GND) متصل کنید.
- Echo: پین Echo برای دریافت بازتاب پالس آلتراسونیک استفاده میشود. این پین خروجی متناظر با پالس دریافتی است که میتوانید آن را با استفاده از میکروکنترلر یا وسیله دیگری تحلیل کنید.
- GND: این پین به زمین متصل میشود و به عنوان نقطه مرجع برای تغذیه و سیگنالهای ماژول عمل میکند.
- OUT: این پین از نسخههای جدیدتر ماژول SRF05 حمایت میکند و عملکردی مشابه پین Trigger دارد. برای استفاده از آن، باید پین را به زمین (GND) متصل کرده و سپس آن را با یک پالس به مدت کوتاهی بر روی ولتاژ Vcc ببرید.
محاسبه فرمول فاصله توسط SRF05
برای محاسبه فاصله با استفاده از ماژول SRF05 Ultrasonic، میتوانید از فرمول زیر استفاده کنید:
فاصله (Distance) = زمان پاسخگویی (Response Time) × سرعت صوت در هوا (Speed of Sound) / 2
در اینجا، فاصله به واحد مورد نظر شما (مثلاً سانتیمتر یا متر)، زمان پاسخگویی به واحد ثانیه و سرعت صوت در هوا به واحد متر بر ثانیه میباشد.سرعت صوت در هوا در دمای معمولی حدود 343 متر بر ثانیه است (ممکن است با توجه به شرایط محیطی متغیر باشد). همچنین، زمان پاسخگویی را باید به واحد ثانیه تبدیل کنید.برای مثال، اگر زمان پاسخگویی 0.05 ثانیه باشد، میتوانیم فاصله را به صورت زیر محاسبه کنیم:
فاصله = 0.05 × 343 / 2 = 8.575 متر
به همراه ماژول آلتراسونیک SRF05 چه اقلامی باید خریداری شود؟
- برد آردوینو
- سایر میکروکنترلرها مانند ESP32, ESP8266
- کابل فلت
- برد بورد
- ال سی دی یا OLED
راه اندازی ماژول آلتراسونیک SRF05 با آردوینو
در ادامه یک کد آردوینو برای استفاده از ماژول SRF05 Ultrasonic به منظور اندازهگیری فاصله نوشته شده است. ابتدا پینهای تریگر و اکو را تعریف شده و سپس در تابع setup، سرعت ارتباط سریال را به 9600 بیت بر ثانیه تنظیم میشود و پینها را به عنوان ورودی و خروجی تعریف میکند.در تابع loop، یک پالس آلتراسونیک تولید و بر روی پین تریگر ارسال میشود. سپس با استفاده از تابع pulseIn، زمان پاسخگویی پالس بازتابی را اندازهگیری میکند. با استفاده از فرمول محاسبه فاصله، فاصله را به سانتیمتر محاسبه میکند و در مانیتور سریال چاپ میکند. در انتها، با استفاده از تابع delay، یک تاخیر یک ثانیه تنظیم شده است.در ادامه، میتوانید کد آردوینو را بهبود ببخشید و عملکرد بیشتری به آن اضافه کنید. به عنوان مثال، میتوانید محدوده اندازهگیری را کنترل کنید و اعلانهایی را بر اساس فاصله دریافتی نمایش دهید.
const int triggerPin = 2; // پین تریگر به پین 2 آردوینو متصل شود
const int echoPin = 3; // پین اکو به پین 3 آردوینو متصل شود
void setup() {
Serial.begin(9600);
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
long duration, distance_cm;
// تولید پالس آلتراسونیک
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
// محاسبه زمان پاسخگویی
duration = pulseIn(echoPin, HIGH);
// محاسبه فاصله
distance_cm = duration * 0.034 / 2;
// چاپ فاصله در مانیتور سریال
Serial.print("فاصله: ");
Serial.print(distance_cm);
Serial.println(" سانتیمتر");
delay(1000); // تاخیر 1 ثانیه
}
راه اندازی ماژول آلتراسونیک SRF05 با میکروپایتون
با میکروپایتون، میتوانید از زبان Python برای برنامهنویسی میکروکنترلرهایی مانند ESP8266 یا ESP32 استفاده کنید. در ادامه، یک نمونه کد میکروپایتون برای استفاده از ماژول SRF05 Ultrasonic برای اندازهگیری فاصله آورده شده است.در این کد، از کتابخانه machine برای کنترل پینها و توابع زمانسنجی استفاده میشود. پین تریگر به عنوان خروجی تنظیم شده است و پین اکو به عنوان ورودی تنظیم شده است.سپس، در یک حلقه بینهای بینهایت، پالس آلتراسونیک تولید شده و زمان پاسخگویی آن اندازهگیری میشود. با استفاده از فرمول محاسبه فاصله، فاصله در سانتیمتر محاسبه میشود و چاپ میشود. در نهایت، با استفاده از تابع time.sleep، یک تاخیر یک ثانیه تنظیم شده است.
import machine
import time
trigger_pin = machine.Pin(2, machine.Pin.OUT) # پین تریگر به پین 2 میکروکنترلر متصل شود
echo_pin = machine.Pin(3, machine.Pin.IN) # پین اکو به پین 3 میکروکنترلر متصل شود
while True:
# تولید پالس آلتراسونیک
trigger_pin.on()
time.sleep_us(10)
trigger_pin.off()
# محاسبه زمان پاسخگویی
pulse_time = machine.time_pulse_us(echo_pin, 1)
# محاسبه فاصله
distance_cm = pulse_time * 0.034 / 2
# چاپ فاصله
print("فاصله:", distance_cm, "سانتیمتر")
time.sleep(1) # تاخیر 1 ثانیه
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- نوع ماژول
- فاصله سنج - آلتراسونیک
- تعداد قطعات
- 47 عدد
- ابعاد فیبر
- 4.5 * 2 سانتی متر
- سطح تجربه مورد نیاز
- پیشرفته
- ولتاژ مورد نياز
- 5 ولت DC
- فیبر مدار چاپی
- فایبرگلاس دو رو متالیزه
- جریان
- 2 میلی آمپر
- چاپ مس
- دارای چاپ آبی
- تعداد پایه ها
- 4 عدد
- ترتیب پایه ها
- چاپ شده بر روی فیبر
- نوع کانکتور
- پین هدر
- محدوده دید
- 2 تا 450 سانتی متر
- نوع اسیلاتور
- کریستال خارجی
- ماژول sim800l
- سیم کارت
- منبع تغذیه
- آنتن GSM
- کابل USB به سریال
- خازن 1000 میکروفاراد
- ماژول کاهنده LM2596
ولقطعات مورد نیاز برای راه اندازی ماژول sim800l عبارتند از:
توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.