راه اندازی سنسور اولتراسونیک HC-SR04 توسط رزبری پای Raspberry Pi

قفل دیجیتال در با استفاده از آردوینو Arduino
جولای 29, 2017
کنترل LED توسط ESP8266 با استفاده از وب سرور
جولای 19, 2017
نمایش همه

راه اندازی سنسور اولتراسونیک HC-SR04 توسط رزبری پای Raspberry Pi

سنسور اندازه گیری فاصله اولتراسونیک فاصله بین منبع و مقصد را توسط موج های اولتراسونیک تخمین می زند. این سنسور برای اندازه گیری فواصل نزدیک مناسب است و از محاسن آن این است که گوش انسان قادر به شنیدن این امواج فراصوت نیست.

سنسور HC-SR04 برای اندازه گیری فواصل بدون وجود مانع 2cm تا 400cm استفاده می شود. این ماژول دارای فرستنده و گیرنده اولتراسونیک و یک مدار کنترل است. نحوه عملکرد ماژول به این صورت است که میزان اختلاف زمان ارسال و دریافت سیگنال محاسبه می شود و به راحتی از روی آن مسافت قابل محاسبه خواهد بود.

زمان/فاصله = سرعت

ماژول HC-SR04

این ماژول دارای چهار پین است که در شکل زیر قابل مشاهده است.

  • Vcc توان ورودی، 5V
  • TRIG ورودی Trigger
  • ECHO خروجی Echo
  • GND زمین یا Ground

نحوه عملکرد ماژول HC-SR04 در شکل زیر نمایش داده شده است.

  • سیگنال Trigger موردنیاز یک سیگنال High با کمترین زمان  10uS می باشد.
  • این سیگنال باعث می شود تا ماژول یک قطار پالس 40KHz اولتراسونیک ارسال کند.
  • اگر در مقابل ماژول مانعی وجود داشته باشد امواج اولتراسونیک منعکس می شوند.
  • اگر سیگنال برگشت، خروجی Echo، به مدت زمان ارسال و دریافت مقدار یک به خود خواهد گرفت، مقدار پالس می تواند از مقدار 150uS تا 25mS باشد و اگر مانعی وجود نداشته باشد این مقدار حدودا 38mS خواهد بود.

مقسم ولتاژ

خروجی Echo مقدار 5V می باشد در حالی که پین های ورودی GPIO رزبری پای مقدار 3.3V است بنابراین مقدار 5V را مستقیما نمی توان به GPIO رزبری پای داد بنابراین از مقسم ولتاژ زیر استفاده می کنیم.

همانطور که می دانیم فرمول از رابطه زیر به دست می آید.

(Vout = Vin x R2/(R1+R2

مدار

محاسبه فاصله

زمان اندازه گیری شده برای ارسال و دریافت می باشد، از این رو برای محاسبه فاصله نصف این زمان باید محاسبه شود.

2/زمان * سرعت = فاصله

سرعت صوت نیز تقریبا 343m/s یا 34300cm/s می باشد. بنابراین فرمول از رابطه زیر حاصل می شود.

زمان * 17150= فاصله (برحسب cm)

کالیبره کردن سنسور

برای اینکه بتوانیم با سنسور فاصله را با دقت بیشتری اندازه گیری کنیم می توانیم برای کالیبراسیون از یک خط کش استفاده کنیم. در برنامه زیر به جهت کالیبراسیون 0.5cm اضافه شده است.

برنامه Python

برنامه زیر را اجرا می کنیم.

خروجی

خروجی هر سه ثانیه یک بار اندازه گیری شده و نمایش داده می شود.

برای افزایش دقت می توانید

  • از برنامه C به جای Python استفاده کنید.
  • سنسور دارای زاویه پهنی می باشد بنابراین سعی کنید اجسامی در نزدیکی وجود نداشته باشد.
  • سنسور اولتراسونیک هر محیطی را لمس کند فاصله اش را اندازه می گیرد بنابراین ممکن است اطلاعات اشتباهی نیز بدهد.

این مطلب را به اشتراک بگذارید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*