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

Tags:
About Author: USER_4