راه‌اندازی سنسور مادون قرمز از طریق برد آردوینو

0

سنسور مادون قرمز

کنترل‌های از راه دور مادون قرمز با ارسال سیگنالی شامل پالس‌های نور مادون قرمز برای بکار انداختن دستگاه‌هایی مانند تلویزیون یا ماشین آلات به کار می‌روند. سنسور مادون قرمز VS1838B یک سیگنال IR را دریافت می‌کند، که برای پیاده‌سازی عملی مناسب دیکد می‌شود. به عنوان مثال، سیگنال IR که در شکل 1 نشان داده شده نمایش‌های باینری و HEX با مقدارهای B011101 و 0x1D را دارد. نور مادون قرمز برای چشم انسان قابل مشاهده نیست، زیرا طول موج نور مادون قرمز، 700 تا 1000 نانومتر، از طول موج نور قابل مشاهده، 400 تا 700 نانومتر، بیش‌تر است. با این وجود، نور مادون قرمز از فرستنده IR با دوربین تلفن همراه و تبلت قابل مشاهده می‌باشد.

 

سیگنال مادون قرمز
شکل ۱. سیگنال مادون قرمز

پیشنهاد ما اینست که از کتابخانه IRremote برای کدهایی که یک سنسور IR در IDE آردوینو  استفاده کنید. کتابخانه IRremote را می‌توان با استفاده از روش سومی که در آموزش نصب کتابخانه در IDE Arduino توضیح داده شده نصب کرد.

هنگامی‌که سنسور IR یک سیگنال را تشخیص می‌دهد، کدها نوع دستگاه، نمایش HEX و تعداد بیت سیگنال IR را نمایش داده و LED برای یک ثانیه روشن می‌شود.

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

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

و اتصال به

اتصال به

قطعه

 

پایه 12 Arduino

پایه OUT سنسور IR

 

GND Arduino

پایه GND سنسور IR

 

5V Arduino

پایه VCC سنسور IR

 

پایه 4 Arduino

پایه بلند LED

GND Arduino

مقاومت 220 اهم

پایه کوتاه LED

 

  با نوشتن کدهای زیر در محیط IDE آردوینو می‌توان سنسور مادون قرمز را از طریق برد آردوینو راه‌اندازی کرد:     

#include  // include IRremote library
int IRpin = 12; // IR sensor pin
IRrecv irrecv(IRpin); // associate irrecv with IRremote library
decode_results reading; // IRremote variable reading
int LEDpin = 4; // LED pin
void setup()
{
Serial.begin(9600); // set baud rate for Serial Monitor
irrecv.enableIRIn(); // start the infrared receiver
pinMode(LEDpin, OUTPUT); // LED pin as output
}
void loop()
{
if(irrecv.decode(&reading)) // read pulsed signal
{ // NEC, Sony, RC5 or RC6 signals
if(reading.decode_type == NEC) Serial.print("NEC: ");
else if(reading.decode_type == SONY) Serial.print("Sony: ");
else if(reading.decode_type == RC5) Serial.print("RC5: ");
else if(reading.decode_type == RC6) Serial.print("RC6: ");
else Serial.print("Other: ");
Serial.print(reading.value, HEX); // display device type and
Serial.print("\tBits: "); // HEX code on Serial Monitor
Serial.println(reading.bits); // display number of IR signal bits
digitalWrite(LEDpin, HIGH); // turn LED on
delay(100); // delay before next IR signal
digitalWrite(LEDpin, LOW); // turn LED off
irrecv.resume(); // receive the next infrared signal
}
} 

 تیم ردرونیک (redronic) مجموعه ای از آموزش ها و پروژه های مرتبط با آردوینو را برای شما علاقمندان به الکترونیک و برنامه نویسی  فراهم کرده است. جهت مشاهده این پروژه ها اینجا کلیک کنید

Choose your Reaction!
دیدگاه خود را بنویسید

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

DelfinSync

راه‌اندازی سنسور مادون قرمز از طریق برد آردوینو

آخرین پست ها

redronic.com