پروژه تشخیص رنگ با رزبری پای و سنسور TCS3200
سلام. پروژه تشخیص رنگ با رزبری پای و پایتون سنسور TCS3200 را آماده کردیم.
محتویات
آموزش راه اندازی حسگر تشخیص رنگ با رزبری پای
در این پروژه رزبری پای میخواهیم با استفاده از ماژول سنسور تشخیص رنگ TCS3200 ، یک دستگاه تشخیص رنگ بسازیم. در اینجا ما از کد پایتون برای برنامه نویسی پروژه استفاده میکنیم. برای نمایش نتیجه تشخیص رنگ، از یک ال ای دی RGB استفاده کرده ایم. این LED، به همان رنگی میدرخشد که سنسور تشخیص داده است. در اینجا با هدف آموزش ما تنها رنگ های قرمز، سبز و آبی را برنامه ریزی کرده ایم. اما شما میتوانید هر مقداری را قرار دهید و هر دستوری را تعبیه کنید. فیلم عملکرد این پروژه در انتهای صفحه قرار داده شده است.
پروژه های زیر میتوانند به شما کمک کنند :
- پروژه تشخیص رنگ آردوینو و پروژه تشخیص حرکت دست Arduino
- پروژه دستگاه شمارش پول آردوینو با سنسور تشخیص رنگ و مادون قرمز
سنسور تشخیص رنگ TCS230
سنسور TCS230 دارای ال ای دی های مادون قرمز است که رنگ جسم را تشخیص میدهند. این سنسور یک فتودیود 8*8 میخواند. این 64 تا تشکیل شده اند از 16 فتودیود با فیلتر قرمز ، 16 فتودیود با فیلتر آبی ، 16 فتودیود با فیلتر سبز و 16 فتودیود بدون فیلتر. سیگنال خروجی سنسور رنگی TCS230 یک موج مربعی است و فرکانس آن متناسب با شدت نور فیلتر انتخابی است. توجه داشته باشید که سنسور با نام های TCS230 و TCS3200 موجود است و هر دو یکی هستند.
دیتاشیت سنسور TCS230
همچنین اگر میخواهید الکترونیک را با فیلم های آموزشی یاد بگیرید، روی دوره آموزش الکترونیک کلیک کنید.
- VDD : باید منبع تغذیه 5 ولت متصل شود.
- GND : اینم که نیاز به توضیح نداره.
- S0 , S1 : مقیاس بندی فرکانس خروجی.
- S2 , S3 : ورودی انتخاب نوع فتودیود.
- OUT : پین خروجی سنسور رنگ.
- OE : فعال سازی پین فرکانس خروجی.
ما این سنسور را به Raspberry Pi متصل می کنیم و Raspberry Pi را برنامه ریزی می کنیم تا بسته به رنگ ، پاسخ مناسبی ارائه دهد.
قطعات مورد نیاز
در اینجا ما از Raspberry Pi 2 Model B با سیستم عامل Raspbian Jessie استفاده می کنیم.
- سنسور تشخیص رنگ TCS3200
- آی سی CD4040
- ال ای دی RGB
- مقاومت 1 کیلو اهم – 3 عدد
- خازن 1000uF
شماتیک پروژه تشخیص رنگ با رزبری پای
در تصویر زیر شماتیک کامل مدار پروژه تشخیص رنگ با رزبری پای را مشاهده میکنید.
اتصالات انجام شده برای سنسور رنگ و Raspberry Pi در جدول زیر آورده شده است :
پین های سنسور | پین های رزبری پای |
Vcc | +3.3v |
GND | ground |
S0 | +3.3v |
S1 | +3.3v |
S2 | GPIO6 از PI |
S3 | GPIO5 از PI |
OE | GPIO22 از PI |
OUT | CLK از CD4040 |
اتصالات CD4040 با Raspberry Pi در جدول زیر آورده شده است :
پین ها CD4040 | پین های رزبری پای |
Vcc16 | +3.3v |
Gnd8 | gnd |
Clk10 | OUT از sensor |
Reset11 | GPIO26 از PI |
Q0 | GPIO21 از PI |
Q1 | GPIO20 از PI |
Q2 | GPIO16 از PI |
Q3 | GPIO12 از PI |
Q4 | GPIO25 از PI |
Q5 | GPIO24 از PI |
Q6 | GPIO23 از PI |
Q7 | GPIO18 از PI |
Q8 | عدم نیاز |
Q9 | عدم نیاز |
Q10 | عدم نیاز |
Q11 | عدم نیاز |
نحوه تشخیص رنگ با رزبری پای
هر رنگ از سه رنگ قرمز ، سبز و آبی (RGB) تشکیل شده است. و اگر شدت RGB را در هر رنگی بدانیم، می توانیم آن رنگ را تشخیص دهیم. با استفاده از سنسور رنگی TCS3200، ما نمی توانیم به طور همزمان نور قرمز ، سبز و آبی را تشخیص دهیم بنابراین باید آنها را یکی یکی بررسی کنیم. رنگی که باید توسط سنسور رنگ سنجیده شود توسط S2 و S3 انتخاب می شود.
S2 | S3 | Photodiode Type |
Low | Low | قرمز |
Low | High | آبی |
High | Low | سفید |
High | High | سبز |
هنگامی که سنسور شدت RGB را تشخیص داد ، مقدار آن همانطور که در شکل زیر نشان داده شده است به سیستم کنترل داخل ماژول ارسال می شود. شدت نور اندازه گیری شده توسط آرایه به مبدل جریان به فرکانس در داخل ماژول ارسال می شود. مبدل فرکانس موج مربعی تولید می کند که فرکانس آن به طور مستقیم با مقدار ارسال شده توسط آرایه متناسب است.
فرکانس سیگنال خروجی توسط ماژول سنسور رنگ را می توان در چهار سطح تنظیم کرد. این سطوح با استفاده از S0 و S1 ماژول سنسور مطابق شکل زیر انتخاب می شوند.
S0 | S1 | فرکانس خروجی |
L | L | Power Down |
L | H | 2% |
H | L | 20% |
H | H | 100% |
این ویژگی وقتی به کار می رود که ما در حال اتصال این ماژول به سیستمی با ساعت (کلاک) کم هستیم. این ماژول موج مربعی خروجی را فراهم می کند که فرکانس آن به طور مستقیم با شدت نور در حال افت است.
اکنون ما این موج مربعی را به Raspberry Pi می دهیم اما نمی توانیم مستقیماً آنرا به PI بدهیم ، زیرا Raspberry Pi هیچ کانتر (مانند آی سی CD4040) داخلی ندارد. بنابراین ابتدا این خروجی را به CD B40 Counter Binary می دهیم و رزبری پای را برنامه ریزی می کنیم تا مقدار فرکانس را از CD4040 در فواصل 100msec بگیرد.
به طور خلاصه ،
- ماژول نور منعکس شده توسط جسم قرار داده شده در نزدیکی خود را تشخیص می دهد.
- ماژول سنسور رنگ موج خروجی را برای R یا G یا B فراهم می کند ، که بصورت متوالی توسط Raspberry Pi از طریق پین های S2 و S3 انتخاب می شود.
- CD4040 موج را گرفته و مقدار فرکانس را اندازه گیری می کند.
- PI مقدار فرکانس را از CD4040 برای هر رنگ در هر 100ms می گیرد. پس از گرفتن مقدار ، پی در پی رزبری پای CD4040 را مجدداً تنظیم می کند تا مقدار بعدی را تشخیص دهد.
- Raspberry Pi این مقادیر را بر روی صفحه چاپ می کند و این مقادیر را برای تشخیص رنگ جسم مقایسه می کند و در نهایت بسته به رنگ شیء ، LED RGB در رنگ مناسب می درخشد.
در اینجا Raspberry Pi برای شناسایی تنها سه رنگ برنامه ریزی شده است ، می توانید مقادیر R ، G و B را مطابق با پروژه خود تغییر دهید تا رنگ های بیشتری را به دلخواه خود تشخیص دهید.
فیلم عملکرد پروژه
فیلم زیر نحوه کار پروژه تشخیص رنگ با TCS3200 و رزبری پای را نمایش میدهید. با مشاهده فیلم زیر به طور کامل پروژه را درک میکنید.
موارد موجود در فایل : سورس کامل ، شماتیک کامل