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

آموزش سنسور PIR با آردوینو

مقدمه

به «راهنمای جامع استفاده از ماژول‌های PIR» خوش آمدید. در این آموزش، به نحوه استفاده از ماژول‌های حسگر مادون قرمز پَسیو (PIR) خواهیم پرداخت. ماژول‌های PIR نقشی اساسی در فناوری تشخیص حرکت، سیستم‌های امنیتی، روشنایی هوشمند، اتوماسیون خانگی و فراتر از آن دارند. چه یک مبتدی باشید یا یک توسعه‌دهنده باتجربه -که به دنبال ارتقای پروژه‌های خود است- این راهنما به گونه‌ای طراحی شده است که درک کاملی از ماژول‌های PIR در اختیار شما قرار دهد. پس از مطالعه این آموزش، می‌توانید از آنها به طور موثر در برنامه‌های خود استفاده کنید.

آنچه در این آموزش یاد می‌گیرید

• آشنایی با ساختار و نحوه عملکرد سنسورهای PIR
• استفاده از ماژول سنسور PIR به صورت مستقل
• استفاده از ماژول سنسور PIR با آردوینو

سنسور PIR چیست؟

ماژول حسگر مادون قرمز پَسیو (PIR) نوعی حسگر تشخیص حرکت است که از اثر پیروالکتریک (pyroelectric) برای تشخیص تغییرات در تابش مادون قرمز در میدان دید خود استفاده می‌کند.

همه اشیاء و موجودات زنده، منبع اشعات مادون قرمز هستند؛ چشم انسان‌ها نمی‌تواند آنها را ببیند. بعضی از آنها، ساطع‌کننده این نوع امواج هستند و بعضی دیگر، منعکس‌کننده. سنسورهای PIR برای تشخیص حرکت، از اندازه‌گیری شدت این نوع اشعه در محیط استفاده می‌کند.

ساختار اکثر این نوع سنسورها به شکل زیر است:

  • سنسور پیروالکتریک: سنسور پیروالکتریک جزء اصلی ماژول حسگر PIR است که معمولاً از مواد پیروالکتریک مانند لیتیوم تانتالات یا لیتیوم نیوبات ساخته شده است. تابش اشعه مادون قرمز بر روی این سنسور، باعث تولید ولتاژ در خروجی آن می‌شود.
  • لنز: سنسورهای PIR اغلب شامل یک لنز فرنل (Fresnel) یا انواع دیگری از لنزها هستند که تابش مادون قرمز را روی سنسور پیروالکتریک متمرکز می‌کنند. طراحی لنز به افزایش میدان دید و حساسیت سنسور کمک می‌کند.
  • مدار تشخیص حرکت: بارهای الکتریکی تولید شده توسط سنسور پیروالکتریک توسط یک مدار تشخیص، پردازش می‌شود. این مدار وظیفه تفسیر سیگنال‌ها و ایجاد تغییر وضعیت بر اساس حرکت شناسایی شده را بر عهده دارد. درباره اجزای مدار تشخیص حرکت، در ادامه آموزش توضیحاتی ارائه خواهد شد.

نحوه عملکرد سنسورهای PIR

اصل کار یک سنسور PIR مبتنی بر اثر پیروالکتریک است. این پدیده، باعث ایجاد اختلاف پتانسیل (ولتاژ) در خروجی سنسور می‌شود. در اینجا توضیح گام به گام نحوه عملکرد این سنسور آورده شده است:

مواد پیروالکتریک: همانطور که اشاره کردیم، جزء کلیدی یک سنسور PIR، ماده پیروالکتریک است. با اعمال اشعه مادون قرمز به این سنسور، مواد به کار رفته در آن به شکل دو قطبی در می‌آیند.

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

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

مدار تشخیص: ولتاژ ایجاد شده توسط سنسور، توسط یک مدار الکترونیکی تقویت می‌شود. به عنوان مثال، در سنسورهای 2 کاناله، الکترودها به گونه‌ای سیم کشی شده‌اند که در حالت عادی، یکدیگر را خنثی می‌کنند. این کار به آن دلیل است که ما به دنبال کشف تغییرات در سطح اشعه مادون قرمز هستیم (نه سطح دائمی آن در محیط).

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

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

نقش لنز فرسنل (Fresnel) در ماژول‌های PIR

بر روی ماژول‌های PIR یک قاب سفید رنگی قرار دارد. در نگاه اول، شاید به نظر آید که این قاب، نقش مهمی در عملکرد سنسور نداشته باشد. این قاب در واقع همان لنز فرسنل است. این لنز، نقش مهمی در عملکرد یک سنسور PIR دارد. اثر اصلی آن تمرکز و افزایش توانایی تشخیص سنسور است.

در تصویر زیر، نحوه ایجاد یک لنز فرسنل و ساختار آن را مشاهده می‌کنید.

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

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

اگر با نگاهی دقیق‌تر به لنز Fresnel بنگرید، متوجه خواهید شد که این سنسور دارای تقسیم بندی ناحیه‌ای است که هرکدام از این نواحی دارای ساختار لنز Fresnel است. به تصویر زیر دقت کنید.

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

انواع ماژول‌های PIR

در تصویر زیر، انواع ماژول‌های PIR را مشاهده می‌کنید.

Sensors
اگر تفاوت‌ها در ابعاد را در نظر نگیریم، همگی آنها عملکرد یکسانی دارند. تنها تفاوت بین آنها، چیدمان پین‌اوت است.
مدل دقیق آنها، به ترتیب از بالا سمت چپ به راست، به ترتیب زیر است. با کلیک بر روی هر یک از آنها می‌توانید مشخصات دقیق آنها را مطالعه کنید.

  • ماژول سنسور تشخیص حرکت D203S PIR
  • ماژول سنسور تشخیص حرکت مادون قرمز SR602
  • ماژول سنسور تشخیص حرکت مادون قرمز HC-SR505
  • ماژول سنسور تشخیص حرکت مادون قرمز HC-SR501
  • ماژول سنسور تشخیص حرکت PIR 5050 دارای کیس

همگی آنها مشخصات مشابهی دارند. تنها دو مورد ردیف دوم، کمی با بقیه متفاوت هستند. مدل HC-SR501، دارای تنظیمات حساسیت و تایمر است و مدل 5050 دارای کیس، ورودی و خروجی 12 تا 24 ولت را پشتیبانی می‌‌کند.

در این آموزش، با توجه به کاملتر بودن مدل HC-SR501، این ماژول را معرفی کرده و نحوه کار کردن با آن را توضیح می‌دهیم.

معرفی ماژول PIR مدل HC-SR501

HC-SR501 یک ماژول حسگر مادون قرمز پسیو (PIR) محبوب و پرکاربرد است که به دلیل سادگی، مقرون به صرفه بودن و کارایی مناسب در تشخیص حرکت شناخته شده است. اندازه کوچک و طراحی فیزیکی این ماژول به شما این امکان را می‌دهد که به راحتی از آن در پروژه خود استفاده کنید.

استفاده از این سنسور بسیار ساده است. تنها با اعمال ولتاژ تغذیه 4.5 تا 20 ولت، روشن شده و در صورت تشخیص حرکت، خروجی 1 منطقی را بر روی پایه OUT ایجاد می‌کند.

در تصویر زیر، شماتیک کلی این ماژول را مشاهده می‌کنید.

اجزای مختلف ماژول PIR مدل HC-SR501

در این قسمت، اجزا و قطعات به کار رفته در برد ماژول PIR مدل HC-SR501 را به شما معرفی می‌کنیم.
با توجه به تصویر فوق، دو پتانسیومتر و یک جامپر بر روی برد این ماژول قرار دارد که برای تنظیم نحوه عملکرد ماژول استفاده می‌شوند. در ادامه، نقش هر یک را برای شما توضیح می‌دهیم.

پتانسیومترهای Delay و Sensitivity

دو پتانسیومتر روی برد به شما این امکان را می‌دهد که حساسیت و زمان تاخیر را پس از تشخیص حرکت تنظیم کنید. یکی از آنها، حداکثر محدوده تشخیص را تعیین می‌کند. حساسیت را می‌توان در محدوده تقریباً 3 متر تا 7 متر (9 تا 21 فوت) تنظیم کرد. با این حال توپولوژی (چیدمان) اتاق شما می‌تواند بر محدوده واقعی تحت کنترل تأثیر بگذارد. چرخاندن این پتانسیومتر در جهت عقربه‌های ساعت، باعث افزایش حساسیت می‌شود و بالعکس.

پتانسیومتر دیگری که بر روی برد قرار دارد، برای کنترل مدت زمان تاخیر بعد از فعال شدن سنسور است. این پتانسیومتر تعیین می‌کند که پس از تشخیص حرکت، چه مدت خروجی در حالت HIGH باقی بماند. این مقدار را می‌توان از 1 ثانیه تا حدود 3 دقیقه تنظیم کرد. چرخاندن پتانسیومتر در جهت عقربه‌های ساعت تاخیر را افزایش می‌دهد و بالعکس.

جامپر Trigger Mode

علاوه بر پتانسیومترها، یک جامپر 2 حالته بر روی برد قرار دارد که حالت تریگر خروجی را تعیین می‌کند.

اگر جامپر را روی حالت L یا Single trigger mode قرار دهید، خروجی به محض تشخیص حرکت، HIGH می‌شود و برای مدتی که توسط پتانسیومتر تأخیر زمانی تعیین شده، در حالت HIGH باقی می‌ماند و در این مدت زمان، حرکت جدیدی تشخیص داده نخواهد شد. پس از گذشت مقدار زمان تاخیر و تغییر وضعیت خروجی به حالت LOW، اگر همچنان حرکتی در محیط وجود داشته باشد خروجی بلافاصله بعد از تشخیص توسط سنسور، مجدد HIGH می‌شود.

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

حال اگر این جامپر را بر روی حالت H یا Multiple trigger mode قرار دهید، خروجی به محض تشخیص حرکت، HIGH می‌شود و برای مدتی که توسط پتانسیومتر تأخیر زمانی تعیین شده، در حالت HIGH باقی می‌ماند. برخلاف حالت L، تشخیص حرکت متوقف نمی‌شود و با هر بار تشخیص حرکت، تاخیر زمانی بازنشانی می‌شود. بعد از تشخیص آخرین حرکت، خروجی ماژول به مدت تاخیر زمانی تنظیم شده، HIGH می‌ماند و بلافاصله LOW می‌شود.

نحوه عملکرد آن را می‌توانید در تصویر زیر مشاهده کنید.

پردازشگر BISS0001

در قلب این ماژول، یک IC کنترل‌کننده مادون قرمز پسیو BISS0001 قرار دارد. BISS0001 به دلیل ایمنی در برابر نویز، یکی از پایدارترین کنترلرهای PIR موجود است.

این تراشه خروجی را از سنسور پیروالکتریک گرفته و پردازش‌های جزئی روی آن انجام می‌دهد تا یک پالس خروجی دیجیتال ایجاد کند.

اجزای اختیاری ماژول HC-SR501

ماژول HC-SR501، پدهای لحیم‌‌کاری برای دو جزء اضافی دارد. آنها معمولاً با عنوان “RT” و “RL” بر روی برد مشخص شده‌اند. ادوات اختیاری که می‌توانید به این دو قسمت لحیم کنید، ترمیستور و LDR است. توضیحات مربوط به هر کدام از آنها به شرح زیر است:

  • RT: این قسمت برای ترمیستور یا مقاومت حساس به دما است. اضافه کردن این قطعه به HC-SR501، به کاربر اجازه می‌دهد تا از این ماژول PIR در دماهای بالاتر استفاده کند و افزایش دقت آشکارساز را به همراه داشته باشد.
  • RL: این قسمت برای مقاومت وابسته به نور (LDR) یا مقاومت نوری است. افزودن این قطعه، به HC-SR501 اجازه می‌دهد تا این ماژول تنها در تاریکی کار کند. می‌توانید از این گزینه برای ساخت سیستم روشنایی حساس به نور محیط استفاده کنید.

این اجزای اضافی را می‌توان مستقیماً به ماژول لحیم کرد یا با استفاده از سیم‌ها و کانکتورها، با فاصله از آن نصب کرد.

دو نکته مهم در استفاده از ماژول سنسور PIR مدل HC-SR501

زمان قفل (Locked out time)

وقتی خروجی سنسور LOW می‌شود، حسگر حرکتی حدود 2 ثانیه در این حالت قفل می‌شود.

به عنوان مثال، فرض کنید تاخیر زمان سنسور را بر روی 4 ثانیه و جامپر را روی L تنظیم کرده‌اید. هنگامی که دست خود را در مقابل سنسور تکان می‌دهید، خروجی به مدت 4 ثانیه HIGH و سپس LOW می‌شود. پس از آن، به مدت 2 ثانیه، حسگر هیچ حرکتی را تشخیص نخواهد داد. همانطور که در تصویر فوق می‌بینید حرکت شماره 2 در اینجا نادیده گرفته شده است.

تاخیر در راه‌اندازی اولیه

مانند اکثر سنسورهای PIR، HC-SR501 حدودا 30 تا 60 ثانیه برای راه‌اندازی اولیه خود نیاز دارد. در این زمان، با الگوی مادون قرمز محیط وفق پیدا کرده و خود را با محیط اطراف کالیبره می‌کند تا مشخص کند چه چیزی به عنوان یک «حرکت» شناسایی شود.

در این مدت، ممکن است خروجی سنسور به اشتباه HIGH شود. بنابراین هرگونه محرکی در این مدت باید نادیده گرفته شود. همچنین وقتی سنسور در حال کالیبراسیون است نباید حرکت زیادی در جلوی آن وجود داشته باشد زیرا ممکن است در فرآیند کالیبراسیون اختلال ایجاد کند.

در ادامه، نحوه راه‌اندازی و استفاده از آن را آموزش خواهیم داد.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز ​

راه‌اندازی ماژول سنسور PIR مدل HC-SR501 با آردوینو و ESP32

گام اول: سیم‌بندی

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

همچنین در صورت استفاده از بردهای ESP32/8266، آن را به صورت شکل زیر به ماژول PIR وصل کنید.

گام دوم: کد

کد زیر را روی برد آردوینو آپلود کنید.

/*
  by MajidMerati
   at https://electropeak.com/learn/
*/

#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328PB__) ||defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
const int PIR = 2;
#elif defined(ESP32)
const int PIR = 26;
#endif

const int LED = LED_BUILTIN;

bool PIRstate = 0;

void setup() {

  pinMode(PIR, INPUT);
  pinMode(LED, OUTPUT);
}

void loop() {

  PIRstate = digitalRead(PIR);

  if (PIRstate == HIGH) {
    // turn LED on:
    digitalWrite(LED, HIGH);
  } else {
    // turn LED off:
    digitalWrite(LED, LOW);
  }
}
C++

پس از آپلود کد، در صورت حرکت در مقابل سنسور، LED موجود بر روی برد روشن می‌شود.

راه‌اندازی ماژول سنسور PIR مدل HC-SR501 به صورت مستقل

گام اول: سیم‌بندی

مطابق مدار زیر، ماژول PIR مدل HC-SR501 را به ماژول رله تک کانال وصل کنید.

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

یک گام جلوتر

در این آموزش، با ساختارو عملکرد انواع ماژول‌های PIR آشنا شدید. همچنین به طور خاص، با نحوه راه اندازی ماژول PIR مدل HC-SR501 نیز آشنا شدید.

این نوع ماژول‌ها در هوشمند‌سازی اماکن و اینترنت اشیاء (IoT) کاربرد بسیار فراوانی دارند. می‌توانید با فراگیری تکنیک‌های مختلف، از این نوع ماژول، در کاربردها و مکان‌های مختلف استفاده کنید.

آموزش های مشابه

Comments (5)

  • شهریار Reply

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

    جولای 25, 2020 at 3:21 ب.ظ
    • Mohammad Damirchi Reply

      امکان دارد آردوینو شما دچار مشکل شده است
      برای تست میتواند ار برنامه firmata استفاده نمایید

      جولای 26, 2020 at 3:32 ب.ظ
  • شهریار Reply

    ممنون از راهنمایی شما با تشکر

    جولای 27, 2020 at 5:02 ب.ظ
  • شهریار Reply

    اگه میشه در مورد خود این برنامه firmata و روش نصبش توضیح بدید با تشکر

    جولای 27, 2020 at 5:26 ب.ظ
    • مهران ملکی Reply

      سلام
      از لینک زیر نرم افزار firmata را بر اساس سیستم عاملتون دانلود کنید و آن را اجرا کنید.
      http://firmata.org/wiki/Main_Page
      برد آردوینو را به سیستم متصل کنید. در نرم افزار Arduino IDE از قسمت File/Examples/Firmata برنامه StandardFirmata را باز کنید و آن را به روی برد آردوینو آپلود کنید. سپس در نرم افزار firmata دانلود شده می توانید پایه های آردوینو را مستقیما کنترل کرده و تست کنید.
      برای اطلاعات بیشتر می توانید از لینک داده شده استفاده کنید.

      دسامبر 5, 2020 at 11:19 ق.ظ

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

نشانی ایمیل شما منتشر نخواهد شد.