قطعات الکترونیک مدارهای الکترونیک پروژه های آردوینو

آموزش راه اندازی ماژول تشخیص حرکت hc sr501 با استفاده از آردوینو

آموزش راه اندازی ماژول تشخیص حرکت hc srf501
نوشته شده توسط علیرضا قربانی

به نام خدا . در سری آموزش های پروژه محور آردوینو اینبار قصد به آموزش و راه اندازی ماژول تشخیص حرکت  PIR hc sr501  داریم . در ادامه با دیجی اسپارک همراه باشید.

hc sr501 یک ماژول تشخیص حرکت انسان می باشد . این ماژول با کمک یک کلاهک که بر روی آن قرار دارد کلیه اواج فروسرخ را بر روی سنسور خود متمرکز میکند.سنسور PIR که مخفف شده عبارت Passive Infra Red به معنی تاثیر پذیر از نور مادون قرمز می باشد. به عبارتی اساس کار این سنسور بر اساس تشخیص نور مادون قرمز است. در اثر حرارت بدن این نور توسط سنسور PIR قابل تشخیص می باشد. از این رو در سیستم های حفاظتی و امنیتی از سنسورهای PIR جهت تشخیص حرکت استفاده می کنند. خروجی این ماژول به صورت  ۰ و ۳٫۳ ولت TTL می باشد میتواند که به طور مستقیم به میکروکنترلر یا آردوینو متصل شود وحرکت را تشخیص دهد.

سخت افزار مورد نیاز

ماژول تشخیص حرکت PIR hc sr501

برد آردوینو Arduino UNO

 

ویژگی‌های ماژول تشخیص حرکت PIR

ولتاژ ۵ تا ۲۰ ولت DC

مسافت تحت پوشش ۳ تا ۷ متر قابل تنظیم از روی ماژول به وسیله ی پتانسیومتر

تعیین زمان high بودن خروجی پس از تشخیص حرکت به وسیله ی پتانسیومتر

زاویه تشخیص ۱۲۰ درجه

 

کاربردهای ماژول تشخیص حرکت PIR

سیستم نورپردازی هوشمند

در های اتوماتیک

ساخت دزد گیر و وسایل امنیتی

اتوماسیتون صنعتی و …

 

توضیحات ماژول تشخیص حرکت PIR

ماژول تشخیص حرکت PIR hc sr501 دارای دو مد کارای No Reset , Auto Reset  می‌باشد که با لحیم کردن پد L به پد وسط در حالت  No reset  و با لحیم کردن پد H به پد وسط در حالت Auto reset قرار میگیرد .برای کانفیگ کردن ماژول تشخیص حرکت PIR hc sr501 ابتدا می بایست این ماژول را در محیطی بدون حرکت به مدت ۱۰ الی ۶۰ ثانیه قرار دهیم.

آموزش راه اندازی ماژول تشخیص جرکت hc sr501

آموزش راه اندازی ماژول تشخیص حرکت hc sr501

به وسیله ی پتانسیومتر sx میتوان فاصله ی قابل تشخیص توسط ماژول را تعیین کرد که حدودا برار ۳ الی ۷ متر می باشدد

به وسیله ی پتانسیومتر tx میتوان زمان high بودن خروجی را بین ۵ الی ۲۰۰ ثانیه تنظیم نمود.

برنامه

شیوه ی کلی بناممه این گونه است که ابتدا ماژول به مدت ۱۰ ثانیه با محیط اطرف خود کانفیگ میشود. سپس وضعیت پین OUT که به پین شماره ۲ آردوینو متصل شده است را بررسی می‌کنیم. اگر این پین در وضعیت HIGH قرار گیرد بدین معنی است که حرکتی رخ داده است.

آموزش راه اندازی ماژول تشخیص حرکت hc sr501 با استفاده از آردوینو

آموزش راه اندازی ماژول تشخیص حرکت hc sr501 با استفاده از آردوینو

آموزش راه اندازی ماژول تشخیص حرکت hc sr501 با استفاده از آردوینو

آموزش راه اندازی ماژول تشخیص حرکت hc sr501 با استفاده از آردوینو

آموزش راه اندازی ماژول تشخیص حرکت hc sr501 با استفاده از آردوینو

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

علیرضا قربانی

علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

تبادل نظر و رفع عیب با ثبت دیدگاه

۳۷ دیدگاه

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

  • سلام ایا من میتوانم از این ماژول روی برد اردوینو مگا ۲۵۶۰ استفاده کنم یا خیر .
    در کل تفاوت برد مگا با اونو چیست؟

  • […] نوشته اصلی توسط payam سلام دوستان ، میخواستم بدونم ماژول سنسور حرکت مادون قرمز hc-sr501 فقط حرکت بدن انسان یا هر شی که دمای بخوصصوی داره رو تشخیص میده؟؟ یعنی مثلا اگر یک دری جابجا بشه تشخیص نمیده؟ راستی میخوساتم بدونم فرق این سنسور از نظر عملکرد با سنسور تشخیص حرکت مادون قرمز EL-55 در چیست ؟ لینک زیر شاید بتونه کمکتون کنه آموزش راه اندازی ماژول تشخیص حرکت hc sr501 با استفاده از آر… […]

  • من میخوام با استفاده از این ماژول یه مداری بسازم که وقتی حرکتی بود دزدگیر به صدا در بیاد تو محیط code vision
    چطوری میتونم برنامه اش رو بنویسم؟

  • با سلام و تشکر از آموزشتون
    می‌خواستم بدونم که میشه این ماژول رو به Raspberry Pi متصل کرد؟
    اگه نه یه توضیح مختصر و اگه آره بازم یه توضیح مختصر بدین که چرا و چگونه!!!
    ممنون

  • اگه بخواهیم که این سنسور فقط به حرارت بدن انسان حساس باشه باید چیکار کرد؟
    آیای سنسور دیگه ای هست که این کار رو انجام بده؟

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

    • با سلام
      ضمن تشکر از توجه شما، بله چنین سنسوری وجود دارد، که دارای سنسور حرارتی دقیق‌تری هستند.

  • سلام.
    تو این سناریو اینجوریه که تعریف میکنیم “اگه حرکتی دیده شد, کاری انجام بده(مثلا چراغ روشن شه). و با یک تاخیر چراغ خاموش بشه” ممکنه دراین زمان همچنان حرکت باشد,
    چطور میشه تعریف کرد که ” تا زمانیکه حرکت هست, چراغ روشن بمونه و بعد از رفتن جسم یا انسان, بعد از زمان مشخصی, چراغ خاموش شه”
    با تشکر

    • با سلام
      ضمن تشکر از توجه شما، در این خصوص نمیتوان از این سنسور استفاده کرد. چون برای اینکه مداوم سنجش محیطی انجام دهد ساخته نشده است. البته میتوانید در تنظیمات سخت افزاری برد که با پتانسیومتر است، انتخاب کنید هر چند ثانیه یکبار مجددا تشخیص حرکت را انجام دهد. در این صورت میتوان در کدها تایم تعریف کرد که به هنگام تشخیص حرکت تا زمان مشخصی مدار روشن بماند و سپس در اون زمان مجددا حرکت دیده میشود که تایمر از اول شروع میشود و این چرخه تا زمانی که حرکت هست، ادامه دارد.

    • با سلام و تشکر از توجه شما
      در خصوص کدهایی که ارسال کرده‌اید، اگر تمایل دارید در دیجی اسپارک منتشر کنید، میتوانید زیر نظر تیم تحریریه و تولید محتوا دیجی اسپارک این کار را انجام دهید. در غیر این صورت ما پروژه را منتشر میکنیم و فقط اشاره به ارسال کننده خواهیم داشت. خواهشمندم در صورت تمایل از طریق کامنت در ادامه اعلام بفرمایید. تا روند کار اعلام شود.

      • سلام
        اتفاقا بنده خوشحال میشوم تا پروژ] هامو با شما به اشتراک بزارم
        بنده شغلمم برنامه نویسی تحت وب هستش . و با وردپرس هم اشنایی کاملی دارم
        الان دارم پروژه ی iot ای مینویسم و تو قسمتیش به مشکل خوردم
        میخوام سنسور تشخیص جرکت اضافه کنم به این کدهام ولی هرکاری میکنم درست کار نمیکند
        https://1drv.ms/u/s!Ahl0PabGfqIru3KRYUBmO7i-9hWf
        لینک کد
        ممنون میشم کمک کنید

  • سلام.
    من این سنسور رو راه اندازی کردم.و با آردوینو و ماژول سیمکارت خور a6 ترکیب کردم و یه دزدگیر ساختم.فقط تنها مشکلی که دارم اینه که ماژول بعضا اشتباه تشخیص میده.یعنی با اینکه کسی از جلوش رد نمیشه ،ماژول اشتباهی حرکت تشخیص میده و اس ام اس میاد برام.شاید در عرض ۳/۴ ساعت ۲۰ بار اشتباه تشخیص داد.به نظرتون میشه این مشکل رو حل کرد؟

    • با سلام
      بسیار عالی، اگر تمایل دارید می‌توانید پروژه‌تان را در دیجی اسپارک منتشر کرده و مشکلات کاربران دیگر را هم حل بفرمایید. در خصوص سنسور PIR دارای دو عدد پتانسیومتر است. یکی از پتانسیومترها برای تعیین حساسیت می‌باشد. از طریق پتانسیومتر تغییر دهید و سپس موارد را اطلاع رسانی کنید.

      • در خصوص انتشار پروژه با کمال میل این کار رو انجام میدم.
        و امام مشکل بنده:
        یکی از پتانسیومتر ها که Delay هست فکر نکنم مرتبط باشه.ولی اون یکی که حساسیت رو تنظیم میکنه رو خیلی دستکاری کردم ولی نتیجه ای نداد.
        بعضی از سایت ها پیشنهاد داده بودن که از مقاومت PullUp استفاده بشه .اون رو هم امتحان کردم ولی جواب نداد.

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

        • سلام، این مشکل میتونه چندین دلیل داشته باشه.

          اولا توجه داشته باشید که اگر از آردویینویی استفاده میکنین که در اون از میکروکنترلر avr استفاده شده، میکروکنترلر ساختار cmos داره و در ساختار cmos با ولتاژ تغذیه ۵ ولت، ورودی یک منطقی از ۳٫۵ ولت الی ۵ ولت در نظر گرفته میشه و ولتاژهای مابین ۱٫۵ ولت الی ۳٫۵ به عنوان ناحیه گذار یا حاشیه نویز در نظر گرفته میشن و هر ولتاژی که در این بازه به آردویینو داده بشه، آردویینو به صورت تصادفی ۰ و یک منطقی تولید میکنه . خروجی سنسور تشخیص حرکت هم ۳٫۳ ولت هست که تو ناحیه گذار یا حاشیه نویز میکروکنترلر برد آردویینو قرار میگیره. برای رفع این مشکل یا می بایست از آی سی های تغییر سطح ولتاژ استفاده کنین یا از راه ساده تری مثل اندازی گیری ولتاژ سنسور توسط واحد آنالوگ به دیجتال داخلی برد آردویینو استفاده کنین.

          مورد بعدی، نویز الکترومغناطیسی یا emi منتشر شده توسط ماژول gsm هست. برای رفع این مشکل باید این نویز رو کم اثر یا به طور کامل برطرف کرد. برای این منظور می بایست ماژول مخابراتی رو خاموش کنین تا اثر نویزش بر سنسور تشخیص حرکت تاثیر نذاره، سپس وقتی که حرکت تشخیص داده شده، ماژول مخابراتی رو روشن کنین و اس ام اس بفرستین. برای خاموش کردن ماژول هم میشه از روش نرم افزاری استفاده کرد و یک روش سخت افزاری..

          در روش نرم افزاری ابتدا ماژول رو با دستور at+cfun=0 خاموش کنین، سپس هر وقت که حرکتی تشخیص دادین ماژول رو با دستور at+cfun=1 روشن کنین و به مدت یک دقیقه صبر کنین تا به شبکه متصل بشه و بعد و پیامک بفرستین

          در روش سخت افزاری می بایست ماژول را با یک ترانزیستور خاموش کنین و بعد زمانیکه که حرکت تشخیص داده شده، ماژول رو روشن کنین و پیامک بفرستین

          در این روش بهتره از یک ترانزیستور ماسفت با شماره irf840 استفاده کنین و ماسفت رو به صورت open drain قرار بدین. بدین صورت که ابتدا یکی از پایه های آردویینو رو به صورت خروجی تعریف کنین، سپس پایه گیت ماسفت رو به پایه ای از اردویینو که به صورت خروجی تعریف کردید، متصل کنین، اتصال زمین ماژول مخابراتی رو از زمین مشترک مدار جدا کنین، پایه درین ماسفت رو به زمین ماژول مخابراتی یا همون gnd متصل کنین و پایه سورس ماسفت رو به زمین مشترک مدار متصل کنین، یه مقاومت ۱۰ کیلو هم از پایه خروجی آردویینو که به گیت ماسفت متصل هست به صورت پول دان کنین. در این حالت در ابتدا وضعیت پایه خروجی رو در حالت صفر قرار بدید، سپس بعد از اینکه حرکت تشخیص داده شده پایه رو یک کنین که با این کار ماژول روشن میشه، سپس به مدت تقریبا یک دقیقا صبر کنین و بعد پیامک رو ارسال کنین.