Kako mjeriti RGB boje pomoću Arduina i TCS34725 senzora

  • TCS34725 senzor mjeri RGB boje sa velikom preciznošću.
  • Koristi infracrveni filter za uklanjanje svjetlosnih smetnji.
  • Komunicira sa Arduinom koristeći I2C protokol.

TCS34725 Senzor sa Arduinom

TCS34725 senzor je vrlo koristan alat za elektronske projekte gdje trebate precizno mjeriti boje. Ako radite sa Arduinom i zanima vas detekcija boja, ovaj uređaj je odlična opcija. Široko se koristi za razlaganje boja na njihove RGB (crvene, zelene i plave) komponente i dobijanje tačnih mjerenja. Senzor takođe ima prednost što ima I2C komunikacioni interfejs, što olakšava njegovu integraciju i očitavanja.

U ovom članku ćemo detaljno istražiti kako TCS34725 senzor boja radi i kako ga lako možete koristiti u Arduino projektima.

Šta je senzor TCS34725? To je optički uređaj koji olakšava čitanje boja u RGB formatu. To je visoko precizan i moderan senzor, koji nadmašuje druge starije modele kao što je TCS3200. TCS34725 ima niz fotodioda koji uključuje filtere za tri osnovne boje (crvenu, zelenu i plavu), plus fotodiodu bez filtera („prozirnu“) koja mjeri ukupnu količinu upadne svjetlosti.

Senzor se ističe po ugradnji infracrvenog filtera, koji poboljšava preciznost u okruženjima sa puno svjetlosnih smetnji. Takođe je prilično prilagodljiv, jer možemo podesiti parametre kao što su vrijeme integracije i dobitak putem softvera. Ovaj uređaj je dovoljno osjetljiv da radi u uvjetima slabog osvjetljenja, čak i sa zaštitnim staklom između senzora i objekta koji mjerimo.

Radi lakšeg korišćenja, senzor TCS34725 obično dolazi integrisan u komercijalne module koji uključuju LED neutralno osvetljenje. LED se može lako kontrolisati iz Arduina, prilagođavajući se potrebama projekta.

Karakteristike i prednosti TCS34725

TCS34725 se izdvaja od ostalih RGB senzora na tržištu po nekoliko ključnih karakteristika. Na primjer, možete podesiti pojačanje i vrijeme ekspozicije da biste dobili preciznija očitanja. U nastavku prikazujemo neke od glavnih prednosti:

  • Infracrveni filter: Ovo omogućava preciznija očitavanja eliminacijom većeg dijela buke uzrokovane nevidljivim izvorima svjetlosti, kao što je direktna sunčeva svjetlost.
  • visoka osjetljivost: Njegov dinamički raspon je impresivan, što ga čini prikladnim čak i u okruženjima sa slabom svjetlošću.
  • LED kontrola rasvjete: Većina modula integriše LED koji se može kontrolirati iz samog Arduina, što osigurava konstantno osvjetljenje za očitavanja.

Dijagram povezivanja senzora

Povezivanje senzora sa Arduinom je vrlo jednostavno zahvaljujući njegovom I2C interfejsu. TCS34725 senzor može raditi na 3.3v ili 5v napajanju, što ga čini kompatibilnim sa širokim spektrom mikrokontrolera. U nastavku vam dajemo korake za pravilno povezivanje:

  • VCC: Povežite se na 5V na Arduinu.
  • GND: Povežite se na GND.
  • SDA: Povezuje se na pin A4 Arduina (na modelima kao što je UNO).
  • SCL: Povezuje se na pin A5 Arduina.

Imajte na umu da neki moduli mogu imati dodatne pinove kao što je LED, što vam omogućava da kontrolirate njegovo ponašanje sa samog Arduina kako biste uštedjeli energiju ili ga prilagodili uvjetima vašeg mjernog okruženja.

Biblioteke i kod za TCS34725

Postoji nekoliko dostupnih biblioteka koje olakšavaju rad sa ovim RGB senzorom, ali jedna od najpreporučljivijih i najčešće korištenih je Adafruit biblioteka pod nazivom "Adafruit_TCS34725". Možete ga instalirati direktno iz Arduino IDE menadžera biblioteke.

Da biste ga instalirali, slijedite ove korake:

  • Otvorite Arduino IDE, idite na karticu alat i izaberite Uključi biblioteku -> Upravljaj bibliotekama.
  • pisati Adafruit TCS34725 i izaberite instaliraj. Na ovaj način biblioteka će biti spremna za upotrebu.

Nakon što ga instalirate, možete koristiti sljedeći osnovni kod za testiranje senzora TCS34725. Ovaj kod jednostavno dobiva RGB vrijednosti i prikazuje ih preko serijskog porta:

#include #include "Adafruit_TCS34725.h"Adafruit_TCS34725 tcs = Adafruit_TCS34725();void setup() { Serial.begin(9600); if (!tcs.begin()) { Serial.println("Senzor nije pronađen"); dok (1); }}void loop() { uint16_t r, g, b, c; tcs.getRawData(&r, &g, &b, &c); Serial.print("Crveno: "); Serial.println(r); Serial.print("Zeleno: "); Serial.println(g); Serial.print("Plavo: "); Serial.println(b); kašnjenje (1000); }

Kalibracija i upotreba senzora

Važno je napomenuti da senzor TCS34725 treba kalibrirati radi veće preciznosti. To je zbog ograničenja bilo kojeg mjernog uređaja. Kalibracija općenito uključuje podešavanje vrijednosti pojačanja i vremena integracije kako bi se dobila tačna očitavanja u svjetlosnim uvjetima vašeg okruženja.

Također, zapamtite da sjajne površine mogu uzrokovati pogrešna očitavanja zbog refleksije. Ako radite sa jako reflektirajućim površinama, preporučljivo je prekriti senzor nekim mat materijalom ili postaviti polarizacijski filter.

TCS34725 Primjena senzora boje

Ovaj senzor je savršen za projekte u kojima trebate precizno detektirati boje. Neke aplikacije TCS34725 uključuju:

  • Klasifikacija predmeta prema njihovoj boji.
  • Sistemi ambijentalnog osvjetljenja, gdje se osvjetljenje može automatski prilagoditi na osnovu dominantne boje okoline.
  • Dupliranje boja u RGB LED trakama, kao što je WS2812B.

U naprednim projektima, ovaj senzor se također može koristiti za mjerenje temperature boje i količine svjetlosti u sceni, što je korisno u fotografiji ili projektima pametnog osvjetljenja.