ردیاب های حرکتی و محرک های خطی

ردیاب های حرکتی

ردیاب های حرکتی ، همانطور که از نام آنها پیداست ، سنسورهایی هستند که برای حس حرکت استفاده می شوند. آنها معمولاً در هشدارهای امنیتی و سیستم های روشنایی تحریک شده مشاهده می شوند اما می توانند در رابطه با محرک های خطی برای طیف گسترده ای از برنامه های خنک استفاده شوند. یک کاربرد مشترک از محرک های خطی و ردیاب های حرکتی که در کنار هم استفاده می شوند در خانه های خالی از سکنه برای ترس از پرش هستند. اما با هم محرک های خطی و ردیاب های حرکتی نیز می توانند برای طیف گسترده ای از پروژه های اتوماسیون خانگی استفاده شوند.

ردیاب حرکت

وقتی به ردیاب های حرکتی فکر می کنید ، به طور کلی در مورد 2 نوع فکر می کنید:

  • مادون قرمز منفعل - که تغییرات در گرمای بدن (انرژی مادون قرمز) را برای تشخیص حرکت اندازه گیری می کند
  • مایکروویو - که بازتاب اشیاء را با استفاده از مایکروویو برای تشخیص حرکت اندازه گیری می کند

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

در مورد سنسورهای مجاورت چطور؟

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

سنسور نزدیکی

تنظیم ردیاب حرکت PIR خود را تنظیم کنید

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

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

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

محرک خطی کنترل شده حرکت

در هر دو مثال زیر ، Arduino با استفاده از a ، محرک خطی را کنترل می کند راننده موتوربشر برای یادگیری نحوه رانندگی یک محرک خطی با درایور موتور یا سایر اجزای میانی ، مانند رله، می توانید پست ما را بررسی کنید نحوه کنترل یک محرک خطی با یک آردوینوبشر همچنین ، هیچ یک از مثال های زیر از a استفاده نمی کند بازخورد محرک خطی یا سوئیچ های حد خارجی در طراحی آنها ، که به شما کنترل بیشتری بر محرک خود می دهد تا بدون. اگر به نحوه و چه گزینه های بازخورد علاقه دارید ، می توانید پست ما را در مورد موضوع بررسی کنید اینجا.  

مثال کد فوق نحوه تنظیم یک وقفه در Arduino IDE را نشان می دهد که در آن وقفه در لبه بالایی پالس ولتاژ ایجاد می شود. شما می توانید وقفه خود را تنظیم کنید تا در نقاط مختلف در تغییر ولتاژ ایجاد شود و برای تعیین گزینه های موجود باید با برگه MicroController خود مشورت کنید. پس از شناسایی و انتخاب یک پین قطع مناسب ، آخرین جنبه ای که برای تنظیم وقفه خود باید انجام دهید ، نوشتن روال سرویس قطع خود است. روال سرویس قطع یک عملکرد ساده است که هر بار که وقفه ایجاد می شود ، کد اجرا می شود. در مورد ما ، MotionDetector روتین سرویس ما به سادگی هنگام ایجاد وقفه ، پرچم را به سمت بالا تنظیم می کند.

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

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

ارجاع:

  1. Tross ، K. (2019 ، اکتبر). راهنمای مبتدی سنسورهای حرکتی. برگرفته از: https://www.safewise.com/resources/motion-sensor-guide/
Share This Article
Tags: