Documentazione Tecnica Color Sensor |
PERCHE' UN SENSORE DI COLORI ?
L'idea di realizzare un sensore di colori per NXT, è sembrata interessante, e quindi ci siamo subito messi al lavoro.
Volevamo superare i limiti del sensore di luce fornito con il KIT, in quanto può riconoscere soltanto delle tonalità di grigio.
Non è stato facile, ma dopo alcuni prototipi, finalmente abbiamo realizzato la versione definitiva.
Il sensore è stato costruito su un circuito stampato realizzato con la tecnica della fotoincisione.
|
Color Sensor
|
COME FUNZIONA
Per il sensore sono stati utilizzati: un solo led a 4 piedini (RGB - Red, Green, Blue), una fotoresistenza diam. 7 mm. ed una manciata di componenti elettronici.
La sequenza d'accensione del led è automatica (con il software scritto con il linguaggio di programmazione NXC).
L'alimentazione del circuito (collegato alla porta d'ingresso 1) è fornita direttamente dall'NXT, così come la logica di controllo per l'accensione del led.
Il software legge ad ogni accensione del led (Rosso, Verde, Blu) il valore della fotoresistenza, converte ed elabora i dati letti così da ottenere un valore numerico che permette di individuare il colore.
Durante la realizzazione, ci siamo accorti che non era possibile individuare la differenza tra alcuni colori e le tonalità di grigio, percui abbiamo aggiunto al software la procedura di calibrazione.
In questo modo se la differenza tra i valori letti (x ogni led) è inferiore ad un valore impostato nel software, si considerano tonalità di grigio, altrimenti, si considerano colori.
|
Color Sensor
|
SPECIFICHE TENICHE:
* Come base di colore sono stati utilizzati i mattoncini lego
* Riconoscimento di 12 colori (8 colori + 4 livelli di grigio)
* (Colori: Rosso, Arancio, Giallo, Verde chiaro, Verde, Blu chiaro, Blu, Rosa)
* (Livelli di grigio: Bianco, Grigio chiaro, Grigio scuro, Nero)
SPECIFICHE SOFTWARE:
* Il software (Vers.1.2) è stato scritto con il linguaggio NXC e non con il software NXT-G fornito con
l'NXT in quanto abbastanza complesso.
* Il link per scaricare il compilatore software Bricx Command Center è qui.
* Insieme al file sorgente (NXC) è possibile scaricare anche i file (RXE) che potranno essere scaricati sull'NXT
senza bisogno del compilatore.
* Ovviamente il file RXE non è modificabile, mentre il file NXC si, percui può essere adattato alle
proprie esigenze.
* In particolare è possibile modificare i valori posti all'inizio del programma che
determinano le soglie dei vari colori.
esempio …………
const int MinOrange = (MaxRed1 + 1); const int MaxOrange = 20; // Orange
const int MinYellow = (MaxOrange + 1); const int MaxYellow = 60; // Yellow
const int MinLightGreen = (MaxYellow + 1); const int MaxLightGreen = 120; // Light Green
……
* Tutti gli altri valori (variabili e costanti) del software non dovrebbero essere modificati, in quanto calcolati in fase di collaudo e taratura.
|
Color Sensor
|
SCHEMA ELETTRICO
Nella foto a fianco si può vedere lo schema elettrico del circuito elettronico utilizzato per la realizzazione del sensore.
Cliccare sull'immagine dello schema elettrico per aprire una finestra ingrandita
|
Schema elettrico
clicca qui
|
CIRCUITO STAMPATO (PCB)
Nella foto a fianco si può vedere lo schema del circuito stampato (PCB 63,5 x 33,0 mm.) utilizzato per la realizzazione del sensore.
Cliccare sull'immagine del PCB per aprire una finestra ingrandita
|
Circuito Stampato PCB
clicca qui
|
|
Software Color Sensor |
Il programma software (sviluppato con il linguaggio di programmazione NXC) permette di
riconoscere 12 diversi colori (8 colori e 4 livelli di grigio).
|
|
Questo è il funzionamento:
|
1) La prima cosa da fare è la calibrazione del bianco che si effettua posizionando davanti al sensore un qualsiasi brick di colore bianco.
Questa calibrazione permette di conoscere la massima intensità luminosa rilevabile dal sensore.
Per avviare la calibrazione, si preme il pulsante centrale dell'NXT, oppure un sensore di contatto collegato all'ingresso 2 (opzionale).
|
|
2) Si prosegue con la calibrazione del nero che si effettua posizionando davanti al sensore un qualsiasi brick di colore nero.
Questa calibrazione permette di conoscere la minima intensità luminosa rilevabile dal sensore.
Per avviare la calibrazione, si preme il pulsante centrale dell'NXT, oppure un sensore di contatto collegato all'ingresso 2 (opzionale).
|
|
3) Se la procedura di calibrazione è eseguita correttamente, il sensore dovrebbe avere il led spento e il display visualizzare l'immagine in figura.
A questo punto è possibile iniziare la lettura del colore posizionando davanti al sensore un brick colorato.
Per effettuare la lettura, si preme il pulsante centrale dell'NXT, oppure un sensore di contatto collegato all'ingresso 2 (opzionale).
|
|
4) Se il brick colorato è uno degli 8 riconosciuti, il display visualizza un immagine simile a quella in figura con l'indicazione del valore Hue e del colore.
Per rilevare il colore di un altro brick, si preme il pulsante destro dell'NXT, oppure un sensore di contatto collegato all'ingresso 2 (opzionale).
|
|
5) Se il brick ha il colore di uno dei 4 livelli di grigio riconosciuti, il display visualizza un immagine simile a quella in figura con l'indicazione del livello di grigio e del colore.
Per rilevare il colore di un altro brick, si preme il pulsante destro dell'NXT, oppure un sensore di contatto collegato all'ingresso 2 (opzionale).
|
|
Note importanti per il corretto funzionamento del Sensore di Colori:
- Le batterie dell' NXT devono avere un buon livello di carica
- Utilizzare basi (plate) o mattoncini (brick)
- Posizionare i mattoncini in posizione laterale o capovolti
- Collegare il sensore all'ingresso 1 dell' NXT
- Si consiglia di collegare anche un sensore di contatto all'ingresso 2 dell' NXT
(si può utilizzare in alternativa ai pulsanti centrale e destro dell'NXT per confermare la calibrazione
e/o proseguire con la lettura dei colori)
|
|
N.B. La messa a punto del range dei colori viene fatta con delle costanti
all'interno del programma software
Si consiglia di usare brick o plate uguali nelle diverse fasi di lettura per evitare risultati indesiderati.
|
DOWNLOAD / SCARICA |
Qui sotto potete scaricare la documentazione disponibile per realizzare il
Sensore di Colori.
Se vi mancano dei programmi software visitate la sezione relativa ai LINK e troverete sicuramente quello che fa per voi.
Buon Lavoro e Buon Divertimento |
ISTRUZIONI COLOR SENSOR: In ITALIANO e INGLESE (formato WORD) |
|
SOFTWARE (file sorgente): Realizzato utilizzando il linguaggio di programmazione NXC.
Questo è il link per scaricare il compilatore software Bricx Command Center.
I software sono due (ColorsReadV1.2.nxc e ColorsTalkV1.2.nxc).
Il primo visualizza i colori sul display, mentre con il secondo, l'NXT utilizza la sua voce per indicare il colore.
Per poter sentire la voce, è necessario caricare nell'NXT i file RSO che si trovano qui sotto. |
|
VOCE (File RSO): Questi sono i file che devono essere caricati nell'NXT per poter sentire la voce.
Tutti i file (tranne pink.rso) sono già presenti nella cartella
"\Programmi\LEGO Software\LEGO MINDSTORMS NXT\engine\Sounds"
dopo aver installato il software originale LEGO NXT-G fornito con il KIT). |
|
SOFTWARE (file compilato): Utilizzando il software NXT-G fornito con il KIT, è possibile scaricare i file
(ColorsReadV1.2.rxe e ColorsTalkV1.2.rxe) direttamente nell'NXT, senza utilizzare il compilatore Bricx Command Center.
Per poter sentire la voce, è necessario caricare nell'NXT i file RSO che si trovano qui sopra. |
|
SCHEMA ELETTRICO E PCB: Queste sono le immagini dello schema elettrico e del circuito stampato (63,5 x 33,0 mm.) utilizzati per la realizzazione del Sensore di Colori. |
|