TCS34725 هو مستشعر ألوان قادر على اكتشاف شدة الضوء الأحمر والأخضر والأزرق والضوء الواضح. يستخدم على نطاق واسع في مشاريع الكشف عن الألوان ، بما في ذلك الروبوتات والأتمتة المنزلية والتطبيقات الحساسة للألوان. سوف يرشدك هذا البرنامج التعليمي من خلال إعداد واستخدام مستشعر الألوان TCS34725 مع Arduino.
ماذا ستحتاج
- لوحة أردوينو (على سبيل المثال ، UNO ، Mega ، Nano)
- وحدة استشعار الألوان TCS34725
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر مع Arduino IDE مثبت
- المكتبات: مكتبة Adafruit TCS34725
الخطوة 1: فهم مستشعر الألوان TCS34725
TCS34725 هو مستشعر متوافق مع I2C يوفر بيانات شدة اللون والضوء. ويشمل:
- مستشعر RGBC: يقيس شدة الضوء الأحمر والأخضر والأزرق والواضح.
- مرشح حظر IR: يحسن دقة اللون في ظل ظروف الإضاءة المختلفة.
- قاد: LED أبيض مدمج للإضاءة الثابتة (اختياري للاستخدام).
الخطوة 2: توصيل TCS34725 إلى Arduino
يتواصل TCS34725 مع Arduino عبر بروتوكول I2C.
الاتصالات
دبوس المستشعر | دبوس أردوينو |
---|---|
فين | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
ملحوظة: بالنسبة إلى لوحات Arduino مع دبابيس SDA و SCL مخصصة (على سبيل المثال ، MEGA) ، قم بتوصيل دبابيس SDA/SCL الخاصة بالمستشعر بدلاً من ذلك.
الخطوة 3: تثبيت المكتبة المطلوبة
لاستخدام مستشعر TCS34725 ، تحتاج إلى مكتبة ADAFRUIT TCS34725.
خطوات لتثبيت المكتبة
- افتح Arduino IDE.
- اذهب إلى رسم> تضمين مكتبة> إدارة المكتبات.
- ابحث عن "Adafruit TCS34725".
- انقر ثَبَّتَ.
الخطوة 4: تحميل رمز المثال
فيما يلي مثال أساسي لقراءة وعرض قيم الألوان من مستشعر TCS34725.
رمز مثال
#include <Wire.h>
#include "Adafruit_TCS34725.h"
// Create an instance of the sensor
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_700MS, TCS34725_GAIN_1X);
void setup() {
Serial.begin(9600);
if (!tcs.begin()) {
Serial.println("TCS34725 not found. Check your wiring or I2C address.");
while (1); // Halt execution if sensor not found
}
Serial.println("TCS34725 is ready!");
}
void loop() {
uint16_t r, g, b, c;
float lux, colorTemp;
// Get the raw data from the sensor
tcs.getRawData(&r, &g, &b, &c);
// Calculate color temperature and lux
colorTemp = tcs.calculateColorTemperature_dn40(r, g, b, c);
lux = tcs.calculateLux(r, g, b);
// Print the results
Serial.print("Red: "); Serial.print(r); Serial.print(" \t");
Serial.print("Green: "); Serial.print(g); Serial.print(" \t");
Serial.print("Blue: "); Serial.print(b); Serial.print(" \t");
Serial.print("Clear: "); Serial.print(c); Serial.print(" \t");
Serial.print("Color Temp: "); Serial.print(colorTemp); Serial.print(" K \t");
Serial.print("Lux: "); Serial.println(lux);
delay(1000); // Update every second
}
الخطوة 5: استخدام البيانات
1. الكشف عن اللون
يمكنك تعيين قيم RGB لتحديد ألوان محددة. على سبيل المثال:
if (r > g && r > b) {
Serial.println("Red Detected");
} else if (g > r && g > b) {
Serial.println("Green Detected");
} else if (b > r && b > g) {
Serial.println("Blue Detected");
}
2. الإجراءات القائمة على اللون
استخدم الألوان المكتشفة للتحكم في المصابيح أو المحركات. على سبيل المثال:
if (r > g && r > b) {
digitalWrite(ledPin, HIGH); // Turn on red LED
}
3. ضبط المستشعر
تعديل كسب المستشعر ووقت التكامل لظروف الإضاءة المختلفة:
- وقت التكامل: يحدد مدة قياس الضوء. الخيارات: 2.4 مللي ثانية إلى 700 مللي ثانية.
- يكسب: تضخيم الإشارة. الخيارات: 1x ، 4x ، 16x ، 60x.
مثال:
tcs.setIntegrationTime(TCS34725_INTEGRATIONTIME_154MS);
tcs.setGain(TCS34725_GAIN_4X);
أفضل الممارسات
- إضاءة متسقة: استخدم LED المدمج في المستشعر أو ضمان ظروف إضاءة مستقرة.
- معايرة الدقة: ضبط الكسب ووقت التكامل للقراءات المثلى.
- ضجيج تصفية: استخدم الأسلاك القصيرة والأرضية المناسبة لتقليل الضوضاء الكهربائية.
استكشاف الأخطاء وإصلاحها
-
لم يتم اكتشاف المستشعر:
- تحقق من اتصالات SDA و SCL.
- تحقق من عنوان I2C (افتراضي: 0x29).
-
قراءات غير دقيقة:
- ضمان الإضاءة المناسبة وتجنب الظلال.
- ضبط وقت الكسب وتكامل.
-
القيم المتقلب:
- أضف مكثفًا عبر مصدر الطاقة لتحقيق الاستقرار.
تطبيقات مستشعر TCS34725
- الفرز القائم على الألوان في الروبوتات
- استشعار الضوء المحيط
- معايرة اللون في التصوير الفوتوغرافي
- RGB LED التحكم
- أنظمة الإضاءة الآلية
خاتمة
يعد TCS34725 مستشعر ألوان قوي وسهل الاستخدام لمشاريع Arduino. باتباع هذا الدليل ، يمكنك دمج المستشعر في التصميمات الخاصة بك ، وتمكين الكشف عن الألوان ، وقياس الضوء المحيط ، والمزيد. تجربة مع تكوينات مختلفة لاستكشاف الإمكانات الكاملة لهذه الوحدة متعددة الاستخدامات!