اتصال سنسور مادون قرمز به آردوینو
محتویات
سنسور مجاورت مادون قرمز یا سنسور IR یک دستگاه الکترونیکی است که نورهای مادون قرمز را برای تشخیص اطراف سنسور ساطع میکند. سنسور مادون قرمز در صنعت الکترونیک خیلی زیاد استفاده میشود. حتی ربات مسیریاب با آردوینو از سنسور های مادون قرمز استفاده میکنند.
ماژول سنسور مادون قرمز
سنسور مادون قرمز دارای یک کانکتور 3 پین است که آن را به دنیای خارج متصل می کند. اتصالات به شرح زیر است:
- VCC پایه منبع تغذیه سنسور IR است که ما آن را به پایه 5 ولت آردوینو متصل می کنیم.
- پایه OUT یک خروجی منطقی 5 ولت TTL است. LOW نشان می دهد هیچ حرکتی تشخیص داده نشده؛ HIGH به معنای حرکت است.
- GND باید به GND آردوینو متصل شود.
ماژول مادون قرمز چگونه کار می کند؟
کار ماژول سنسور IR بسیار ساده است و از دو جزء اصلی تشکیل شده است: اولی قسمت فرستنده IR و دومی قسمت گیرنده IR است. در قسمت فرستنده از led IR و در قسمت گیرنده یک فتودیود برای دریافت سیگنال مادون قرمز استفاده می شود و پس از مدتی پردازش سیگنال، خروجی را دریافت خواهید کرد.
یک سنسور مجاورتی IR با اعمال ولتاژ به دیود ساطع نور مادون قرمز داخلی کار می کند که نور مادون قرمز ساطع می کند. این نور در هوا منتشر می شود و به یک جسم برخورد می کند و پس از آن نور در سنسور فتودیود منعکس می شود. اگر جسم نزدیک باشد. نور منعکس شده قوی تر خواهد بود، اگر جسم دور باشد، نور بازتاب شده ضعیف تر خواهد بود. نکته جالب در مورد این ماژول این است که دارای دو LED داخلی است که یکی از آنها در صورت وجود برق روشن می شود و دیگری با تشخیص حرکت روشن میشود.
برای اکثر پروژههای آردوینو، از این حسگر برای تشخیص نزدیکی یا ساخت ربات آردوینو جلوگیری از برخورد موانع استفاده میشود. این سنسور در بین مبتدیان محبوب است زیرا این سنسورها دارای مصرف کم، هزینه کم و دارای محدوده حسی وسیعی هستند.
این سنسور دارای سه پایه است که دو پایه آن VCC و GND و دیگری پین حس/Data است که در نمودار بالا نشان داده شده است. دارای یک LED پاور آنبورد و یک LED سیگنال است که LED پاور هنگام متصل شدن به تغذیه روشن می شود و LED سیگنال هنگام فعال شدن مدار روشن می شود. این برد همچنین دارای یک Op-amp مقایسه کننده است که وظیفه تبدیل سیگنال آنالوگ ورودی از فتودیود به سیگنال دیجیتال را بر عهده دارد. ما همچنین یک پتانسیومتر تنظیم حساسیت داریم. با آن میتوانیم حساسیت دستگاه را تنظیم کنیم و در نهایت، دیود نوری و جفت LED ساطع کننده IR را داریم که همه با هم ماژول سنسور مجاورت IR را تشکیل میدهند.
مدار اتصال سنسور مجاورت مادون قرمز به آردوینو
اکنون که درک کاملی از نحوه عملکرد یک سنسور IR داریم، میتوانیم تمام سیمهای مورد نیاز را مطابق شکل زیر به آردوینو متصل کنیم.
اتصال سنسور IR به هر میکروکنترلر که بخواهید بسیار ساده است. همانطور که می دانیم این سنسور یک سیگنال دیجیتالی را خروجی می دهد و پردازش این سیگنال بسیار آسان است. دو روش برای انجام این کار وجود دارد، همیشه می توانید پورت را در یک حلقه بی نهایت بررسی کنید تا ببینید چه زمانی پورت حالت خود را از HIGH به LOW تغییر می دهد یا راه دیگر این است که اگر پروژه پیچیده ای انجام می دهید از وقفه ها در آردوینو استفاده کنید. سنسور مادون قرمز را با 5 ولت یا 3.3 ولت تغذیه کنید و GND را به GND وصل کنید سپس خروجی را به پین دیجیتال D9 متصل کنید.
کد آردوینو راه اندازی سنسور مادون قرمز
اکنون آماده آپلود کردن کد و کارکردن با سنسور IR هستید. کد راه اندازی ماژول حسگر مادون قرمز IR در آردوینو بسیار ساده و قابل درک است.
در ابتدا دو متغیر را ایجاد میکنیم. یک متغیر برای پین مربوط به خروجی سنسور و متغیر دیگر برای ال ای دی نشانگر وضعیت
int IRSensor = 9; // اتصال سنسور مادون قرمز int LED = 13; // تعیین ال ای دی
بعد تابع setup خود را داریم و در تابع setup ارتباط سریال را با 115200 baud مقداردهی اولیه می کنیم سپس یک عبارت چاپ می کنیم تا بررسی کنیم که آیا پنجره سریال مانیتور به درستی کار می کند یا خیر و سپس پین IRSensor را به عنوان ورودی و پین LED را به عنوان خروجی مقداردهی می کنیم.
void setup(){ Serial.begin(115200); // آغاز ارتباط سرایل Serial.println("Serial Working"); // تست سریال مانیتور pinMode(IRSensor, INPUT); // تعیین ورودی pinMode(LED, OUTPUT); // تعیین خروجی }
بعد حلقه loop خود را داریم در حلقه loop ابتدا وضعیت پین سنسور را با تابع digitalRead() می خوانیم و مقدار را در متغیر sensorStatus ذخیره می کنیم سپس بررسی می کنیم که خروجی سنسور HIGH است یا LOW. خروجی سنسور HIGH یعنی هیچ حرکتی تشخیص داده نشده، در غیر این صورت حرکت تشخیص داده می شود، ما همچنین این وضعیت را در سریال مانیتور چاپ می کنیم.
void loop(){ int sensorStatus = digitalRead(IRSensor); // خواندن وضعیت خروجی سنسور if (sensorStatus == 1) // بررسی HIGH بودن { // خاموش شدن ال ای دی digitalWrite(LED, LOW); // LED LOW Serial.println("Motion Detected!"); //نمایش عبارت در سریال مانیتور } else { //روشن شدن ال ای دی digitalWrite(LED, HIGH); // LED High Serial.println("Motion Ended!"); // نمایش عبارت در سریال مانیتور } }
این پایان کد حسگر مادون قرمز ساده مبتنی بر آردوینو است.
گیف زیر ماژول حسگر مادون قرمز را در حال کار نشان می دهد، می توانید متوجه روشن شدن LED هم در ماژول و هم در برد آردوینو شوید.
امیدواریم از خواندن این مطلب لذت برده باشید و چیز مفیدی یاد گرفته باشید.
سلام کابل آردوینو را باید به کامپیوتر وصل کنیم؟
سلام عزیز
بله
سلام من تا وقتی که ماژول مادون قرمز را به آردوینو وصل میکنم آردوینو اتصالش رو با کامپیوتر قطع می کند
سلام عزیز
اتصالات اشتباه هست، یک تصویر از مدار در انجمن قرار بدید
سلام میخوام کد کنترل رو بگیرم بعد همون رو با اردوینو بفرستم . میشه؟
سلام عزیز
بله میشه اما این پروژه برای مجاورت هست.