رله DIY برای سنسور حرکت پیر. درباره سنسور حرکت و اتصال آن به آردوینو

رله DIY برای سنسور حرکت پیر. درباره سنسور حرکت و اتصال آن به آردوینو

نمای کلی سنسور فضایی HC-SR501

ماژول حسگر حرکت (یا حضور) HCSR501 بر اساس اثر پیرو الکتریک شامل یک سنسور PIR 500BP (شکل 1) با عایق الکتریکی اضافی روی تراشه BISS0001 و یک لنز فرنل است که برای افزایش شعاع دید و تقویت مادون قرمز استفاده می شود. سیگنال (شکل 2). این ماژول برای تشخیص حرکت اجسامی که تابش مادون قرمز ساطع می کنند استفاده می شود. عنصر حساس ماژول یک سنسور PIR 500BP است. اصل کارکرد آن بر پایه pyroelectricity است. این پدیده ظاهر شدن میدان الکتریکی در کریستال ها هنگام تغییر دمای آنها است.

عملکرد سنسور توسط تراشه BISS0001 کنترل می شود. دو پتانسیومتر روی برد وجود دارد که با اولی می توانید فاصله تشخیص جسم (از 3 تا 7 متر) را تنظیم کنید، با دومی می توانید تاخیر را پس از اولین فعال سازی سنسور (5 تا 300 ثانیه) تنظیم کنید. ماژول دارای دو حالت L و H است. حالت عملکرد با استفاده از یک جامپر تنظیم می شود. حالت L - حالت تک حرکت، هنگامی که یک جسم متحرک شناسایی می شود، خروجی OUT برای زمان تاخیر تعیین شده توسط پتانسیومتر دوم روی یک سطح سیگنال بالا تنظیم می شود. در این مدت سنسور به اجسام متحرک پاسخ نمی دهد. از این حالت می توان در سیستم های امنیتی برای ارسال آلارم به آژیر استفاده کرد. در حالت H، هر بار که حرکت تشخیص داده می شود، سنسور فعال می شود. از این حالت می توان برای روشن کردن چراغ ها استفاده کرد. هنگامی که ماژول روشن می شود، کالیبره می شود؛ مدت زمان کالیبراسیون تقریباً یک دقیقه است، پس از آن ماژول آماده کار است. توصیه می شود سنسور را دور از منابع نور باز نصب کنید.

شکل 1. سنسور PIR 500BP

شکل 2. لنز فرنل

مشخصات HC-SR501

  • ولتاژ تغذیه: 4.5-20 ولت
  • مصرف جریان: 50 میلی آمپر
  • ولتاژ خروجی: بالا - 3.3 ولت، پایین - 0 ولت
  • فاصله تشخیص: 3-7 متر
  • مدت زمان تاخیر پس از فعال سازی: 5 - 300 ثانیه
  • زاویه دید تا 120
  • زمان مسدود کردن تا اندازه گیری بعدی: 2.5 ثانیه.
  • حالت های عملیاتی: L - تک ماشه، H - راه اندازی با هر رویداد
  • دمای کارکرد -20 تا 80+C
  • ابعاد 32x24x18 میلی متر

اتصال سنسور حرکت مادون قرمز به آردوینو

ماژول دارای 3 خروجی است (شکل 3):
  • VCC - منبع تغذیه 5-20 ولت؛
  • GND - زمین؛
  • OUT - خروجی دیجیتال (0-3.3V).

شکل 3. تخصیص پین و تنظیم HC-SR501

بیایید ماژول HC-SR501 را به برد آردوینو وصل کنیم (نمودار اتصال در شکل 4) و یک طرح ساده بنویسیم که با یک سیگنال صوتی و یک پیام به پورت سریال هنگام شناسایی یک جسم متحرک سیگنال می دهد. برای ثبت عملیات توسط میکروکنترلر، از وقفه های خارجی در ورودی 2 استفاده می کنیم. این یک وقفه int0 است.

شکل 4. نمودار اتصال برای اتصال ماژول HC-SR501 به برد آردوینو

بیایید طرح را از لیست 1 در برد آردوینو آپلود کنیم و ببینیم سنسور چگونه به موانع واکنش نشان می دهد (شکل 5 را ببینید). بیایید ماژول را روی حالت عملکرد L تنظیم کنیم. فهرست 1 // طرحی برای بررسی سنسور حرکت/حضور HC-SR501 // سایت // مخاطب برای اتصال خروجی سنسور #define PIN_HCSR501 2 // trigger flag boolean flagHCSR501=false; // پین اتصال بلندگو int soundPin=9; // فرکانس سیگنال صدا int freq=587; void setup() (// مقداردهی اولیه پورت سریال Serial.begin(9600)؛ // شروع پردازش وقفه int0 attachInterrupt(0, intHCSR501,RISING)؛ ) void loop() ( if (flagHCSR501 == true) (/ / پیام در پورت سریال Serial.println("توجه!!!")؛ // زنگ صدا برای 5 ثانیه تن (soundPin,freq,5000)؛ // بازنشانی پرچم ماشه flagHCSR501 = false; ) ) // وقفه در پردازش خالی intHCSR501() (// تنظیم پرچم ماشه حسگر flagHCSR501 = true؛ )

شکل 5. خروجی مانیتور پورت سریال

با استفاده از پتانسیومترها، مدت زمان سیگنال در خروجی OUT و حساسیت سنسور (فاصله تثبیت شی) را آزمایش می کنیم.

مثال استفاده

بیایید نمونه ای از ارسال پیامک زمانی که یک حسگر حرکت/حضور در یک شی محافظت شده فعال می شود ایجاد کنیم. برای این کار از محافظ GPS/GPRS استفاده خواهیم کرد. ما به قطعات زیر نیاز خواهیم داشت:
  • برد آردوینو Uno
  • سپر GSM/GPRS
  • ترانزیستور NPN، به عنوان مثال C945
  • مقاومت 470 اهم
  • بلندگو 8 اهم 1 وات
  • سیم ها
بیایید نمودار اتصال را مطابق شکل مونتاژ کنیم. 6.

شکل 6. نمودار اتصال

هنگامی که سنسور فعال می شود، روش ارسال اس ام اس با یک پیام متنی را فراخوانی می کنیم حضور داشته باشیدیون!!!به شماره PHONE محتویات طرح در فهرست 2 ارائه شده است. سپر GSM/GPRS در حالت ارسال پیامک تا 2 آمپر جریان مصرف می کند، بنابراین از منبع تغذیه خارجی 12 ولت 2 آمپر استفاده می کنیم. فهرست 2 // طرح 2 برای بررسی سنسور حرکت/حضور HC-SR501 // ارسال پیامک هنگام فعال شدن سنسور // سایت // تماس برای اتصال خروجی سنسور #define PIN_HCSR501 2 // trigger flag boolean flagHCSR501 false; // پین اتصال بلندگو int soundPin=9; // فرکانس سیگنال صدا int freq=587; // کتابخانه SoftwareSerial #include // شماره تلفن برای ارسال پیامک #define PHONE "+79034461752" // خروجی برای SoftwareSerial (شما ممکن است 2،3) SoftwareSerial GPRS(7, 8) داشته باشید. void setup() ( // مقداردهی اولیه پورت سریال Serial.begin(9600)؛ // شروع پردازش وقفه int0 attachInterrupt(0, intHCSR501,RISING)؛ // برای تبادل با سپر GPG/GPRS GPRS.begin(19200); ) void loop() (اگر (flagHCSR501 == true) (// پیام به پورت سریال Serial.println("توجه!!!")؛ // زنگ صدا برای تون 5 ثانیه (soundPin,freq,5000) ; // ارسال پیامک SendSMS(); // بازنشانی پرچم ماشه flagHCSR501 = false; ) ) // پردازش وقفه void intHCSR501() (// تنظیم پرچم ماشه حسگر flagHCSR501 = true; ) // زیر برنامه برای ارسال پیامک Sms void Send () (// حالت متنی تنظیمات فرمان AT GPRS.print("AT+CMGF=1\r")؛ تاخیر(100)؛ // شماره تلفن GPRS.print("AT + CMGS = \"")؛ GPRS. print(PHONE)؛ GPRS. println("\""); delay(200); // GPRS message.println("توجه!!!")؛ تاخیر(200)؛ // کد اسکی ctrl+z - پایان GPRS transmission.println((char) 26); delay(200); GPRS.println(); )

سوالات متداول سوالات متداول

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

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

1. اصل عملکرد سنسورهای حرکت پیروالکتریک

پیروالکتریک ها دی الکتریک هایی هستند که با تغییر دمایشان میدان الکتریکی ایجاد می کنند. سنسورهای اندازه گیری دما بر اساس پیرو الکتریک ساخته می شوند، به عنوان مثال، LHI778 یا IRA-E700. هر یک از این سنسورها شامل دو عنصر حسگر به ابعاد 1x2 میلی متر است که با قطبیت مخالف متصل هستند. و همانطور که بعدا خواهیم دید، وجود دقیقاً دو عنصر به ما در تشخیص حرکت کمک می کند. این همان چیزی است که سنسور Murata IRA-E700 به نظر می رسد. در این درس با سنسور حرکتی HC-SR501 کار خواهیم کرد که یکی از این سنسورهای پیروالکتریک را نصب کرده است. پیرو الکتریک از بالا توسط یک نیمکره احاطه شده است که به چندین بخش تقسیم شده است. هر بخش از این کره یک عدسی است که تابش حرارتی را بر روی مناطق مختلف سنسور PIR متمرکز می کند. اغلب از لنز فرنل به عنوان لنز استفاده می شود.
اصل کار سنسور حرکت به شرح زیر است. بیایید فرض کنیم که سنسور در یک اتاق خالی نصب شده است. هر عنصر حساس دوز ثابتی از تابش را دریافت می کند، به این معنی که ولتاژ دو طرف آنها مقدار ثابتی دارد (شکل سمت چپ).
به محض ورود فرد به اتاق، ابتدا وارد منطقه مشاهده اولین عنصر می شود که منجر به ظاهر شدن یک ضربه الکتریکی مثبت روی آن می شود (شکل مرکزی). شخص حرکت می کند و تابش حرارتی او از طریق لنزها به عنصر دوم PIR می رسد که یک ضربه منفی ایجاد می کند. مدار الکترونیکی سنسور حرکت این تکانه های چند جهتی را ثبت می کند و نتیجه می گیرد که یک فرد وارد میدان دید سنسور شده است. یک پالس مثبت در خروجی سنسور تولید می شود (شکل سمت راست).

2. راه اندازی HC-SR501

در این آموزش از ماژول HC-SR501 استفاده خواهیم کرد. این ماژول بسیار رایج است و به دلیل هزینه کم در بسیاری از پروژه های DIY استفاده می شود. سنسور دارای دو مقاومت متغیر و یک جامپر برای تنظیم حالت است. یکی از پتانسیومترها حساسیت دستگاه را تنظیم می کند. هرچه بزرگتر باشد، سنسور بیشتر می بیند. حساسیت همچنین بر اندازه جسم شناسایی شده تأثیر می گذارد. به عنوان مثال، شما می توانید سگ یا گربه را از تحریک حذف کنید.
پتانسیومتر دوم زمان پاسخ را تنظیم می کند تی . اگر سنسور حرکت را تشخیص دهد، یک پالس مثبت در خروجی با طول تولید می کند تی . در نهایت، سومین کنترل یک جامپر است که حالت سنسور را تغییر می دهد. حامله L سنسور در حال شمارش است تی از همان اولین عملیات فرض کنید می خواهیم نور حمام را کنترل کنیم. با ورود به اتاق، یک شخص سنسور را فعال می کند و چراغ دقیقاً برای مدتی روشن می شود تی . در پایان دوره، سیگنال خروجی به حالت اولیه خود باز می گردد و سنسور پاسخ بعدی را می دهد. حامله اچ سنسور شروع به زمان بندی می کند تی هر بار که حرکت تشخیص داده می شود. به عبارت دیگر، هر حرکت انسانی تایمر شمارش معکوس را بازنشانی می کند تی . به طور پیش فرض، جامپر در حالت است اچ .

3. اتصال HC-SR501 به Arduino Uno

برای اتصال به میکروکنترلر یا مستقیماً به رله، HC-SR501 دارای سه پایه است. طبق طرح زیر آنها را به آردوینو متصل می کنیم:
HC-SR501 GND VCC خارج
آردوینو اونو GND + 5 ولت 2
نمودار شماتیک
ظاهر چیدمان
برنامههمانطور که قبلاً ذکر شد، خروجی دیجیتال سنسور HC-SR501 هنگام فعال شدن، سطح سیگنال بالایی تولید می کند. بیایید یک برنامه ساده بنویسیم که اگر حسگر حرکت را دید "1" و در غیر این صورت "0" را به پورت سریال ارسال می کند. const int movPin = 2 void setup() (Serial.begin(9600); pinMode(movPin, INPUT); ) void loop())(int val = digitalRead(movPin); Serial.println(val); delay(100) ؛ ) برنامه را روی آردوینو بارگذاری کنید و عملکرد سنسور را بررسی کنید. می توانید تنظیمات سنسور را تغییر دهید و ببینید که چگونه این کار بر عملکرد آن تأثیر می گذارد.

4. کنترل نور بر اساس سنسور حرکت

مرحله بعدی یک سیستم سوئیچینگ نور خودکار است. برای کنترل روشنایی اتاق، باید یک رله به مدار اضافه کنیم. ما از یک ماژول رله با حفاظت مبتنی بر اپتوکوپلر استفاده خواهیم کرد که قبلاً در یکی از درس ها در مورد آن نوشتیم (درس در مورد رله). توجه!این مدار لامپ را از شبکه 220 ولت روشن می کند. توصیه می شود قبل از اتصال مدار به منبع تغذیه خانگی، تمام اتصالات را هفت بار بررسی کنید. نمودار شماتیک
ظاهر چیدمان
برنامهحالا بیایید برنامه ای بنویسیم که وقتی سنسور فعال می شود، رله و در نتیجه روشنایی اتاق را روشن کند. const int movPin = 2; const int relPin = 3; void setup() (Serial.begin(9600)؛ pinMode(movPin, INPUT)؛ pinMode(relPin, OUTPUT)؛ ) void loop())(int val = digitalRead(movPin)؛ if (val) digitalWrite(relPin, HIGH ) ؛ else digitalWrite(relPin، LOW)؛ ) برنامه را روی آردوینو بارگذاری کنید، مدار را به دقت به یک شبکه خانگی متصل کنید و عملکرد سنسور را بررسی کنید. نتیجهحسگرهای حرکتی در اطراف ما هستند. به لطف سیستم های امنیتی، آنها را می توان تقریباً در هر اتاق یافت. همانطور که متوجه شدیم، استفاده از آنها بسیار آسان است و به راحتی می توان آنها را در هر پروژه Arduino یا Raspberry Pi ادغام کرد. در اینجا چند موقعیت و مکان وجود دارد که حسگر حرکت می تواند مفید باشد:
  • روشن شدن خودکار نور در ورودی خانه، حمام و توالت، جلوی درب ورودی اتاق؛
  • سیستم دزدگیر در داخل و حیاط؛
  • باز شدن درب اتوماتیک؛
  • فعال سازی خودکار دوربین فیلمبرداری امنیتی
همانطور که در ابتدا ذکر شد، راه های دیگری برای تشخیص حرکت وجود دارد. در درس های بعدی در مورد آنها صحبت خواهیم کرد!

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

چیزی شبیه به این:


آنها به تغییرات تابش در محدوده مادون قرمز، یعنی در قسمت میانی آن - 5-15 میکرون (بدن یک فرد سالم متوسط ​​در محدوده حدود 9 میکرون ساطع می کند) واکنش نشان می دهند. از نقطه نظر کاربر نهایی، چیز بسیار ساده است - یک ورودی برق (معمولا 12 ولت) و یک خروجی رله (معمولا حالت جامد و با تماس های معمولی بسته). یک نفر گرم دزدکی از کنارش گذشت - رله کار کرد. کسالت. اما همه چیز در داخل به این سادگی نیست.
امروز زمان کمی را به تئوری اختصاص خواهیم داد، و سپس یکی از این دستگاه‌ها را استخراج می‌کنیم و آن را نه تنها حسگری می‌کنیم که به واقعیت حرکت واکنش نشان می‌دهد، بلکه جهت حرکت را ثبت می‌کند.

بیایید به تمرینات عملی برویم

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


ما به علائم ریزمدار نزدیک به سنسور پیروالکتریک نگاه می کنیم (فلزی گرد با پنجره - این همان چیزی است که هست) و (اوه، موفق باشید!) معلوم می شود LM324 - یک آپمپ چهارگانه. با بررسی عناصر اطراف، پین op-amp را پیدا می کنیم که به احتمال زیاد برای اهداف ما مناسب است (در مورد من معلوم شد که پایه 1 میکرو مدار است). حالا بهتر است بررسی کنیم که آیا آن را پیدا کرده ایم یا خیر. معمولاً برای این کار از اسیلوسکوپ استفاده می شود. من آن را در دست نداشتم. اما معلوم شد که آردوینو است. از آنجایی که سطح سیگنال پس از تقویت در حد چند ولت است و نیازی به دقت اندازه گیری خاصی نداریم (یک ارزیابی کیفی کافی است)، ورودی های ADC آردوینو کاملاً مناسب هستند. سیم ها را به خروجی آپ امپ و منبع تغذیه منهای لحیم می کنیم و به تخته نان می آوریم. سیم ها نباید بلند باشند. در غیر این صورت، شانس اندازه گیری نه سیگنال سنسور، بلکه چیزی کاملا متفاوت وجود دارد.
حالا بیایید به این فکر کنیم که چقدر سریع باید سیگنال را بخوانیم تا چیزی معقول به دست آوریم. در بالا گفته شد که محدوده فرکانس سیگنال مفید تقریباً به 10 هرتز محدود شده است. با یادآوری قضیه Kotelnikov (یا قضیه Nyquist، هر کدام که ترجیح می دهید)، می توانیم نتیجه بگیریم که اندازه گیری سیگنال با فرکانس بالای 20 هرتز هیچ فایده ای ندارد. آن ها دوره نمونه برداری 50 میلی ثانیه خوب است. ما در حال نوشتن یک طرح ساده هستیم که پورت A1 را هر 50 میلی‌ثانیه می‌خواند و مقدار آن را به سریال می‌ریزد (به بیان دقیق، اندازه‌گیری سیگنال کمتر از هر 50 میلی‌ثانیه اتفاق می‌افتد، زیرا نوشتن در پورت نیز زمان می‌برد، اما برای اهداف ما اینطور نیست. مهم).

مدت طولانی بدون امضا؛ void setup() ( Serial.begin(9600); pinMode(A1, INPUT); time=millis(); ) void loop() ( if ((millis()-time) >= 50) ( Serial.println(analogRead (A1)); ) time=millis();)

ما آن را روشن می کنیم و دستان خود را جلوی سنسور تکان می دهیم (می توانید بدوید، حتی مفیدتر است). در سمت کامپیوتر، داده ها را از پورت در یک فایل تخلیه می کنیم.
stty -F /dev/ttyUSB0 خام ispeed 9600 ospeed 9600 -ignpar cs8 -cstopb -echo cat /dev/ttyUSB0 > output.txt
ما یک نمودار می سازیم (یک ستون با شماره گذاری قرائت ها به فایل اضافه شده است):
gnuplot> "output.txt" را با استفاده از 1:2 با خطوط ترسیم کنید


و ما آنچه را که واقعاً می خواستیم می بینیم - افزایش ولتاژ چند قطبی. هورا، تئوری کار می کند و سیم در جایی که باید باشد لحیم می شود. یک تجزیه و تحلیل ساده (به عبارت دیگر، بررسی) نمودار به ما امکان می دهد نتیجه بگیریم که انحراف سیگنال 150 واحدی از مقدار متوسط ​​را می توان نشانه ای کم و بیش قابل اعتماد از وجود حرکت در نظر گرفت.
بالاخره زمان ساخت یک حسگر جهت حرکت فرا رسیده است.
بیایید نمودار را اصلاح کنیم. علاوه بر سیگنال سنسور آنالوگ، یک جفت LED را به آردوینو وصل می‌کنیم (درگاه‌های 2 و 3، مقاومت‌های محدودکننده جریان را فراموش نکنید) و یک طرح کمی پیچیده‌تر می‌نویسیم.

بسط دادن

int a1; int state2=0; میانگین طولانی = 0; int n=0; بدون امضا طولانی مدت؛ void setup() (pinMode(2, OUTPUT)؛ pinMode(3, OUTPUT)؛ pinMode(A1, INPUT)؛ digitalWrite(2, LOW); digitalWrite(3, LOW)؛ تاخیر (30000)؛ //سنسور من بعد از روشن کردن //قبل از شروع کار به مدت 30 ثانیه کند می شود=millis(); //سیگنال را هزار بار اندازه می گیریم تا //مقدار متوسط ​​آن را محاسبه کنیم // تا چیزی برای شمارش انحرافات از while داشته باشیم (n)<= 1000) { ++n; a1=analogRead(A1); average=average+a1; delay(50); } average=average/1000; //одновременным включением светодиодов //сигнализируем, что система готова digitalWrite(2, HIGH); digitalWrite(3, HIGH); delay(1000); digitalWrite(2, LOW); digitalWrite(3, LOW); time=millis(); } void loop() { //опрашиваем датчик каждые 50 мс if ((millis()-time) >= 50) (//با این عبارت ساده سیگنال آنالوگ // را به یک سیگنال گسسته با مقادیر -1/0/1 a1=(analogRead(A1)-average)/150 تبدیل می کنیم؛ // اگر وجود داشت قطبیت سیگنال را تغییر دهید، سپس // کلید LED مورد نظر (a1) را روشن کنید (مورد 1: if (state2=-1) (digitalWrite(2, HIGH);digitalWrite(3, LOW);) state2= a1؛ break; case -1: if (state2=1) (digitalWrite (2, LOW);digitalWrite(3, HIGH);) state2=a1; break; ) //تکرار اولین بار=millis(); ) )


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


از نتیجه لذت می بریم.

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

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

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

مشخصات فنی اصلی سنسور حرکت آردوینو عبارتند از:

  • منطقه تشخیص برای اجسام متحرک از 0 تا 7 متر است.
  • محدوده زاویه ردیابی - 110 درجه؛
  • ولتاژ تغذیه - 4.5-6 ولت؛
  • جریان عملیاتی - حداکثر 0.05 میلی آمپر؛
  • محدوده دما - از -20 تا +50 درجه سانتیگراد.
  • زمان تاخیر قابل تنظیم از 0.3 تا 18 ثانیه.

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

اصل عملکرد سنسور حرکت در آردوینو به شرح زیر است:

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

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

نمودار اتصال سنسور حرکت به آردوینو

اتصال سنسور پیر به آردوینو کار سختی نیست. اغلب ماژول های دارای سنسورهای حرکتی با سه اتصال در پشت مجهز می شوند. پین اوت هر دستگاه به سازنده بستگی دارد، اما اغلب کتیبه های مربوطه در نزدیکی خروجی ها وجود دارد. بنابراین، قبل از اتصال سنسور به آردوینو، باید با نمادها آشنا شوید. یک خروجی به زمین (GND) می رود، دومی سیگنال لازم را از سنسورها (+5 ولت) ارائه می دهد و سومی یک خروجی دیجیتال است که داده ها از آن گرفته می شود.

اتصال سنسور پیر:

  • "زمین" - به هر یک از کانکتورهای GND آردوینو؛
  • خروجی دیجیتال - به هر ورودی یا خروجی دیجیتال آردوینو.
  • منبع تغذیه - + 5 ولت در آردوینو.

نمودار اتصال سنسور مادون قرمز به آردوینو در شکل نشان داده شده است.

برنامه نمونه

طرح یک کد برنامه است که به بررسی عملکرد سنسور حرکت پس از روشن شدن کمک می کند. ساده ترین مثال او دارای معایب بسیاری است:

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

این معایب با گسترش عملکرد سنسور برطرف می شود.

ساده ترین نوع طرح، که می تواند به عنوان نمونه ای از کار با سنسور حرکت در آردوینو استفاده شود، به شکل زیر است:

#define PIN_PIR 2 #define PIN_LED 13 void setup() (Serial.begin(9600); pinMode(PIN_PIR, INPUT); pinMode(PIN_LED, OUTPUT); ) void loop() ( int pirVal = digitalRead (PIN_PIR. S); println(digitalRead(PIN_PIR)); //اگر حرکت تشخیص داده شود اگر (pirVal) ( digitalWrite(PIN_LED، HIGH); Serial.println ("حرکت شناسایی شد"); تاخیر (2000)؛ ) else ( //Serial.print( "بدون حرکت")؛ DigitalWrite (PIN_LED، LOW)؛ )

گزینه های پروژه ممکن با استفاده از سنسور

سنسورهای PIR در پروژه هایی که وظیفه اصلی دزدگیر تعیین حضور یا عدم حضور یک فرد در یک فضای کاری خاص است، ضروری هستند. به عنوان مثال، در مکان ها یا موقعیت هایی مانند:

  • روشن کردن چراغ در ورودی یا جلوی درب ورودی به صورت خودکار هنگامی که شخصی در آن ظاهر می شود.
  • روشن کردن روشنایی در حمام، توالت، راهرو؛
  • هنگامی که شخصی ظاهر می شود، چه در داخل خانه و چه در منطقه محلی، زنگ هشدار به صدا در می آید.
  • اتصال خودکار دوربین های امنیتی که اغلب مجهز به سیستم های امنیتی هستند.

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

سنسورهای PIR (غیر قرمز غیرفعال) به شما امکان می دهد حرکت را تشخیص دهید. اغلب در سیستم های هشدار استفاده می شود. این سنسورها اندازه کوچکی دارند، ارزان هستند، انرژی کمی مصرف می کنند، به راحتی کار می کنند و عملاً در معرض سایش نیستند. علاوه بر PIR، چنین حسگرهایی را سنسورهای حرکتی پیرو الکتریک و مادون قرمز می نامند.

نیاز به خرید چند سنسور برای استفاده خانگی در صنایع دستی شما بر اساس نور پس زمینه LED وجود داشت.
از آنجایی که مصرف فعلی من نسبتاً کم است و ولتاژ تغذیه 12 ولت است، من سنسورهای حرکتی مادون قرمز پیرو الکتریک فشرده را در محفظه خریداری کردم.

بسته:

من دو سنسور با حساسیت نور قابل تنظیم سفارش دادم:

سنسورها از منبع تغذیه 12 تا 24 ولت پشتیبانی می کنند. آنها در حال حاضر دارای سیم استاندارد به طول حدود 30 سانتی متر با سوکت برای ورودی و خروجی، با تماس مرکزی 2.1 میلی متر هستند، و این یک مزیت بزرگ است. نیازی به لحیم کاری نیست، فقط منبع تغذیه را وصل کرده و استفاده کنید:



خود سنسورها کاملا جمع و جور هستند. ظاهر:





ابعاد:







برای رسیدن به تابلو و تنظیمات، باید کیس را باز کنید. قاب پشتی دارای چفت است و می توان آن را با پیچ گوشتی باز کرد:





تابلو به شکل زیر است:

من یک نمودار از این دستگاه پیدا کردم، ممکن است رتبه بندی ها متفاوت باشد، اما به طور کلی، برای درک اصل کار، درست است:

در اینجا یک تثبیت کننده ولتاژ در ورودی برای تغذیه ریز مدار می بینیم:


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

علاوه بر این، طبق نمودار، یک ترانزیستور اثر میدانی در خروجی وجود دارد که کلید مدار بار قدرت است:

دیتاشیت حداکثر جریان پیوسته را در دمای معمولی اتاق 15 A نشان می دهد، اما از آنجایی که ما خنک کننده ترانزیستوری نداریم، در توان خروجی محدود هستیم.

قلب دستگاه تراشه Biss0001 است. این تراشه یک منبع تشعشع خارجی را درک می کند و حداقل پردازش سیگنال را برای تبدیل آن از آنالوگ به دیجیتال انجام می دهد:



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

حالا بیایید مستقیماً به تنظیمات بپردازیم. من دستگاه را راه اندازی کردم و بر این اساس تنظیم کردم که چه چیزی را بچرخانم و کجا:



زمان از 1 ثانیه تا 500 ثانیه قابل تنظیم است. هنگامی که نوار لغزنده به طور کامل روشن می شود، چراغ به سادگی چشمک می زند.

با توجه به آستانه روشن کردن سنسور، من به طور تجربی کشف کردم که این ولتاژ از 11.5 ولت است، اگر کمتر باشد، سنسور به سادگی روشن نمی شود:

از نمودار مشخص است که ولتاژ خروجی از سنسور کمتر یا مساوی با ورودی است. روی 12 ولت گذاشتم. یک خطا در شکل نشان دادن نادرست منبع تغذیه وجود دارد، بنابراین مصرف خود سنسور البته کمتر است:

در حالت آماده به کار، سنسور 84 µA مصرف می کند و ولتاژ خروجی 170 میلی ولت است.

راستش را بخواهید، پیکربندی سنسور با برداشتن برد بسیار ناخوشایند است، بنابراین من سوراخ هایی روی قاب پشتی ایجاد کردم، و این بسیار بهتر است:

مدار را مونتاژ کردم و همه چیز را تنظیم کردم:

بررسی شد:

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

آیا از خرید راضی هستم - بله. یک دستگاه کامل و با کیفیت بالا.

چیزی که دوست داشتم:
+ حالت عملکرد کاملاً قابل تنظیم
+ حداقل مصرف خود
+ کیفیت ساخت و جمع و جور بودن
+ وضوح عملکرد بدون حذفیات
+.وجود سیم با پریز

چیزی که دوست نداشتم:
- عدم دسترسی مستقیم به تنظیمات بدون جدا کردن کیس (حل شد)
- گوش های نصب بسیار کوچک هستند (ولی بهتر است با چسب دو طرفه نوع 3M بسته شوند)

درپوش سفید سنسور از محفظه مشکی خارج شده است، اما در گزینه بدون سنسور نور مشکی است.

همین.

من قصد خرید +43 را دارم اضافه کردن به علاقه مندی ها من نقد را دوست داشتم +40 +75

© 2023 globusks.ru - تعمیر و نگهداری خودرو برای مبتدیان