راه اندازی سنسورهای تشخیص رنگ TCS3200 و TCS230 با آردوینو

در این بخش از سری آموزش های آردوینو سعی شده، نحوه تشخیص رنگ توسط سنسورهای TCS3200 ،TCS230 با یرد آردوینو را شرح دهیم. شما می توانید برای یادگیری بیشتر و آشنایی با نحوه عملکرد این قطعات مطالب زیر را مطالعه نمائید.

سنسور تشخیص رنگ TCS230

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

سنسور تشخیص رنگ TCS230

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

ساختمان سنسور تشخیص رنگ TCS230

هر 16 فتودیود به صورت موازی وصل می شوند و ما می توانیم با استفاده از پین های کنترل S2 و S3 انتخاب کنیم که کدام یک از آنها خوانده شود. برای مثال؛ اگر بخواهیم رنگ قرمز را شناسایی کنیم با استفاده از 16 فتودیود فیلتر شده با رنگ قرمز و دو پین کنترل (طبق جدول زیر) این کار را انجام می دهیم.

این مدل از سنسور دارای دو پین کنترل S0 و S1 برای تعیین مقیاس فرکانس خروجی می باشد که این مقیاس به سه مقدار از پیش تعیین شده 2% ، 20% و یا 100% تقسیم بندی شده است.

لیست قطعات مورد نیاز

ماژول آردوینو مدل MEGA2560-R31 عدد
ماژول و سنسور تشخیص رنگ TCS2301 عدد
برد بورد (پروجکت برد) مدل GL1 عدد
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی)1 عدد

نقشه شماتیک پروژه

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

نقشه شماتیک پروژه تشخیص رنگ TCS230 با برد آردینو

برنامه نویسی سنسور تشخیص رنگ TCS230

1. تعریف توابع

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

در این بخش ما در نظر داریم که فتودیودهای فیلتر قرمز خوانده شوند، برای این منظور ابتدا دو پین S2 و S3 را در کمترین سطح خود قرار می دهیم، سپس با استفاده از عملگر (تابع) “() PulseIn” مقدار فرکانس خروجی را خوانده (تعیین کرده) و آن را به عنوان متغییر فرکانس در نظر می گیریم. همچنین از طریق عملگر (تابع) ” ()Serial.print ” می توانیم نتایج حاصل از برنامه نویسی را مانیتورینگ کنیم. در صورتی که بخواهیم از دو رنگ استفاده کنیم برای این کار کافی است که پین های کنترل مورد نظر را با نوع رنگ دلخواه تنظیم کنیم.

2. مانیتورینگ پروژه

بعد از انجام مراحل فوق اگر شروع به مانیتورینگ کنیم، قطعا خروجی خواهیم گرفت که این خروجی بستگی به مقیاس تعیین شده و نور اطراف محیط کار ما دارد.

پاسخ خروجی رنگ

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

به طور کلی، سنسور تشخیص رنگ TCS230، رنگ اجسامی که در مقابل خود مشاهده می کند را تحلیل نموده و فرکانس هر یک از آنها را به صورت عددی در محدوده 0 تا 255 مشخص می کند، برای نمایش دادن رنگ به این صورت از عملگر (تابع) “()map” استفاده می کنیم.

3. برنامه نویسی کامل پروژه در نرم افزار آردوینو

ویدیو ضبط شده از نحوه عملکرد پروژه

 اطلاعات پروژه

 رمز فایل : www.electronics98.com (این مطلب فاقد فایل جهت دانلود است)

 نویسنده : محسن برات زاده

 تاریخ انتشار : 15 ژانویه 2019

11 دیدگاه

  1. واقعا اگر در هر خط از آمورشهای برنامه نویسی توضیحات وجود داشته باشه که هر خط رو کارشو در برنامه توضیح بده بهترین حالت آموزشه.
    لطفا به لرنامه ها توضیخات اضاقه کنید.
    تشکر

  2. سلام. ببخشید من می خوام اگه رنگ قرمز از یه حدی بیشتر شد LED روشن بشه. چه کدی رو باید اضافه کنم؟؟ با تشکر

  3. سلام دوست عزیز
    ابتدا سه متغیر از جنس int تعریف کنید و سپس به ترتیب مقادیر بدست آمده از متغیر frequency را در خطوط 27 و 37 و 47 برنامه در متغیرهایی که ساخته اید ذخیره کنید، حال می توانید با برسی اعداد بدست آمده و تعریف یک دستور شرطی، برای رنگ مورد نظر خود یک شرط اعمال کنید.

  4. سلام.برای اینکه کاری کنیم که این سنسور رنگ های دیگه مثلا زرد رو تشخیص بده باید چه کدی اضافه کنیم؟؟ ممنون

  5. سلام دوست عزیز
    این سنسور توانایی تشخیص طیف وسیعی از رنگ ها را با تشخیص سه رنگ اصلی قرمز، سبز و آبی دارد. برای درک بیشتر می توانید عبارت “رنگ RGB” را در گوگل جستجو کنید.

  6. سلام. ببخشید ایا ماژول ماژول LCM230 برای تشخیص رنگ خوب است ؟؟ با تشکر

  7. و ایا ماژول GY-31 هم خوب است؟ با تشکر

  8. و خیلی خیلی ببخشید چجوری باید سنسور تشخیص رنگ TCS34725 رو راه بندازیم و اینکه شما این سنسور رو پیشنهاد می کنید؟ با تشکر

  9. سلام دوست عزیز
    برای اینکه بفهمید کدام سنسور مناسب کار و پروژه شما است باید دیتاشیت هر کدام از سنسورها را از اینترنت دانلود کنید و سپس مشخصات فنی آنرا با یکدیگر مقایسه کنید.

  10. لینک دانلود نیست

  11. سلام دوست عزیز
    این پروژه فاقد لینک دانلود است، چراکه تمامی موارد مورد نیاز جهت ساخت پروژه همچون نقشه شماتیک و برنامه نمونه در توضیحات پروژه درج گردیده است.

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

 از ارسال لینک‌های سایت‌های دیگر و ارایه‌ی اطلاعات شخصی خودتان مثل شماره تماس، ایمیل و آی‌دی شبکه‌های اجتماعی پرهیز کنید.