Uvod u RGB senzor u boji TCS3200

Isprobajte Naš Instrument Za Uklanjanje Problema





TCS3200 je čip pretvarača svjetlosti u frekvenciju u boji koji se može programirati putem mikrokontrolera. Modul se može koristiti za otkrivanje svih 7 boja bijele svjetlosti uz pomoć integriranog mikrokontrolera kao što je Arduino.

U ovom postu ćemo pogledati RGB senzor u boji TCS3200, razumjet ćemo kako funkcionira senzor u boji i praktički ćemo testirati TCS3200 senzor s Arduinom i izvući neke korisne podatke.



Važnost prepoznavanja boja

Svijet vidimo svaki dan, ispunjen bogatim bojama, jeste li se ikad zapitali koje su zapravo boje osim što ih vizualno osjećate. Pa, boje su elektromagnetski val s različitim valnim duljinama. Crvena, zelena, plava imaju različite valne duljine, ljudske oči su podešene da pokupe ove RGB boje, što je uski pojas od elektromagnetskog spektra.

Ali, vidimo više od crvene, plave i zelene, to je zato što naš mozak može pomiješati dvije ili više boja i daje novu boju.



Sposobnost gledanja različitih boja pomogla je drevnoj ljudskoj civilizaciji da pobjegne od opasnih po život opasnosti kao što su životinje, a također je pomogla u prepoznavanju jestivih predmeta poput voća u pravilnom rastu, koje će biti ugodno jesti.

Žene bolje prepoznaju različite nijanse boja (bolje osjetljive na boje) od muškaraca, ali muškarci bolje prate predmete koji se brzo kreću i u skladu s tim reagiraju.

Mnoga istraživanja sugeriraju da je to zbog antičkog razdoblja koji su muškarci odlazili u lov zbog svoje fizičke snage koja je bila bolja od žene.

Žene su počašćene manje rizičnim zadatkom poput sakupljanja voća i drugih jestivih predmeta s biljaka i drveća.

Sakupljanje jestivih predmeta s biljaka u pravilnom rastu (boja ploda igra veliku ulogu) bilo je vrlo važno za dobru probavu, što je ljudima pomoglo u rješavanju zdravstvenih problema.

Te razlike u vizualnim sposobnostima muškaraca i žena zadržavaju se i u današnje vrijeme.

Dobro, zašto gornja objašnjenja za elektronički senzor u boji? Pa, zato što su senzori za boju proizvedeni na temelju modela boje ljudskog oka, a ne na modelu boje očiju bilo koje druge životinje.

Na primjer, dvostruke kamere na pametnim telefonima jedna od kamera posebno je napravljena za prepoznavanje RGB boja, a druga kamera za snimanje normalnih slika. Spajanje ove dvije slike / informacije s nekim pažljivim algoritmom reproducirat će točne boje stvarnog objekta na zaslonu samo one koje ljudi mogu opaziti.

Napomena: Ne rade sve dualne kamere na isti način kao što je gore spomenuto, neki se koriste za optičko zumiranje, neki se koriste za postizanje dubinskog efekta polja itd.

Sada da vidimo kako se izrađuju TCS3200 senzori u boji.

Ilustracija senzora TCS3200:

TCS3200 senzor

Ima 4 ugrađene bijele LED diode za osvjetljenje objekta. Ima 10 pinova, dvije Vcc i GND pinove (upotrijebi bilo koja od njih). Ukratko će se objasniti funkcija S0, S1, S2, S3, S4 i ‘out’ pina.

Ako pažljivo pogledate senzor, možemo vidjeti nešto kao što je prikazano u nastavku:

Ima 8 x 8 senzora u boji što je ukupno 64. Blok foto-senzora ima crvene, plave i zelene senzore. Različiti senzori boje nastaju primjenom različitih filtara u boji na senzor. Od 64, ima 16 plavih, 16 zelenih, 16 crvenih senzora, a postoji 16 foto senzora bez ikakvog filtra u boji.

Filtar plave boje omogućit će samo svjetlu plave boje da pogodi senzor i odbije ostatak valnih duljina (Boje), to je isto za druga dva senzora u boji.

Ako osvijetlite plavo svjetlo na crvenom ili zelenom filtru, manje intenzivno svjetlo će proći kroz zeleni ili crveni filtar u usporedbi s plavim filtrom. Tako će plavo filtrirani senzor primiti više svjetla u usporedbi s druga dva.

Dakle, možemo staviti senzore u boji s RGB filtrima u blok i osvijetliti bilo koje obojeno svjetlo, a odgovarajući senzor u boji primit će više svjetla od druga dva.

Mjereći intenzitet svjetlosti primljene na senzoru može otkriti boju koja je svijetlila.

Za povezivanje signala sa senzora na mikrokontroler vrši se s intenzitetom svjetlosti u pretvarač frekvencije.

Blok dijagram

Igla 'out' je izlaz. Frekvencija izlaznog pina je 50% radnog ciklusa. S2 i S3 pinovi odabrane su linije za fotosenzor.

Bolje razumijete gledajući tabelu:

S2 i S3 pinovi odabrane su linije za fotosenzor.

Primjenom slabih signala na pin S2 i S3 odabrat će senzor crvene boje i izmjeriti intenzitet crvene valne duljine.

Slično tome, slijedite gornju tablicu za ostale boje.

Općenito se mjere crveni, plavi i zeleni senzori, a senzori ostaju bez filtera.

S0 i S1 su igle za skaliranje frekvencije:

S0 i S1 su igle za skaliranje frekvencije

S0 i S1 su igle za skaliranje frekvencije za skaliranje izlazne frekvencije. Skaliranje frekvencije koristi se za odabir optimalne izlazne frekvencije od senzora do mikrokontrolera. U slučaju Arduina preporučuje se 20%, S0 ‘HIGH’ i S1 ‘LOW’.

Izlazna frekvencija postaje visoka ako je intenzitet svjetlosti relevantnog senzora visok. Radi jednostavnosti programskog koda, frekvencija se ne mjeri, već se mjeri trajanje impulsa, što je veća frekvencija umanjena za trajanje impulsa.

Dakle, ona koja na očitanjima serijskog monitora najmanje pokazuje mora biti boja koja se nalazi ispred senzora.

Izdvajanje podataka iz senzora u boji

Pokušajmo sada izvući podatke iz senzora:

kako izvući podatke iz senzora u boji pomoću Arduino sklopa

Kod programa:

//--------------Program Developed by R.GIRISH--------------//
const int s0 = 4
const int s1 = 5
const int s2 = 6
const int s3 = 7
const int out = 8
int frequency1 = 0
int frequency2 = 0
int frequency3 = 0
int state = LOW
int state1 = LOW
int state2 = HIGH
void setup()
{
Serial.begin(9600)
pinMode(s0, OUTPUT)
pinMode(s1, OUTPUT)
pinMode(s2, OUTPUT)
pinMode(s3, OUTPUT)
pinMode(out, INPUT)
//----Scaling Frequency 20%-----//
digitalWrite(s0, state2)
digitalWrite(s1, state1)
//-----------------------------//
}
void loop()
')
delay(100)
//------Sensing Blue colour----//
digitalWrite(s2, state1)
digitalWrite(s3, state2)
frequency3 = pulseIn(out, state)
Serial.print(' Blue = ')
Serial.println(frequency3)
delay(100)
Serial.println('---------------------------------------')
delay(400)

//--------------Program Developed by R.GIRISH--------------//

IZLAZ serijskog monitora:

Očitavanje koje pokazuje najnižu je boja postavljena ispred senzora. Također možete napisati kod za prepoznavanje bilo koje boje, na primjer žute. Žuta je rezultat miješanja zelene i crvene, pa ako je žuta boja postavljena ispred senzora, morate uzeti u obzir očitanja crvene i zelene senzora, slično kao i za sve ostale boje.

Ako imate bilo kakvih pitanja u vezi s ovim RGB senzorom boja TCS3200 pomoću članka Arduino, navedite u odjeljku za komentare. Možete dobiti brzi odgovor.

Gore objašnjeni senzor boje također se može koristiti za pokretanje vanjskog uređaja putem releja za izvršavanje željene operacije.




Prethodno: Prekidač za uključivanje / isključivanje izmjeničnog napajanja kontroliranim lozinkom Dalje: Korištenje TSOP17XX senzora s prilagođenim frekvencijama