راه اندازی سنسور PIR با آردوینو

11

در این پروژه از سایت اِمیک, با نحوه کار و راه اندازی سنسور PIR با استفاده از برد آردوینو UNO آشنا خواهید شد. این سنسور در بهینه سازی انرژی در ساختمانها، دزد گیرها و موارد دیگر کاربرد دارد. قبلا این سنسور را با استفاده از میکروکنترلر AVR نیز راه اندازی کرده بودیم که می تونید این پست را در اینجا مشاهده کنید.
سنسور PIR به هر جسم متحرکی که داری حرارت باشد واکنش نشان می دهد, این جسم متحرک می تواند انسان یا حیوان باشد. حتی شما می توانید برای تست این پروژه یک لیوان آب جوش را در بالای این سنسور حرکت داده و شاهد روشن و خاموش شدن LED به کار رفته در این پروژه باشید.

به جای LED می توانید از یک بازر(Buzzer) استفاده کنید, در صورت استفاده از بازر به جای روشن و خاموش شدن LED در صورت حرکت جسم متحرک, صدای بوق را خواهید شنید.

برخی از کاربردهای سنسور PIR :

  • سیستم های امنیتی و ساخت دزدگیر
  • روشن نمودن چراغ های منازل ، پارگینگ ، ساختمان و… به صورت هوشمند و بر اساس تشخیص حرکت
  • کنترل و اتوماسیون صنعتی
  • سیستم های هشدار دهنده
  • درب های اتوماتیک
  • نور پردازی هوشمند
  • و …

pir-sensor-500x500-EMIC

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

PIR-Sensor-Pinout-emic

در پشت ماژول سنسور PIR یک جامپر قرار دارد، که دارای دو وضعیت L و H می باشد. در وضعیت L با تست سنسور متوجه خواهید شد که اگر دستتان را به طور پیوسته در جلوی سنسور به حرکت در آورید، خروجی به طور پیوسته High (یک منطقی) نخواهد بود و هر یک یا دو ثانیه LOW و High خواهد شد.  که به این حالت اصطلاحا “non-retriggering” می گویند.

در وضعیت H با ایجاد حرکت پیوسته در جلوی سنسور، خروجی نیز به طور پیوسته High خواهد ماند. که به این حالت اصطلاحا “retriggering” می گویند.

تنظیم حساسیت، فاصله قابل تشخیص توسط ماژول را تنظیم می کند که عددی حدودا بین 3 الی 7 متر خواهد بود.

تنظیم زمان، زمان High بودن خروجی پس از تشخیص حرکت را بین 5 الی 300 ثانیه تنظیم می کند.

شماتیک پروژه راه اندازی سنسور PIR با آردوینو UNO :

pir-sensor-Arduino-emic

اتصال ماژول PIR به برد اردوینو بسیار ساده می باشد. با توجه به اینکه خروجی این ماژول به صورت دیجیتال است (یا صفر منطقی است یا یک منطقی)، لذا تنها کاری که لازم است انجام دهیم این است که همواره بررسی کنیم پین خروجی ماژول در چه وضعیتی قرار دارد. در ادامه شماتیک این پروژه را مشاهده می کنید:

sh-pir-sensor-Arduino-emic

عملکرد این پروژه به این صورت است که برد اردوینو همواره خروجی ماژول را چک کرده و در صورتی که خروجی ماژول یک منطقی یا High شود, LED متصل به پین 0 از برد اردوینو روشن می شود و همچنین روی LCD کاراکتری عبارت “Motion detected” نمایش داده می شود.

در صورتی که سنسور حرکتی را تشخیص ندهد خروجی ان صفر یا Low خواهد بود که در این حالت LED خاموش و روی LCD کاراکتری متن “motionless” نمایش داده می شود.

پتانسیومتر RV1 برای تنظیم کنتراست LCD کاراکتری می باشد, در صورتی که پتانسیومتر نداشتید می تونید پین 3 ال سی دی کاراکتری را به زمین (منفی تغذیه) متصل کنید.

برنامه :

توضیحات قسمت های مهم برنامه نوشته شده, اگر سوالی داشتید می تونید در قسمت نظرات مطرح کنید.

کلیپ تست عملی پروژه :

 

دانلود فایل ها

پسورد فایل زیپ : www.emic.ir

نظر یادتون نره…

11 دیدگاه‌ها

  1. ببخشید من یه اردوینو نانو دارم و طبق تصویر قطعات را به هم وصل کردم و برنامه رو روش اپلود کردم ولی نشد و نمی دونم چرا هر سنسوری رو بهش وصل می کنم و برنامشو روش اپلود می کنم بازم کار نمی کنه.شما می دونید مشکل از کجاست؟

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

  2. سلام خسته نباشید،فایل اردویینو رو با پسوند هگز باید ذخیره کنیم برای استفاده در پروتئوس؟به من اخطار مده و میگه فرمتش اشتباهه
    ممنون میشم اگه راهنماییم کنین

    • سلام, برای شبیه سازی در پروتئوس بله باید از فایل هگز استفاده کنید. وقتی که در محیط اردوینو روی Verify کلیک می کنید, فایل هگز برنامه تولید می شود و از قسمت پیام های پایین صفحه (همون کادر مشکی انتهای برنامه) می تونید ادرس محل ذخیره فایل هگز را پیدا کنید و برای شبیه سازی استفاده کنید.

  3. سلام وقتتون بخیر..یه سوالی داشتم .میخوام با سنسور حرکتی پانزده تا ال ای دی رو روشن کنم . ولی میخوام معکوس عمل کنه یعنی وقتی که حرکتی رو سنس کرد ال ای دی ها خاموش بشن..اولش اینکه با اردوینو این امکان وجود داره یا نه..و اگر شد ایا یک برد اردوینو میتونه پانزده تا چراغ رو ساپورت بکنه یا نه…/..ممنون میشم راهنمایی کنین.

    • سلام, بله می تونید با برد اردوینو انجام بدید. به راحتی با استفاده از یک ترانزیستور در حالت سوئیچینگ که به پین مورد نظرتون در برد اردوینو متصل است می تونید ledها را روشن کنید

  4. سلام
    فقط یه چیز دیگه که اون ۳۰۰ میلی ثانیه مال چیه ال سی دی یا مدت زمان فعال بودنِ خروجی سنسور یا یه چیز دیگه
    من به دنبال تنظیم کردن زمان فعال شدن ال ای دی هستم که رله وصل کنم بهش و آژیر رو به صدا در بیارم؛ چون اون پتانسیومتر های روی خود ماژول زمان کمی داره و برای من جوابگو نیست
    میشه یه خط برنامه دیگه روش تنظیم کرد تا زمان رو با میکرو تنظیم کنم؟؟
    ممنون میشم به ایمیلم ارسال کنید با تشکر از سایت شفافتون 😉راهنمایی کنید…
    حتما
    یاعلی

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

  5. با سلام
    امیک،،راهنمایی شیک…
    شما یه سایتی رو برا من بگیر بیارین که این قدر واضح و شفاف همه چیز رو بگه!!
    شماتیک نقشه رو داده؛
    توضیح کامل رو داده؛
    کد رو بدون قرار دادن توی پی دی اف و یه سری چیزای دیگه که باعث سر درگُمی کاربر بشه، نوشته،
    حتی معنیه کد رو نوشته؛ بابا از این دیگه بهتر…؟
    تازه ب ای مبتدیان هم خوبه که اول از راه آسون وارد الکترونیک و آردوینو بشن نه این باباشون سوخته شه تا یه چیزی یاد بگیرن…
    از امیک ممنون…
    یاعلی

ارسال دیدگاه

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید