لقد تطور عالم مستشعرات الألوان وازدادت شعبيته، خاصة في مشاريع DIY ومع منصات مثل Arduino. أحد أجهزة الاستشعار الأكثر تقدمًا وبأسعار معقولة هو TCS34725، الذي يتميز بسهولة الاستخدام والدقة. إذا كنت تعمل في مشروع يتطلب اكتشافًا دقيقًا للألوان، فإن هذا المستشعر يعد خيارًا موصى به للغاية.
في هذه المقالة، سنستكشف ميزات وتطبيقات TCS34725 بعمق، بالإضافة إلى تزويدك ببعض أمثلة التعليمات البرمجية التي ستسمح لك بدمجها بسرعة في Arduino أو المشاريع الأخرى المعتمدة على وحدات التحكم الدقيقة.
ما هو مستشعر الألوان TCS34725؟
El TCS34725 وهو عبارة عن مستشعر بصري رقمي يقيس الألوان RGB والألوان الواضحة، أي شدة الضوء الأحمر والأخضر والأزرق والواضح. على عكس المستشعرات الأساسية الأخرى، يوفر هذا المستشعر دقة أكبر وسهولة في الاستخدام نظرًا لمخرجاته الرقمية وقدرته على الاتصال عبر I2C.
يدمج هذا المستشعر أيضًا أ مرشح الأشعة تحت الحمراء (IR).، مما يعمل على تحسين جودة القياس في ظل ظروف الإضاءة المحيطة، مما يزيل بعض الضوضاء التي قد تشوه النتائج. بفضل محول ADC 16 بت (المحول التناظري الرقمي)، يكون القياس دقيقًا للغاية.
بالإضافة إلى كونه متوافقًا مع Arduino، يمكن استخدام TCS34725 مع منصات مثل فطيرة التوت أو أي جهاز آخر يسمح بالاتصال عبر I2C. وهذا يجعله مكونًا متعدد الاستخدامات لتطبيقات مختلفة في مشاريع الإلكترونيات والروبوتات.
الخصائص الرئيسية لجهاز الاستشعار TCS34725
يتميز TCS34725 بالعديد من الميزات التي تجعله متميزًا عن أجهزة استشعار الألوان الأخرى:
- مرشح الأشعة تحت الحمراء المتكامل: من خلال حجب الأشعة فوق البنفسجية والأشعة تحت الحمراء، يحقق المستشعر دقة فائقة في قياس الألوان.
- نطاق ديناميكي 3.800.000:1: يمنحك هذا مرونة كبيرة عند العمل في ظروف الإضاءة المنخفضة.
- جهد التشغيل بين 3.3 فولت و5 فولت: هذا النطاق يسمح له بالعمل مع منطق 3.3 فولت و5 فولت، مما يجعله مثاليًا لكل من مشاريع Arduino ووحدات التحكم الدقيقة الأخرى.
- اتصالات I2C بسيطة: من السهل جدًا دمجها في لوحات التطوير الشائعة مثل Arduino وRaspberry.
- المدمج في LED الأبيض المحايد: يشتمل المستشعر على مصباح LED يوفر إضاءة محايدة (4150 درجة كلفن)، مما يجعل من السهل قياس لون الأشياء التي تفتقر إلى الإضاءة الخارجية بدقة.
مخطط الاتصال والتجمع
يمكن شراء TCS34725 في وحدات معدة بالفعل للاستخدام في اللوحات أو أنظمة الاختبار. يمكن أن يكون مصدر طاقة المستشعر 3.3 فولت أو 5 فولت، ويتم الاتصال من خلال ناقل I2C، مما يبسط عملية الاتصال إلى حد كبير.
لتوصيله بلوحة Arduino، فإن أهم المسامير هي:
- GND: الاتصال بالأرض.
- VCC أو VIN: 3.3 فولت أو 5 فولت.
- SDA: دبوس بيانات I2C (يمكنك توصيله بدبوس A4 Arduino Uno).
- SCL: دبوس الساعة I2C (يتصل بالدبوس A5 الموجود على Arduino Uno).
تم استدعاء الدبوس الإضافي LED يسمح لك بالتحكم في إضاءة مؤشر LED المدمج بالمستشعر. يمكنك تركه غير متصل لإبقائه قيد التشغيل طوال الوقت، أو يمكنك توصيله بدبوس رقمي والتحكم فيه من خلال الكود وتشغيله أو إيقاف تشغيله حسب الحاجة.
تشغيل جهاز الاستشعار TCS34725
يتكون مستشعر TCS34725 من مصفوفة الثنائيات الضوئية المصفاة، يكتشف كل منها ضوءًا محددًا: أحمر، أو أخضر، أو أزرق، أو واضح (بدون مرشح محدد). يتم تحويل هذه المعلومات إلى إشارة رقمية بواسطة ADC 16 بت المدمج ويتم توصيلها بلوحة التحكم عبر I2C.
يتضمن المستشعر أ مرشح الأشعة تحت الحمراء مما يعمل على تحسين دقة القراءات عن طريق القضاء على التداخل الناتج عن الأشعة تحت الحمراء من البيئة. كما أنه يتضمن وظائف متقدمة تتيح لك ضبط وقت الكسب والتكامل وفقًا لاحتياجات المشروع.
وهذا مفيد بشكل خاص عند العمل في بيئات ذات ظروف إضاءة مختلفة، حيث يمكنك ضبط المستشعر للعمل على النحو الأمثل في كل موقف. ويعني نطاقه الديناميكي العالي أنه يمكن أن يعمل حتى عند القياس من خلال الزجاج الداكن، مما يضيف تنوعًا في التطبيقات الصناعية أو المواقف التي لا يتعرض فيها المستشعر للضوء مباشرة.
أكواد وأمثلة عملية للاردوينو
لاستخدام هذا المستشعر مع الاردوينو، هناك العديد من المكتبات المصممة خصيصًا لهذا الغرض. من بين أكثر الموصى بها هو مكتبة أدفروت، والذي يقدم مجموعة واسعة من الأمثلة للبدء.
وفيما يلي، نعرض لك مثالين للاستخدام العملي:
قراءة قيم RGB
هذا المثال هو الأكثر أهمية: فهو يتكون من قراءة قيم القنوات الحمراء والخضراء والزرقاء والخفيفة للمستشعر وعرضها من خلال شاشة Arduino التسلسلية. تعتبر هذه البيانات المعروضة مفيدة جدًا لتحليل كثافة الألوان وإجراء العمليات الحسابية الأساسية.
// Configuración básica para leer valores RGB
#include <Wire.h>
#include "Adafruit_TCS34725.h"
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_700MS, TCS34725_GAIN_1X);
void setup(void) {
Serial.begin(9600);
if (!tcs.begin()) {
Serial.println("No se pudo iniciar el sensor");
while (1);
}
}
void loop(void) {
uint16_t r, g, b, c;
tcs.getRawData(&r, &g, &b, &c);
Serial.print("Rojo: "); Serial.println(r);
Serial.print("Verde: "); Serial.println(g);
Serial.print("Azul: "); Serial.println(b);
delay(1000);
}
سيحصل هذا الكود البسيط على القيم مباشرة من المستشعر ويطبعها على المنفذ التسلسلي لتحليلها. ومن هذه البيانات يمكنك التجربة والحصول على المعلومات اللازمة لمشاريعك.
فرز الألوان
الخطوة الأكثر تقدمًا هي إنشاء خوارزمية تصنف الألوان التي يكتشفها المستشعر. في هذا المثال، نقوم بتحويل قيم RGB التي تم الحصول عليها إلى تنسيق HSV (درجة اللون والتشبع والقيمة)، مما سيسمح لنا بإجراء تصنيف ألوان أكثر دقة.
في هذا المثال، من المثالي استخدام مكتبة تحويل RGB إلى HSV مثل "ColorConverter"، على الرغم من أنه يمكنك برمجة التحويل يدويًا.
التطبيقات العملية لـ TCS34725
El الاستشعار TCS34725 يمكن استخدامها في مجموعة واسعة من التطبيقات. نظرًا لدقته وسهولة تكامله في المشاريع الإلكترونية، فهو مثالي لمجالات مثل:
- التصنيف التلقائي للكائنات حسب اللون: الأنظمة الروبوتية التي تتطلب التعرف على الأشياء وفصلها حسب لونها.
- تأثيرات الإضاءة التفاعلية: مراقبة وضبط الأضواء في أنظمة التشغيل الآلي للمنزل أو المنشآت الفنية.
- مراقبة الجودة في العمليات الصناعية: مراقبة وتحليل جودة الألوان في المنتجات المصنعة.
إن تعدد استخداماتها يجعلها أداة قيمة في أي مشروع يكون فيه الكشف الدقيق عن الألوان مهمًا. من التشغيل الآلي إلى الفن الرقمي، يعد TCS34725 حليفًا مثاليًا لبيانات الألوان الموثوقة.
إذا كنت تبحث عن مستشعر ألوان دقيق وبأسعار معقولة ومتعدد الاستخدامات، فإن TCS34725 يعد خيارًا لا ينبغي عليك استبعاده. سواء كان لديك بالفعل خبرة في العمل مع أجهزة الاستشعار أو كان هذا هو مشروعك الأول، فإن هذا المكون سيوفر لك نتائج ممتازة لقياس الألوان.