ویژگی های سنسور سنجش نور TCS34725
ماژول سنسور رنگ RGB TCS3472، یکی از بهترین ماژولهایی است که به وسیله آن میتوانید رنگ های متفاوت و خیره کننده را ببینید. این ماژول بهترین سنسور رنگ موجود در بازار است که دارای المانهای سنجش نور RGB و Clear است.
این ماژول دارای فیلتر IR است که المان های طیف IR را فیلتر میکند و در نتیجه طیف رنگی بسیار زیادی با دقت بالا قابل مشاهده است. این عمل باعث میشود شما رنگ واقعی تری را ببینید و استفاده کنید. همچنین رنج این ماژول 3800000:1 میباشد. بنابراین برای استفاده در پشت شیشه تیره مناسب است.
معرفی پایه ها (Pinout) سنسور رنگ TCS34725
سنسور TCS34725 دارای 7 پایه به شرح زیر است:
- VCC: تغذیه ماژول – 5 ولت
- 3.3: تغذیه ماژول – 3.3 ولت
- GND: زمین
- SLC: همزمان سازی برای پروتکل I2C
- SDA: اطلاعات برای پروتکل I2C
- INT: تنظیم آدرس پروتکل I2C
- LED: خاموش کردن LED – Active Low
پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.
جهت دریافت دیتاشیت سنسور سنجش نور TCS34725 اینجا کلیک کنید.
TCS34725 Color Sensor Datasheet
لوازمی که به آن احتیاج دارید
با توجه به نیاز خود از یکی از میکروکنترلر های STM32 یا Arduino استفاده کنید.
قطعات مورد نیاز
نرم افزارهای موردنیاز
راه اندازی ماژول سنجش نور TCS34725 با آردوینو
گام اول: سیم بندی
گام دوم: کد
ابتدا کتابخانه زیر را بر آردوینو خود نصب کنید.
توجه
اگر نیاز به راهنمایی بیشتر برای نصب کتابخانه بر روی آردوینو دارید، می توانید به آموزش نصب کتابخانه بر آردوینو مراجعه کنید.
کد زیر را روی برد آردوینوی یا STM32 خود آپلود کنید.
#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);
colorTemp = tcs.calculateColorTemperature_dn40(r, g, b, c);
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(" ");
delay(100); delay(100); delay(100); Serialrial }