Светът на цветните сензори се развива и расте в популярност, особено в проекти „Направи си сам“ и с платформи като Arduino. Един от най-модерните и достъпни сензори е TCS34725, който се отличава със своята лекота на използване и точност. Ако работите по проект, който изисква точно разпознаване на цветовете, този сензор е силно препоръчителна опция.
В тази статия ще проучим в дълбочина функциите и приложенията на TCS34725, както и ще ви предоставим някои примери на код, които ще ви позволят бързо да го интегрирате във вашия Arduino или други проекти, базирани на микроконтролер.
Какво е цветен сензор TCS34725?
El TCS34725 Това е цифров оптичен сензор, който измерва RGB и Clear цветовете, тоест интензитета на червената, зелената, синята и чистата светлина. За разлика от други по-основни сензори, този предлага по-голяма прецизност и лекота на използване поради своя цифров изход и способността му да комуникира чрез I2C.
Този сензор също интегрира a инфрачервен (IR) филтър, което подобрява качеството на измерване при условия на околна светлина, елиминирайки част от шума, който може да изкриви резултатите. Благодарение на своя 16-битов ADC (аналогово-цифров преобразувател), измерването е много прецизно.
Освен че е съвместим с Arduino, TCS34725 може да се използва заедно с платформи като Raspberry Pi или всяко друго устройство, което позволява I2C комуникация. Това го прави универсален компонент за различни приложения в проекти за електроника и роботика.
Основни характеристики на сензора TCS34725
TCS34725 има няколко характеристики, които го отличават от другите цветни сензори:
- Интегриран IR филтър: Като блокира ултравиолетовото и инфрачервеното лъчение, сензорът постига изключителна точност при измерване на цветовете.
- 3.800.000 1 XNUMX:XNUMX динамичен диапазон: Това ви дава голяма гъвкавост при работа в условия на слаба светлина.
- Работно напрежение между 3.3V и 5V: Този диапазон му позволява да работи както с 3.3 V, така и с 5 V логика, което го прави идеален както за Arduino, така и за други проекти за микроконтролери.
- Проста I2C комуникация: Много лесен за интегриране в популярни платки за разработка като Arduino и Raspberry.
- Вграден неутрален бял светодиод: Сензорът включва светодиод, който осигурява неутрално осветление (4150ºK), което улеснява точното измерване на цвета на обекти, които нямат външно осветление.
Схема на свързване и монтаж
TCS34725 може да бъде закупен на модули, които вече са подготвени за използване в макетни платки или тестови системи. Захранването на сензора може да бъде 3.3V или 5V, а комуникацията се осъществява чрез I2C шина, което значително опростява процеса на свързване.
За да го свържете към платка Arduino, най-важните щифтове ще бъдат:
- GND: Свържете към земята.
- VCC или VIN: 3.3V или 5V захранване.
- S.D.A.: I2C щифт за данни (можете да го свържете към щифт A4 на Arduino Uno).
- SCL: I2C часовников щифт (свържете към щифт A5 на Arduino Uno).
Допълнителният щифт се обади Светодиод ви позволява да контролирате осветлението на вградения светодиод на сензора. Можете да го оставите несвързан, за да го държите включен през цялото време, или можете да го свържете към цифров щифт и да го управлявате от кода, като го включвате или изключвате според нуждите.
Работа на сензора TCS34725
Сензорът TCS34725 е съставен от матрица от филтрирани фотодиоди, всяка от които открива специфична светлина: червена, зелена, синя или ясна (без специфичен филтър). Тази информация се преобразува в цифров сигнал от интегрирания 16-битов ADC и се комуникира с платката на контролера чрез I2C.
Сензорът включва a инфрачервен филтър което подобрява точността на показанията чрез елиминиране на смущенията от инфрачервена светлина от околната среда. Той също така включва разширени функционалности, които ви позволяват да регулирате печалбата и времето за интегриране според нуждите на проекта.
Това е особено полезно, когато работите в среди с различни условия на осветление, тъй като можете да адаптирате сензора да работи оптимално във всяка ситуация. Неговият висок динамичен диапазон означава, че може да работи дори при измерване през тъмно стъкло, което добавя гъвкавост в индустриални приложения или ситуации, при които сензорът не е директно изложен на светлина.
Кодове и практически примери за Arduino
За да използвате този сензор с Arduino, има различни библиотеки, предназначени специално за тази цел. Сред най-препоръчваните е Книжарница Adafruit, който предлага голямо разнообразие от примери, за да започнете.
По-долу ви показваме два примера за практическа употреба:
Прочетете 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 е опция, която не трябва да изключвате. Независимо дали вече имате опит в работата със сензори или това е първият ви проект, този компонент ще ви осигури отлични резултати при измерване на цветовете.