اتصال تشخیص دهنده نوری QRD1114 به آردوینو

QRD1114 یک حسگر نوری بازتابی است که نیمی LED مادونقرمز و نیمی فوتوترانزیستور است. این قطعه برای تشخیص اجسام در فاصله نزدیک یا حتی تشخیص تفاوت بین سطوح سفید و سیاه استفاده میشود. چنین فوتودتکتورهایی در پروژههایی مانند رباتهای دنبالکننده خط یا سیستمهای تشخیص نزدیک در گوشیهای هوشمند، اجزای بسیار مهمی هستند.
اتصال QRD1114 آسان است: تنها چیزی که نیاز دارید یک مقاومت محدودکننده جریان برای LED مادونقرمز و یک مقاومت پولآپ برای پایه کلکتور فوتوترانزیستور است. این قطعه میتواند یک سیگنال آنالوگ تولید کند که توسط پایه ADC یک میکروکنترلر خوانده میشود و متناسب با فاصله جسم نزدیک است.
معرفی QRD1114
QRD1114 یک قطعه 4 پایه است. دو پایه مربوط به LED مادونقرمز هستند و دو پایه دیگر کلکتور و امیتر فوتوترانزیستور را در اختیار قرار میدهند (پایه “بیس” فوتوترانزیستور توسط نور مادونقرمز بازتابشده کنترل میشود). تصویر زیر از دیتاشیت مشخص میکند هر پایه کدام است.

پایه 1 که کلکتور ترانزیستور است، با یافتن نقطه روی بالای قطعه مشخص میشود. همچنین میتوانید دو مستطیل با رنگهای متفاوت را ببینید: یکی مشکی و دیگری شفاف. مستطیل مشکی فوتوترانزیستور است (بخش مشکی یک فیلتر است) و قسمت شفاف مربوط به LED است.

وقتی از بالا نگاه کنید، شمارهگذاری پایهها در جهت پادساعتگرد افزایش مییابد. پایه 2 که امیتر ترانزیستور است، در کنار پایه 1 و در امتداد ضلع بلند بدنه قرار دارد. پایه 3، آند LED، در سمت دیگر و در عرض پایه 2 قرار دارد. و پایه 4 که کاتد است، کنار پایه 3 و روبهروی پایه 1 قرار میگیرد.
طول پایهها نیز میتواند در تشخیص پایهها کمک کند. پایههای 1 و 3 بلندتر از بقیه هستند و این موضوع بیدلیل نیست؛ این دو پایه، پایههای مثبت قطعات خود هستند (کلکتور و آند).

ویژگی های سنسور QRD1114
LED مادونقرمز QRD1114 مانند سایر LEDهایی است که قبلا استفاده کردهاید. ولتاژ فروارد معمولاً بین 1.2V تا 1.7V است، بنابراین منبع تغذیه شما باید حداقل چنین ولتاژی را تأمین کند. منابع 3.3V یا 5V به خوبی کار میکنند، به شرطی که از مقاومت محدودکننده جریان استفاده کنید.
حداکثر جریان فروارد LED برابر با 50mA است؛ بیشتر از این مقدار احتمال آسیب دائمی به قطعه را ایجاد میکند. بهتر است جریان حدود 20mA به دیود اعمال شود.
یکی از جذابترین نمودارهای دیتاشیت QRD1114، منحنی فاصله در برابر جریان کلکتور ترانزیستور است:

نمودار بالا با فرضیات خاصی ارائه شده است (شدت LED، توان اعمالی به ترانزیستور، جنس سطح بازتابنده)، اما همچنان معیار خوبی برای تخمین فاصله بر اساس خروجی حسگر است. این نمودار چند نکته مهم را نشان میدهد:
- خروجی در حدود 30 میل (0.03 اینچ)، 0.76 میلیمتر به حداکثر خود میرسد.
- از نقطه اوج، به صورت نمایی کاهش مییابد.
- در حدود 125 میل (0.125 اینچ)، 3.18 میلیمتر، سیگنال خروجی در حال حاضر 30٪ از اوج است.
- در حدود 300 میل (0.3 اینچ، 7.62 میلیمتر)، تغییرات در سیگنال تقریباً غیرقابل تشخیص میشوند.
- اگر جسمی خیلی به حسگر نزدیک شود، وارد منطقه کور میشود. دیدن هر چیزی نزدیکتر از حدود 30 میل (0.03 اینچ، 0.76 میلیمتر) برای آشکارساز دشوار است.
TLDR: این سنسورها برد زیادی ندارند. آنها برای تشخیص فاصله نزدیک طراحی شدهاند. QRD1114 میتواند بهطور قابل اعتماد فاصلههای بین 0.03 تا حدود 0.4 اینچ (0.75-10.15mm) را تشخیص دهد.
پروژه نمونه QRD1114 با آردوینو
در این مدار نمونه، با استفاده از یک مقاومت محدودکننده جریان 330Ω و یک مقاومت پول آپ 10kΩ، اتصال QRD1114 به Arduino نمایش داده شده است:

LED با ولتاژ 5V و یک مقاومت 330Ω تغذیه میشود. مقدار این مقاومت را میتوان تا حدود 175Ω کاهش داد تا جریان LED به محدوده 20mA نزدیکتر شود.
امیتر ترانزیستور به زمین متصل است و کلکتور به پایه A0 آردوینو وصل میشود. مقاومت 10kΩ پولآپ کمک میکند جریان وابسته به نور، به ولتاژ وابسته به نور تبدیل شود.
در ادامه یک مثال از سیمکشی روی بردبورد برای این مدار آمده است:

راههای زیادی برای بستن این مدار روی بردبورد وجود دارد. در نمونه بالا، LED و فوتوترانزیستور در دو طرف شیار وسط بردبورد قرار گرفتهاند.
کد آردوینو کامل
در ادامه یک نمونه کد ساده Arduino بر اساس مدار بالا قرار دارد. این کد را کپی کرده و در Arduino IDE قرار دهید و آپلود کنید.
توجه: این مثال فرض میکند شما از آخرین نسخه Arduino IDE روی دسکتاپ استفاده میکنید. اگر اولین بار است از Arduino استفاده میکنید، به آموزش نصب Arduino IDE مراجعه کنید.
اگر تا به حال آرشیوی برای Arduino نصب نکردهاید، راهنمای نصب ما را بررسی کنید.
/******************************************************************************
Connect a QRD1114, 330 resistor and 10k resistor as follows:
QRD1114 Pin ---- Arduino ---- Resistors
1 A0 10k Pull-up to 5V
2 GND
3 330 Resistor to 5V
4 GND
******************************************************************************/
const int QRD1114_PIN = A0; // Sensor output voltage
void setup()
{
Serial.begin(9600);
pinMode(QRD1114_PIN, INPUT);
}
void loop()
{
// Read in the ADC and convert it to a voltage:
int proximityADC = analogRead(QRD1114_PIN);
float proximityV = (float)proximityADC * 5.0 / 1023.0;
Serial.println(proximityV);
delay(100);
}
بعد از آپلود کد، سریال مانیتور را باز کنید و baud rate را روی 9600 bps تنظیم کنید.
در حالی که خروجی ولتاژ را در سریال مانیتور مشاهده میکنید، دست خود را به سمت سنسور حرکت دهید. باید ببینید که ولتاژ از حدود 4.8V به کمتر از 0.2V کاهش پیدا میکند. چند بار این کار را تکرار کنید تا محدوده عملکرد سنسور را احساس کنید.

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

سنسور نسبت به کاغذ سفید حساسیت بیشتری دارد. سطح مشکی نور بیشتری از LED را جذب میکند و نور کمتری به فوتوترانزیستور بازتاب میشود. شما هم میتوانید آزمایشهای خود را انجام دهید و رفتار سنسور را بررسی کنید.









