LEGO® NXT COLOR SENSOR

In questa pagina abbiamo inserito il sensore di colori che abbiamo realizzato per l'utilizzo sul nuovo LEGO® NXT.
Samuele e Valter
Un Ringraziamento particolare a Michael Gasperi e Philippe "Philo" Hurbain per il libro EXTREME NXT, ricco di informazioni e progetti interessanti da realizzare con il nuovo Lego® NXT.

NEW Visita la nostra pagina su Brickshelf

Documentazione Tecnica

Documentazione Tecnica Color Sensor
Software

Software Color Sensor

Inizio pagina -  Software -  Download 

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
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
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
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
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
Circuito Stampato PCB
clicca qui


Inizio pagina -  Documentazione Tecnica -  Download 

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).

12 Color

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).

Calibration White

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).

Calibration Black

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).

Calibration OK

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).

Color Orange

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).

Color Light Grey

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)
Brick OK

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) Scarica le istruzioni
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.
Scarica i programmi NXC
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).
Scarica la voce dell'NXT
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.
Scarica i programmi RXE
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. Scarica lo schema e il PCB

Inizio pagina -  Documentazione Tecnica -  Software