Arduino baserad Färgdetektor med färgsensor Tcs230
i detta projekt kommer vi att Gränssnitt tcs3200 färgsensor med Arduino UNO. TCS3200 är en färgsensor som kan upptäcka valfritt antal färger med rätt programmering. TCS3200 innehåller RGB (röd grön blå) matriser. Som visas i figur på mikroskopisk nivå kan man se de fyrkantiga rutorna inuti ögat på sensorn. Dessa fyrkantiga lådor är arrays av RGB-matris. Var och en av dessa lådor innehåller tre sensorer, en är för att känna av rött ljusintensitet, en är för att känna av grönt ljusintensitet och den sista för att känna av blått ljusintensitet.
var och en av sensormatriserna i dessa tre arrayer väljs separat beroende på krav. Därför är det känt som programmerbar sensor. Modulen kan presenteras för att känna av den specifika färgen och lämna de andra. Den innehåller filter för detta val ändamål. Det finns forth-läge som inte är något filterläge. Utan filterläge detekterar sensorn vitt ljus.
komponenter som krävs
hårdvara: ARDUINO UNO, strömförsörjning (5v), LED, JHD_162ALCD (16*2lcd),tcs3200 färgsensor.
programvara: ARDUINO IDE (ARDUINO nightly).
kretsschema och Arbetsförklaring
i 16×2 LCD finns det 16 stift över alla om det finns ett bakljus, om det inte finns något bakljus kommer det att finnas 14 stift. Man kan driva eller lämna bakljusstiften. Nu i de 14 stiften finns det 8 datastift (7-14 eller D0-D7), 2 strömförsörjningsstift (1&2 eller VSS&VDD eller GND&+5v), 3: e stift för kontrastkontroll (VEE-styr hur tjocka tecknen ska visas) och 3 styrstift (RS&RW&E)
i kretsen kan du observera att jag har en tog bara två kontrollstift. Kontrastbiten och läs / skriv används inte ofta så att de kan kortas till marken. Detta sätter LCD i högsta kontrast och läsläge. Vi behöver bara kontrollera Aktivera och RS-stift för att skicka tecken och data i enlighet därmed.
anslutningarna som görs för LCD ges nedan:
PIN1 eller VSS till marken
PIN2 eller VDD eller VCC till +5v effekt
PIN3 eller VEE till marken (ger maximal kontrast bäst för en nybörjare)
PIN4 eller RS (Register val) till PIN8 av ARDUINO UNO
PIN5 eller RW (Läs/skriv) till marken (3779>
pin6 eller e (aktivera) TOPIN9 av Arduino UNO
pin11 eller D4 till PIN7 av Arduino Uno
pin12 eller D5 till pin11 av Arduino UNO
PIN13 eller D6 till PIN12 av Arduino Uno
pin14 eller D7 till pin13 av arduino uno
anslutningarna som görs för färgsensor ges nedan:
VDD till +5V
GND till jord
OE (utgång Aktivera) till GND
S0 till UNO pin 2
S1 till UNO pin 3
S2 till UNO pin 4
S3 till uno stift 5
ut till UNO stift 10
färgen som måste avkännas av färgsensorn väljs av två stift S2 och S3. Med dessa två stift logic control kan vi berätta sensor vilken färg ljusintensitet ska mätas.
säg att vi måste känna av den röda färgintensiteten vi behöver ställa in båda stiften till låg. När det är gjort upptäcker sensorn intensiteten och skickar värdet till styrsystemet inuti modulen.
S2 |
S3 |
fotodiod Typ |
L |
L |
röd |
L |
H |
blå |
H |
L |
rensa (Inget filter) |
H |
H |
grön |
styrsystemet inuti modulen visas i figur. Ljusintensiteten mätt med array skickas till ström till frekvensomvandlare. Vad det gör är att det sätter ut en kvadratvåg vars frekvens är i förhållande till ström som skickas av ARRAY.
så vi har ett system som skickar ut en kvadratvåg vars frekvens beror på ljusintensitet av färg som väljs av S2 och S3.
signalfrekvensen som skickas med modul kan moduleras beroende på användning. Vi kan ändra utsignalens frekvensbandbredd.
S0 |
S1 |
skalning av Utgångsfrekvens (f0) |
L |
L |
Stäng av |
L |
H |
2% |
H |
L |
20% |
H |
H |
100% |
frekvensskalningen görs med två bitar S0 och S1. För enkelhets skull kommer vi att begränsa frekvensskalningen till 20%. Detta görs genom att ställa in S0 till hög och S1 till låg. Den här funktionen är till nytta när vi använder modulen på system med låg klocka.
matrisens känslighet för färg visas i figuren nedan.
även om olika färger har olika känslighet, för en normal användning kommer det inte att göra stor skillnad.
UNO skickar här signal till modul för att upptäcka färger och data som mottas av modulen visas i 16*2 LCD-skärmen ansluten till den.
UNO upptäcker tre färgintensiteter separat och visar dem på LCD-skärmen.
Uno kan upptäcka signalpulsens varaktighet genom vilken vi kan få frekvensen av kvadratvåg skickad av modul. Med frekvensen till hands kan vi matcha den med färg på sensorn.
- int frekvens = pulseIn (10, låg);