آموزش راه اندازی سنسور رنگ GY-31 TCS3200 با آردوینو

فهرست مطالب

ویژگی‌های سنسور رنگ GY-31 TCS3200

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

دیتاشیت سنسور TCS3200 را می‌توانید از اینجا دانلود کنید.

معرفی پایه های (Pinout) سنسور رنگ GY-31 TCS3200

سنسور رنگ TCS3200 دارای پایه‌هایی به شرح زیر است:

  • VCC: تغذیه ماژول – 2.7 تا 5.5 ولت
  • GND: زمین
  • OUT: سیگنال خروجی

پایه های کنترلی:

  • S0: پایه ورودی جهت انتخاب مقیاس‌گذاری فرکانس خروجی
  • S1: پایه ورودی جهت انتخاب مقیاس‌گذاری فرکانس خروجی
  • S2: پایه ورودی جهت انتخاب نوع دیودهای نوری
  • S3: پایه ورودی جهت انتخاب نوع دیودهای نوری
  • LED: پایه کنترل LED
نکته

دو پایه S2 و S3 برای انتخاب یکی از 4 نوع دیودهای نوری می‌باشد. جدول زیر حالت های مختلف را نشان می‌دهد.

نکته
دو پایه S0 و S1 برای انتخاب مقیاس فرکانس خروجی می‌باشد. جدول زیر حالت های مختلف آن را نشان می‌دهد.

پین اوت (Pinout) این ماژول را می‌توانید در تصویر زیر مشاهده کنید.

پین اوت Pinout سنسور TCS3200

لوازمی که به آن احتیاج دارید

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

آردوینو UNO R3 × 1
سنسور رنگ TCS3200 GY-31 × 1
سیم جامپر نری - مادگی × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی سنسور رنگ GY-31 TCS3200 با آردوینو

گام اول: سیم بندی

مطابق مدار زیر سنسور GY-31 را به آردوینو متصل کنید.

گام دوم: کد

کد زیر را روی برد آردوینو آپلود کنید.

    /*
  GY-31-TCS3200-Color-Recognition-Sensor-Module
  Modified on 29 Dec 2020
  by Amir Mohammad Shojaee @ Electropeak
  
Home
based on create.arduino.cc Example */ #define s0 8 #define s1 9 #define s2 10 #define s3 11 #define out 12 int data=0; void setup() { pinMode(s0,OUTPUT); pinMode(s1,OUTPUT); pinMode(s2,OUTPUT); pinMode(s3,OUTPUT); pinMode(out,INPUT); Serial.begin(9600); digitalWrite(s0,HIGH); //Putting S0/S1 on HIGH/HIGH levels means the output frequency scalling is at 100% (recommended) digitalWrite(s1,HIGH); } void loop() //Every 0.2s we select a photodiodes set and read its data { digitalWrite(s2,LOW); //S2/S3 levels define which set of photodiodes we are using LOW/LOW is for RED LOW/HIGH is for Blue and HIGH/HIGH is for green digitalWrite(s3,LOW); Serial.print("Red value= "); data=pulseIn(out,LOW); //here we wait until "out" go LOW, we start measuring the duration and stops when "out" is HIGH again Serial.print(map(data,60,15,0,100)); Serial.print("\t"); delay(20); digitalWrite(s2,LOW); digitalWrite(s3,HIGH); Serial.print("Blue value= "); data=pulseIn(out,LOW); //here we wait until "out" go LOW, we start measuring the duration and stops when "out" is HIGH again Serial.print(map(data,80,11,0,100)); Serial.print("\t"); delay(20); digitalWrite(s2,HIGH); digitalWrite(s3,HIGH); Serial.print("Green value= "); data=pulseIn(out,LOW); //here we wait until "out" go LOW, we start measuring the duration and stops when "out" is HIGH again Serial.print(map(data,80,20,0,100)); Serial.print("\t"); delay(20); Serial.println(); delay(200); }

ابتدا 4 پایه کنترلی را به عنوان خروجی میکروکنترلر و سپس پایه خروجی سنسور را به عنوان ورودی میکروکنترلر تعیین می‌کنیم. در ادامه از طریق دو پایه S0 و S1 وضعیت مقیاس فرکانس را مشخص می‌کنیم. سپس از طریق پایه های S2 و S3 رنگ موردنظر را انتخاب می‌کنیم. در ادامه با دستور pulseIn به ترتیب شدت سه رنگ قرمز، آبی و سبز را ثبت کرده و در Serial Monitor نمایش می‌دهیم.

نکته

می‌توانیم خروجی پالس سنسور را از طریق دستور map کالیبره کنیم و مقدار شدت هر رنگ را بین بازه 0 تا 100 قرار دهیم.
برای این کار بایستی ابتدا سنسور را در وضعیتی کاملا ثابت قرار داده و سپس سریال مانیتور در آردوینو را باز کرده و به ترتیب کاغذها با رنگ های قرمز، سبز و آبی را روبه‌روی سنسور قرار دهیم. رنج تغییر هر رنگ را یادداشت می‌کنیم و این رنج را از طریق دستور map به رنج 0 تا 100 تغییر می‌دهیم.

خروجی Serial Monitor را زمانی که به ترتیب سه رنگ قرمز، سبز و آبی را روبه‌روی سنسور قرار می‌دهیم، در شکل زیر می‌بینید.

خروجی رنگ قرمز:

خروجی رنگ سبز:

خروجی رنگ آبی:

آموزش های مشابه

دیدگاهتان را بنویسید

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