I dette prosjektet skal vi grensesnitt TCS3200 fargesensor med Arduino UNO. TCS3200 er en fargesensor som kan oppdage et hvilket som helst antall farger med riktig programmering. TCS3200 inneholder RGB (rød grønn blå) matriser. Som vist i figuren på mikroskopisk nivå kan man se de firkantede boksene inne i øye på sensoren. Disse firkantede boksene er matriser av RGB-matrise. Hver av disse boksene inneholder tre sensorer, en er for å registrere RØD lysintensitet, en er for å registrere GRØNN lysintensitet og den siste for å registrere BLÅ lysintensitet.
Hver av sensorarrayene i disse tre gruppene velges separat avhengig av behovet. Derfor er det kjent som programmerbar sensor. Modulen kan presenteres for å føle den spesielle fargen og for å forlate de andre. Den inneholder filtre for det valgte formålet. Det er fjerde modus som ikke er filtermodus. Uten filtermodus oppdager sensoren hvitt lys.
Komponenter kreves
Maskinvare: ARDUINO UNO, strømforsyning (5v), LED, JHD_162ALCD (16 * 2LCD), TCS3200 fargesensor.
Programvare: ARDUINO IDE (ARDUINO nattlig).
Kretsdiagram og arbeidsforklaring
I 16x2 LCD er det 16 pinner overalt hvis det er baklys, hvis det ikke er noe bakgrunnslys, vil det være 14 pinner. Man kan drive eller la baklyspinnene ligge. Nå i de 14 pinnene er det 8 datapinner (7-14 eller D0-D7), 2 strømforsyningspinner (1 & 2 eller VSS & VDD eller GND & + 5v), 3. pinne for kontrastkontroll (VEE-kontrollerer hvor tykke tegnene skal være vist), og 3 kontrollpinner (RS & RW & E)
I kretsen kan du se at jeg bare har tatt to kontrollpinner. Kontrastbiten og LES / SKRIV brukes ikke ofte slik at de kan kortsluttes til bakken. Dette setter LCD i høyest kontrast og lesemodus. Vi trenger bare å kontrollere ENABLE- og RS-pinner for å sende tegn og data tilsvarende.
Tilkoblingene som gjøres for LCD er gitt nedenfor:
PIN1 eller VSS til bakken
PIN2 eller VDD eller VCC til + 5v strøm
PIN3 eller VEE til jord (gir maksimal kontrast best for en nybegynner)
PIN4 eller RS (Registrer valg) til PIN8 for ARDUINO UNO
PIN5 eller RW (lese / skrive) til bakken (setter LCD i lesemodus letter kommunikasjonen for brukeren)
PIN6 eller E (Aktiver) til PIN9 av ARDUINO UNO
PIN11 eller D4 til PIN7 for ARDUINO UNO
PIN12 eller D5 til PIN11 for ARDUINO UNO
PIN13 eller D6 til PIN12 for ARDUINO UNO
PIN14 eller D7 til PIN13 for ARDUINO UNO
Tilkoblingene som gjøres for fargesensoren er gitt nedenfor:
VDD til + 5V
GND til JORD
OE (output Enable) til GND
S0 til UNO pin 2
S1 til UNO pin 3
S2 til UNO pin 4
S3 til UNO pin 5
UT til UNO pin 10
Fargen som må registreres av fargesensoren velges av to pinner S2 og S3. Med disse to pinnene logikkontroll kan vi fortelle sensoren hvilken farge lysintensitet som skal måles.
Si at vi trenger å kjenne på den RØDE fargeintensiteten vi trenger for å sette begge pinnene til LAV. Når det er gjort, registrerer sensoren intensiteten og sender verdien til kontrollsystemet inne i modulen.
S2 |
S3 |
Fotodiodetype |
L |
L |
rød |
L |
H |
Blå |
H |
L |
Fjern (uten filter) |
H |
H |
Grønn |
Kontrollsystemet inne i modulen er vist i figur. Lysintensiteten målt av matrisen sendes til strøm til frekvensomformer. Det den gjør er at den legger ut en firkantbølge hvis frekvens er i forhold til strøm sendt av ARRAY.
Så vi har et system som sender ut en firkantbølge hvis frekvens avhenger av lysintensiteten til farge som er valgt av S2 og S3.
Signalfrekvensen som sendes av modulen kan moduleres avhengig av bruk. Vi kan endre båndbredden for utgangssignalfrekvensen.
S0 |
S1 |
Utgangsfrekvensskalering (f 0) |
L |
L |
Slå av |
L |
H |
2% |
H |
L |
20% |
H |
H |
100% |
Frekvensskaleringen utføres av to bits S0 og S1. For enkelhets skyld skal vi begrense frekvensskaleringen til 20%. Dette gjøres ved å sette S0 til høy og S1 til LAV. Denne funksjonen er nyttig når vi bruker modulen på systemet med lav klokke.
Arrayfølsomheten for farge er vist i figuren nedenfor.
Selv om forskjellige farger har forskjellig følsomhet, vil det for normal bruk ikke gjøre noen stor forskjell.
UNO sender her signal til modulen for å oppdage farger, og dataene som mottas av modulen vises i 16 * 2 LCD koblet til den.
UNO oppdager tre fargeintensiteter hver for seg og viser dem på LCD.
Uno kan oppdage signalpulsens varighet der vi kan få frekvensen av firkantbølgen sendt av modulen. Med frekvensen tilgjengelig kan vi matche den med farge på sensoren.
|
Som ved den ovenfor angitte betingelse UNO leser pulsvarighet på 10 th pin av UNO og lagrer den verdien i “frekvens” heltall.
Vi skal gjøre dette for alle tre farger for fargegjenkjenning. Alle tre fargeintensiteter vises med frekvenser på 16x2 LCD.