TCS34725 یک سنسور یکپارچه جهت تشخیص رنگ اجسام می باشد . این سنسور متشکل از گیرنده های RGB است که شدت هر کدام از رنگ های قرمز ، سبز و آبی را به دست می دهد . همچنین دارای فیلتر های مادون قرمز است که از تاثیر نور های زائد محیط بر خروجی جلوگیری میکند . از این سنسور می توان در تجهیزات پرتابل همانند گوشی های موبایل ، سیستم های تشخیص رنگ یا در خطوط سورتینگ استفاده نمود . این سنسور به بهترین شکل ممکن جهت استفاده در سیستم های پرتابل بهینه شده است که می توانید با یک باتری ساعت ها از آن استفاده نمایید . TCS34725 دارای یک ADC داخلی 16 بیتی است . رابط ارتباطی این ماژول I2C میباشد که امکان راه اندازی آن از طریق تنها دو پین امکان پذیر می باشد . در این آموزش به نحوه اتصال و راه اندازی ماژول TCS34725 توسط آردوینو را خواهیم پرداخت .
قبل از هرچیز بهتر است به پایه های این ماژول بپردازیم . ماژول TCS34725 دارای 7 پایه مطالق تصویر پایین است :
1- LED این پایه جهت فعال سازی LED ماژولمی باشد . برای روشن شدن LED باید این پایه به 3.3 یه 5 ولت متصل شود .
2-INT پایه وقفه خارجی ( بر اساس برنامه ریزی ریجیستر های ماژول این پین در شرایط خاصی تغییر وضعیت می دهد ) .
3-SDA و SCL پایه های ارتباط I2C
4- 3.3V پایه خروجی 3.3 ولت (خروجی رگولاتور ماژول )
5-GND پایه زمین ماژول
6-VIN پایه تغذیه ماژول که می توان آن را به 3 تا 5 ولت متصل نمود .
شماتیک اتصال ماژول به آردوینو :
برای راه اندازی این ماژول علاوه بر پین های تغذیه باید پین های SDA و SCL را به پین های A4 و A5 برد آردوینو متصل نمود . همچنین برای تشخیص بهتر و دقیق تر رنگ باید LED ماژول را از طریق پین LED فعال کرد .
ماژول را مطابق شکل زیر به آردوینو متصل کنید :
کد های آردوینو :
#include <Wire.h> #include "Adafruit_TCS34725.h" /* Example code for the Adafruit TCS34725 breakout library */ /* Connect SCL to analog 5 Connect SDA to analog 4 Connect VDD to 3.3V DC Connect GROUND to common ground */ /* Initialise with default values (int time = 2.4ms, gain = 1x) */ // Adafruit_TCS34725 tcs = Adafruit_TCS34725(); /* Initialise with specific int time and gain values */ Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_700MS, TCS34725_GAIN_1X); void setup(void) { Serial.begin(9600); if (tcs.begin()) { Serial.println("Found sensor"); } else { Serial.println("No TCS34725 found ... check your connections"); while (1); } // Now we're ready to get readings! } void loop(void) { uint16_t r, g, b, c, colorTemp, lux; tcs.getRawData(&r, &g, &b, &c); colorTemp = tcs.calculateColorTemperature(r, g, b); lux = tcs.calculateLux(r, g, b); Serial.print("Color Temp: "); Serial.print(colorTemp, DEC); Serial.print(" K - "); Serial.print("Lux: "); Serial.print(lux, DEC); Serial.print(" - "); Serial.print("R: "); Serial.print(r, DEC); Serial.print(" "); Serial.print("G: "); Serial.print(g, DEC); Serial.print(" "); Serial.print("B: "); Serial.print(b, DEC); Serial.print(" "); Serial.print("C: "); Serial.print(c, DEC); Serial.print(" "); Serial.println(" "); }
در برنامه بالا از کتابخانه Adafruit_TCS34725 استفاده شده است که می توانید آن را از لینک زیر دانلود کنید :
https://github.com/adafruit/Adafruit_TCS34725/archive/master.zip