Arduino ha basato il rivelatore di colore facendo uso del sensore di colore TCS230
In questo progetto stiamo andando interfacciare il sensore di colore TCS3200 con Arduino UNO. TCS3200 è un sensore di colore che può rilevare qualsiasi numero di colori con la giusta programmazione. TCS3200 contiene RGB (rosso verde blu) array. Come mostrato in figura a livello microscopico si possono vedere le caselle quadrate all’interno dell’occhio sul sensore. Queste caselle quadrate sono matrici di matrice RGB. Ognuna di queste scatole contiene tre sensori, uno è per il rilevamento dell’intensità della luce rossa, uno è per il rilevamento dell’intensità della luce VERDE e l’ultimo per il rilevamento dell’intensità della luce BLU.
Ciascuno degli array di sensori in questi tre array viene selezionato separatamente in base alle esigenze. Quindi è noto come sensore programmabile. Il modulo può essere descritto per percepire il colore particolare e lasciare gli altri. Contiene filtri per tale scopo di selezione. C’è la quarta modalità che non è la modalità filtro. Con nessuna modalità di filtro il sensore rileva la luce bianca.
Componenti necessari
Hardware: ARDUINO UNO, alimentazione (5 v), LED, JHD_162ALCD (16*2LCD),TCS3200 sensore di colore.
Software: ARDUINO IDE (ARDUINO nightly).
Schema elettrico e spiegazione di lavoro
In 16×2 LCD ci sono 16 pin su tutti se c ‘è una luce posteriore, se non c’ è luce posteriore ci saranno 14 pin. Si può alimentare o lasciare i perni della luce posteriore. Ora in 14 pin, ci sono 8 pin dati (7-14 o D0-D7), 2 pin di alimentazione (1&2 o VSS&VDD o GND&+5v), 3 pin per il controllo del contrasto (VEE-controlli spessore dei personaggi dovrebbe essere mostrato), e 3 pin di controllo (RS&RW&E)
Nel circuito, si può osservare che ho preso solo due pin di controllo. Il bit di contrasto e la LETTURA / SCRITTURA non vengono spesso utilizzati in modo che possano essere cortocircuitati a terra. Questo mette LCD in più alto contrasto e modalità di lettura. Abbiamo solo bisogno di controllare ENABLE e RS pin per inviare caratteri e dati di conseguenza.
Le connessioni che vengono eseguite per LCD sono riportate di seguito:
PIN1 o VSS per terra
PIN2 o VDD o VCC per alimentazione +5v
PIN3 o VEE a terra (dà il massimo contrasto migliori per un principiante)
PIN4 o RS (Registro di Selezione) per PIN8 di ARDUINO UNO
PIN5 o RW (Lettura/Scrittura) a terra (mette LCD in modalità di lettura facilita la comunicazione per l’utente)
PIN6 o E (Enable) toPIN9 di ARDUINO UNO
PIN11 o D4 per PIN7 di ARDUINO UNO
PIN12 o D5 a PIN11 di ARDUINO UNO
PIN13 o D6 per PIN12 di ARDUINO UNO
PIN14 o D7 al PIN13 di ARDUINO UNO
connessioni che sono fatto per sensore di colore sono riportati di seguito:
VDD a +5V
GND-TERRA
OE (output Enable) a GND
S0 per UNO pin 2
S1 ONU pin 3
S2 ONU pin 4
S3 ONU pin 5
a UNO dei pin 10
Il colore che deve essere rilevata dal sensore di colore è stato selezionato da due perni di S2 e S3. Con questi due pin logic control possiamo dire al sensore quale intensità luminosa di colore deve essere misurata.
Diciamo che dobbiamo percepire l’intensità del colore ROSSO di cui abbiamo bisogno per impostare entrambi i pin su BASSO. Una volta fatto ciò il sensore rileva l’intensità e invia il valore al sistema di controllo all’interno del modulo.
S2 |
S3 |
Fotodiodo Tipo |
L |
L |
Rosso |
L |
H |
Blu |
H |
L |
Chiara (senza filtro) |
H |
H |
Verde |
Il sistema di controllo interno il modulo è mostrato in figura. L’intensità della luce misurata dalla matrice viene inviata alla corrente al convertitore di frequenza. Quello che fa è, emette un’onda quadra la cui frequenza è in relazione alla corrente inviata dall’ARRAY.
Quindi abbiamo un sistema che invia un’onda quadra la cui frequenza dipende dall’intensità luminosa del colore che viene selezionata da S2 e S3.
La frequenza del segnale inviata dal modulo può essere modulata a seconda dell’uso. Possiamo cambiare la larghezza di banda di frequenza del segnale di uscita.
S0 |
S1 |
Output Frequency Scaling (f0) |
L |
L |
Power Down |
L |
H |
2% |
H |
L |
20% |
H |
H |
100% |
Il frequency scaling è fatto da due bit S0 e S1. Per comodità limiteremo il ridimensionamento della frequenza al 20%. Questo viene fatto impostando S0 su alto e S1 su BASSO. Questa funzione è utile quando si utilizza il modulo sul sistema con clock basso.
La sensibilità dell’array al colore è mostrata nella figura seguente.
Anche se diversi colori hanno sensibilità diversa, per un uso normale non farà molta differenza.
L’UNO qui invia il segnale al modulo per rilevare i colori e i dati ricevuti dal modulo sono mostrati nel 16 * 2 LCD collegato ad esso.
L’UNO rileva tre intensità di colore separatamente e li mostra sul display LCD.
L’Uno può rilevare la durata dell’impulso del segnale con cui possiamo ottenere la frequenza dell’onda quadra inviata dal modulo. Con la frequenza a portata di mano possiamo abbinarlo al colore sul sensore.
- Int frequenza = pulseIn(10, BASSO);