این ماژول بسیار کارآمد و دارای امکانات خوبی است و از طریق امواج مادون قرمز وجود حرکت انسان را تشخیص داده و خروجی آن روشن می شود
حساسیت آن حدود 3 متر بوده و دارای تاخیر با زمان قابل تنظیم می باشد.
این ماژول را به راحتی میتوانید مستقلا مورد استفاده قرار دهید و خروجی آن را به دستگاه های مختلف متصل کنید
پتانسیومترهای تعبیه شده امکان تنظیم حساسیت ماژول و تنظیم زمان تاخیر را از 2.5 ثانیه تا 200 ثانیه را به کاربر میدهند
جامپر سه پین روی برد نیز برای تعیین حالت کار ماژول می باشد.
اگر جامپر در حالت H باشد خروجی ماژول با تشخیص حرکت فعال شده و تا زمانی که حرکت را تشخیص می دهد فعال می ماند و با اتمام حرکت غیر فعال می شود و این کار تکرار می شود.
اگر جامپر در حالت L باشد ماژول فقط یک بار فعال میشود و بعد از زمان تاخیر بدون توجه به وجود حرکت غیر فعال می شود
در این ماژول پیشبینی های خوبی انجام شده است مانند فتوسل و ترمیستور. اگر کلاهک ماژول را بردارید به دو بخش جالب برخورد می کنید.
در RT میتوانید یک ترمیستور قرار داده و ماژول در دمایی که ترمیستور مقاومت کمی دارد غیر فعال می شود
در RL میتوانید یک فوتورزیستور قرار داده و ماژول در میزان نوری که فوتوسل مقاومت کمی دارد غیر فعال می شود
برای استفاده از این ماژول به همراه میکرو کنترولر مانند شکل زیر اتصالات پینها را به میکرو کنبرولر انجام دهید و برنامه نمونه را بارگزاری کنید
با حرکت در برابر سنسور چراغ آردواینو روشن شده و با خارج شدن از محدوده سنسور بعد از حدود 8 ثانیه چراغ آردواینو خاموش می شود
/*
-Basic Test Sketch 1 / June 2014
*/
const int encoderIn = 4; // input pin for the interrupter
const int statusLED = 13; // Output pin for Status indicator
const int pulseOutput = 12; // Pulse output pin for external interfacing
int detectState=0; // Variable for reading the encoder status
void setup()
{
pinMode(encoderIn, INPUT); //Set pin 8 as input
pinMode(statusLED, OUTPUT); //Set pin 13 as output
pinMode(pulseOutput, OUTPUT); // Set Pin 12 as output
}
void loop() {
detectState=digitalRead(encoderIn);
if (detectState == HIGH) { //If encoder output is high
digitalWrite(statusLED, HIGH); //Turn on the status LED
digitalWrite(pulseOutput,HIGH); // Give a logic-High level output
}
else {
digitalWrite(statusLED, LOW); //Turn off the status LED
digitalWrite(pulseOutput,LOW); // Give a logic-Low level output
}
}