مرداد ۶, ۱۳۹۸ سید علی طلاکش الکترونیک, دانش و مهارت بدون دیدگاه
در این ساختنی ، استفاده از سنسور PIR در آردوینو را به شما آموزش میدهیم . با استفاده از این آموزش میتوانید از سنسورهای حرکتی مادون قرمز در پروژههای مختلف الکترونیکی خود استفاده کنید.
قطعات مورد نیاز
- آردوینو Nano R3
- سنسور آرایه حرارتی Devatech TPA81
- سنسور حرکتی PIR مادون قرمز ElectroPeak HC-SR505
- ماژول نمایشگر OLED 128*64
در این ساختنی به شما آموزش داده میشود که چگونه یک ژست را با اجزای ساده مانند سنسور PIR و Arduino Nano بسازید. در پایان این ساختنیمیتوانید:
- برنامههای کاربردی سنسور PIR و چگونگی کارکردن آن را توضیح دهید.
- یک سنسور PIR 8 پیکسل به نام TPA81 را راه اندازی کنید.
- از حسگر PIR برای تشخیص حرکات و ژست توسط Arduino استفاده کنید.
- آشکارساز مناسبی را برای افزایش یا کاهش میزان بلندگوهای خود تنظیم کنید.
سنسور مادون قرمز پسیو: چگونه کار میکند؟
سنسور مادون قرمز پسیو (سنسور PIR) سنسور الکترونیکی است که نور مادون قرمز (IR) ساطع شده از اشیاء در میدان دید خود را اندازه گیری میکند. این سنسورها اغلب در آشکارسازهای حرکتی مبتنی بر PIR استفاده میشود. تمام اشیاء با درجه بالاتر از صفر مطلق انرژی گرمایی را در قالب تابش انتشار میدهند. معمولا این تابش برای چشم انسان قابل مشاهده نیست، زیرا در طول موج مادون قرمز منتشر میشود، اما توسط دستگاههای الکترونیکی طراحی شده برای اهداف مختلف قابل شناسایی است.
اصطلاح پسیو به این واقعیت اشاره دارد که دستگاههای PIR انرژی را برای اهداف تشخیصی تولید یا تابش نمیکنند. آنها به طور کلی با تشخیص اشعه مادون قرمز منتشر شده یا منعکس شده از اشیاء کار میکنند. آنها گرما را تشخیص نمیدهند و یا اندازه گیری نمیکنند.
TPA81 یک ترموپلاستیک تشخیص مادون قرمز در محدوده ۲um-22um است. این طول موج گرمای تابشی است. سنسورهای Pyro-electric که معمولا در آلارمهای سیستمها ضد سرقت و یا برای روشن کردن چراغهای بیرونی استفاده میشوند، مادون قرمز را در همین طول موج تشخیص میدهند. سنسورهای Pyro-electric تنها میتوانند تغییرات گرما را تشخیص دهند – از این رو آنها آشکارسازهای حرکت هستند. اگرچه در این سنسورها در رباتیک نیز استفاده میشود، کاربرد آنها در این صنعت به خاطر عدم تشخیص واندازه گیری دمای یک منبع حرارت ایستا، محدود است. . نوع دیگری از این سنسورها ،سنسورهای آرایه گرمایشی هستند. از این سنسورها در دماسنجهای مادون قرمز بدون تماس استفاده میشود. آنها یک زاویه تشخیص یا میدان دید (FOV) بسیار گسترده در حدود ۱۰۰ درجه دارند و برای بدست آوردن FOV بیشتر از ۱۲ درجه نیاز به پوشش یا لنز دارند. بعضی از آنها یک لنز ساخته شده اند. . اخیرا این دسته سنسورها، در الکترونیک همراه با یک لنز سیلیکون ساخته شده اند. از این نوع سنسور در TPA81 استفاده میشود. این سنسور از ۸ آرایه گرمایشی که در یک ردیف قرار دارند ساخته شده است. TPA81 میتواند به طور همزمان درجه حرارت ۸ نقطه مجاور را اندازه گیری کند. TPA81 همچنین میتواند یک سروو موتور را کنترل کند و یک تصویر حرارتی ایجاد کند. TPA81 میتواند شعله شمع را در محدوده ۲ متری (۶ فوت) تشخیص دهد و از نور محیط تاثیر نمیپذیرد.
سنسورهای PIR شبیه به دوربینهایی هست که فقط میتوانند چیزهای گرم را ببیند. بنابراین TPA81 یک دوربین حرارتی با وضوح ۸ پیکسل است و بدن انسان همواره حرارت از خود ساطع میکند. در حال حاضر، اگر یک سنسور PIR را با یک کنترلر کنترل کنید و چند الگو را برای سنسور PIR تعریف کنید، میتوانید یک آشکارساز حرکتی بسازید.
در این ساختنی هدف ساخت یک سیستم آشکارساز حرکتی با استفاده از PIR و Arduino است. از TPA81 به عنوان PIR استفاده میشود، که کمیگران است، بنابراین اگر میخواهید، برای صرفه جویی در هزینه، از ۸ سنسور ساده PIR بدون سر سفید استفاده کنید. TPA81 پروتکل I2C را پشتیبانی میکند و با Arduino Nano سازگار است. این ساختنی به شما کمک میکند تا اصول اولیه پردازش تصویر و تشخیص حرکت را بیابید.
مدار
اگر میخواهید از ۸ سنسور PIR به جای TPA81 استفاده کنید، باید ۸ سنسور PIR را به یک Board Arduino متصل کنید و آنها را یکی پس از دیگری بخوانید.
استفاده از سنسور PIR در آردوینو
کد برنامه نویسی
برای مدار اول (با استفاده از TPA81)، شما باید کد را در Arduino IDE کپی کنید. ولی ابتدا باید کتابخانه را اضافه کنید و سپس کد را آپلود کنید. کتابخانه TPA81 را از لینک زیر دانلود کنید. اگر اولین بار است که Arduino را اجرا میکنید، فقط این مراحل را دنبال کنید:
- به arduino.cc/en/Main/Software بروید و نرم افزار را دانلود کنید. نرم افزار IDE را مطابق دستورالعمل نصب کنید.
- نرم افزار را اجرا کنید و متن را پاک کنید و کد زیر را در ویرایشگر متن کپی کنید.
- کتابخانهها (دانلود کتابخانهها از لینکهای زیر) فراخوانی کنید. بر روی گزینه افزودن کتابخانه ZIP کلیک کنید و کتابخانهها را اضافه کنید
- برد Arduino Nano را انتخاب کنید.
- Arduino را به کامپیوتر خود وصل کنید و پورت COM را مشخص کنید.
- دکمه آپلود (علامت پیکان) را فشار دهید.
#include"Wire.h" #include"TPA81.h" // Create new TPA81 instance TPA81 tpa; void setup() { Serial.begin(9600); // You need to begin the Wire library to use TPA81 library Wire.begin(); } void loop() { // Print temperature light Serial.print(tpa.getAmbient()); Serial.print(" "); // Print all temperature point for (int i = 1; i <= 8; i++) { Serial.print(tpa.getPoint(i)); Serial.print(" "); } Serial.println(" "); delay(100); }
پس از اجرای این کد، ترمینال سریال را در Arduino IDE باز کنید و دمای ۸ آرایه که توسط TPA81 خوانده میشود، نگاه کنید. . عدد اول در هر خط مربوط به درجه حرارت نهایی است. حالا دست خود را در مقابل سنسور قرار دهید و دمای بدن خود را ببینید. برای تعریف حرکات دست، باید دمای دست خود را بدانید و آن را به عنوان آفست تنظیم کنید. کد بعدی را برای مشاهده حرکت دست خود در مقابل TPA81 بارگذاری کنید.
#include"Wire.h" #include"TPA81.h" // Create new TPA81 instance TPA81 tpa; void setup() { Serial.begin(9600); // You need to begin the Wire library to use TPA81 library Wire.begin(); } void loop() { // Print temperature light Serial.print(tpa.getAmbient()); Serial.print(" "); // Print all temperature point for (int i = 1; i <= 8; i++) { if (tpa.getPoint(i)>29) Serial.print("# "); else Serial.print(". "); } Serial.println(" "); delay(100); }
مرداد ۶, ۱۳۹۸ سید علی طلاکش الکترونیک, دانش و مهارت بدون دیدگاه
در این ساختنی ، استفاده از سنسور PIR در آردوینو را به شما آموزش میدهیم . با استفاده از این آموزش میتوانید از سنسورهای حرکتی مادون قرمز در پروژههای مختلف الکترونیکی خود استفاده کنید.
قطعات مورد نیاز
- آردوینو Nano R3
- سنسور آرایه حرارتی Devatech TPA81
- سنسور حرکتی PIR مادون قرمز ElectroPeak HC-SR505
- ماژول نمایشگر OLED 128*64
در این ساختنی به شما آموزش داده میشود که چگونه یک ژست را با اجزای ساده مانند سنسور PIR و Arduino Nano بسازید. در پایان این ساختنیمیتوانید:
- برنامههای کاربردی سنسور PIR و چگونگی کارکردن آن را توضیح دهید.
- یک سنسور PIR 8 پیکسل به نام TPA81 را راه اندازی کنید.
- از حسگر PIR برای تشخیص حرکات و ژست توسط Arduino استفاده کنید.
- آشکارساز مناسبی را برای افزایش یا کاهش میزان بلندگوهای خود تنظیم کنید.
سنسور مادون قرمز پسیو: چگونه کار میکند؟
سنسور مادون قرمز پسیو (سنسور PIR) سنسور الکترونیکی است که نور مادون قرمز (IR) ساطع شده از اشیاء در میدان دید خود را اندازه گیری میکند. این سنسورها اغلب در آشکارسازهای حرکتی مبتنی بر PIR استفاده میشود. تمام اشیاء با درجه بالاتر از صفر مطلق انرژی گرمایی را در قالب تابش انتشار میدهند. معمولا این تابش برای چشم انسان قابل مشاهده نیست، زیرا در طول موج مادون قرمز منتشر میشود، اما توسط دستگاههای الکترونیکی طراحی شده برای اهداف مختلف قابل شناسایی است.
اصطلاح پسیو به این واقعیت اشاره دارد که دستگاههای PIR انرژی را برای اهداف تشخیصی تولید یا تابش نمیکنند. آنها به طور کلی با تشخیص اشعه مادون قرمز منتشر شده یا منعکس شده از اشیاء کار میکنند. آنها گرما را تشخیص نمیدهند و یا اندازه گیری نمیکنند.
TPA81 یک ترموپلاستیک تشخیص مادون قرمز در محدوده ۲um-22um است. این طول موج گرمای تابشی است. سنسورهای Pyro-electric که معمولا در آلارمهای سیستمها ضد سرقت و یا برای روشن کردن چراغهای بیرونی استفاده میشوند، مادون قرمز را در همین طول موج تشخیص میدهند. سنسورهای Pyro-electric تنها میتوانند تغییرات گرما را تشخیص دهند – از این رو آنها آشکارسازهای حرکت هستند. اگرچه در این سنسورها در رباتیک نیز استفاده میشود، کاربرد آنها در این صنعت به خاطر عدم تشخیص واندازه گیری دمای یک منبع حرارت ایستا، محدود است. . نوع دیگری از این سنسورها ،سنسورهای آرایه گرمایشی هستند. از این سنسورها در دماسنجهای مادون قرمز بدون تماس استفاده میشود. آنها یک زاویه تشخیص یا میدان دید (FOV) بسیار گسترده در حدود ۱۰۰ درجه دارند و برای بدست آوردن FOV بیشتر از ۱۲ درجه نیاز به پوشش یا لنز دارند. بعضی از آنها یک لنز ساخته شده اند. . اخیرا این دسته سنسورها، در الکترونیک همراه با یک لنز سیلیکون ساخته شده اند. از این نوع سنسور در TPA81 استفاده میشود. این سنسور از ۸ آرایه گرمایشی که در یک ردیف قرار دارند ساخته شده است. TPA81 میتواند به طور همزمان درجه حرارت ۸ نقطه مجاور را اندازه گیری کند. TPA81 همچنین میتواند یک سروو موتور را کنترل کند و یک تصویر حرارتی ایجاد کند. TPA81 میتواند شعله شمع را در محدوده ۲ متری (۶ فوت) تشخیص دهد و از نور محیط تاثیر نمیپذیرد.
سنسورهای PIR شبیه به دوربینهایی هست که فقط میتوانند چیزهای گرم را ببیند. بنابراین TPA81 یک دوربین حرارتی با وضوح ۸ پیکسل است و بدن انسان همواره حرارت از خود ساطع میکند. در حال حاضر، اگر یک سنسور PIR را با یک کنترلر کنترل کنید و چند الگو را برای سنسور PIR تعریف کنید، میتوانید یک آشکارساز حرکتی بسازید.
در این ساختنی هدف ساخت یک سیستم آشکارساز حرکتی با استفاده از PIR و Arduino است. از TPA81 به عنوان PIR استفاده میشود، که کمیگران است، بنابراین اگر میخواهید، برای صرفه جویی در هزینه، از ۸ سنسور ساده PIR بدون سر سفید استفاده کنید. TPA81 پروتکل I2C را پشتیبانی میکند و با Arduino Nano سازگار است. این ساختنی به شما کمک میکند تا اصول اولیه پردازش تصویر و تشخیص حرکت را بیابید.
مدار
اگر میخواهید از ۸ سنسور PIR به جای TPA81 استفاده کنید، باید ۸ سنسور PIR را به یک Board Arduino متصل کنید و آنها را یکی پس از دیگری بخوانید.
استفاده از سنسور PIR در آردوینو
کد برنامه نویسی
برای مدار اول (با استفاده از TPA81)، شما باید کد را در Arduino IDE کپی کنید. ولی ابتدا باید کتابخانه را اضافه کنید و سپس کد را آپلود کنید. کتابخانه TPA81 را از لینک زیر دانلود کنید. اگر اولین بار است که Arduino را اجرا میکنید، فقط این مراحل را دنبال کنید:
- به arduino.cc/en/Main/Software بروید و نرم افزار را دانلود کنید. نرم افزار IDE را مطابق دستورالعمل نصب کنید.
- نرم افزار را اجرا کنید و متن را پاک کنید و کد زیر را در ویرایشگر متن کپی کنید.
- کتابخانهها (دانلود کتابخانهها از لینکهای زیر) فراخوانی کنید. بر روی گزینه افزودن کتابخانه ZIP کلیک کنید و کتابخانهها را اضافه کنید
- برد Arduino Nano را انتخاب کنید.
- Arduino را به کامپیوتر خود وصل کنید و پورت COM را مشخص کنید.
- دکمه آپلود (علامت پیکان) را فشار دهید.
#include"Wire.h" #include"TPA81.h" // Create new TPA81 instance TPA81 tpa; void setup() { Serial.begin(9600); // You need to begin the Wire library to use TPA81 library Wire.begin(); } void loop() { // Print temperature light Serial.print(tpa.getAmbient()); Serial.print(" "); // Print all temperature point for (int i = 1; i <= 8; i++) { Serial.print(tpa.getPoint(i)); Serial.print(" "); } Serial.println(" "); delay(100); }
پس از اجرای این کد، ترمینال سریال را در Arduino IDE باز کنید و دمای ۸ آرایه که توسط TPA81 خوانده میشود، نگاه کنید. . عدد اول در هر خط مربوط به درجه حرارت نهایی است. حالا دست خود را در مقابل سنسور قرار دهید و دمای بدن خود را ببینید. برای تعریف حرکات دست، باید دمای دست خود را بدانید و آن را به عنوان آفست تنظیم کنید. کد بعدی را برای مشاهده حرکت دست خود در مقابل TPA81 بارگذاری کنید.
#include"Wire.h" #include"TPA81.h" // Create new TPA81 instance TPA81 tpa; void setup() { Serial.begin(9600); // You need to begin the Wire library to use TPA81 library Wire.begin(); } void loop() { // Print temperature light Serial.print(tpa.getAmbient()); Serial.print(" "); // Print all temperature point for (int i = 1; i <= 8; i++) { if (tpa.getPoint(i)>29) Serial.print("# "); else Serial.print(". "); } Serial.println(" "); delay(100); }
یک الگوریتم برای تشخیص یک ژست ساده مانند افزایش یا کاهش حجم یک پخش کننده صدا نوشته شده است. شما میتوانید کد زیر را کپی کنید و آن را امتحان کنید.