Utilizzo del sensore di colore VEX IQ (1a generazione).

Il sensore di colore utilizza la luce riflessa per rilevare il colore, il valore della tonalità, il valore della scala di grigi, la luminosità e la prossimità di un oggetto.

Il sensore di colore VEX IQ è incluso nel VEX IQ Super Kit e può anche essere acquistato qui.


Descrizione del sensore di colore

Il sensore di colore VEX IQ ha molteplici modalità che gli consentono di acquisire diversi tipi di informazioni dal suo ambiente. Le informazioni raccolte sono influenzate dalle condizioni di illuminazione dell'ambiente e dalla distanza tra il sensore e l'oggetto o la superficie che sta leggendo.


vex-rainbow-circle-graphic_2.jpeg


Come funziona il sensore di colore

Il sensore di colore è in grado di rilevare sia il colore che la prossimità.

Rilevamento dei colori

In modalità luminosità, il sensore di colore viene utilizzato per rilevare l'intensità di tutta la luce nell'ambiente del robot. Maggiore è la luce che raggiunge il sensore di colore mentre è attivo, maggiore sarà il valore percentuale inviato al cervello del robot.

Se la percentuale di luminosità rilevata è bassa o inaffidabile, è possibile accendere la lampada del sensore di colore o aumentare la percentuale di luminosità della lampada utilizzando la seguente luce impostata per il blocco:

Il sensore di colore può segnalare il colore che vede come valore di colore o come valore di tonalità.

Valori di colore.Sono elencati 14 colori che il sensore di colore può rilevare. I colori mancanti nell'immagine del blocco sono rosso, verde, blu, bianco e giallo.

Valori di tonalità.I valori di tonalità sono come valori di colore ma numerici. Il valore della tonalità varia da 0 a 360, come i gradi. I valori di colore sopra elencati hanno i propri intervalli di valori di tonalità equivalenti. 

È importante quando si rilevano colori e tonalità che il sensore di colore disponga della quantità di luce adeguata per farlo. Assicurati di testare il sensore di colore, noto anche come calibrazione, con diversi livelli di luce e con la lampada impostata a livelli diversi per determinare quale sia l'impostazione più affidabile per il sensore di colore del tuo robot.

 
Rilevamento della prossimità

Il sensore di colore include un emettitore di sensori a infrarossi. L'emettitore a infrarossi emette una luce invisibile e poi ne rileva il riflesso. Se la maggior parte della luce infrarossa rimbalza verso il sensore, indica al cervello del robot che un oggetto è vicino.

Usi comuni del sensore di colore

I sensori di colore vengono utilizzati in molte applicazioni tecnologiche in cui è importante avere colori specifici su display o prodotti.

Alcuni usi comuni nella vita quotidiana includono:

  • Gli strumenti di calibrazione del colore controllano se uno schermo digitale visualizza colori accurati, quindi regolano le impostazioni dello schermo secondo necessità. È importante per gli artisti grafici e qualsiasi designer che lavora con il colore su uno schermo digitale essere in grado di vedere esattamente visualizzato il colore corretto. Quando i colori non sono accurati si verificano incomprensioni e sprechi di risorse.
  • Fotocamere e videocamere utilizzano sensori di colore per regolare le impostazioni in base alle condizioni di illuminazione in cui si trovano, al fine di migliorare foto e video massimizzando i livelli di luce e migliorando i colori altrimenti opachi. Questi sensori consentono inoltre al fotografo di concentrarsi su colori specifici nelle proprie foto.
  • I sensori di colore vengono talvolta utilizzati nella produzione per verificare rapidamente se un prodotto ha il colore corretto prima di essere spedito al cliente. Ad esempio, è possibile scansionare frutta e verdura che cambiano colore quando sono mature o pronte per essere consumate per garantire che siano del colore corretto da inviare al mercato. 


Alcuni usi comuni con un robot VEX IQ includono:

  • Questo sensore può essere utilizzato per rilevare il colore di un oggetto.

  • Questo sensore può essere utilizzato per rilevare e/o seguire una linea.

  • Questo sensore può rilevare se un oggetto è vicino.

Sensori di colore su un robot da competizione

Ricorda, è importante quando si rilevano colori e tonalità che il sensore di colore abbia la giusta quantità di luce per farlo. Assicurati di testare il tuo sensore di colore, noto anche come calibrazione, ogni volta che arrivi in ​​un nuovo sito di competizione perché diversi livelli di luce possono influenzare le prestazioni del tuo sensore di colore. Metti alla prova il tuo progetto con la lampada impostata a diversi livelli per determinare qual è l'impostazione più affidabile per il sensore di colore del tuo robot. 

Le informazioni raccolte dal sensore di colore sono utili per programmare un robot competitivo per rispondere a una varietà di condizioni. Il sensore di colore può migliorare un robot da competizione nei seguenti modi:

  • Consente al robot di rilevare il colore di un oggetto vicino al sensore. Ciò è utile se desideri che il robot classifichi oggetti di colore diverso, si avvicini a un oggetto di colore specifico o rilevi il colore degli oggetti mentre passano accanto al sensore.
  • Consente al robot di rilevare la quantità di luce riflessa nel sensore. Ciò consente al tuo robot di guidare finché non raggiunge una linea su una superficie o addirittura di seguire una linea.
  • Consente al robot di sapere se un oggetto o una superficie è vicino. Ciò è utile per determinare se un colore rilevato è una lettura di un oggetto vicino o potenzialmente una lettura anomala di una superficie o luce distante. 

Codifica del sensore di colore in blocchi

5dc33fd05c167.png

Il blocco <Found an object> è un blocco reporter booleano che segnala una condizione come vera o falsa. I blocchi booleani, come il blocco <Found an object> , si inseriscono all'interno di blocchi con input esagonali (a sei lati) per altri blocchi.

Il blocco booleano <Found an object> riporta "vero" se "vero" se il sensore di colore rileva un oggetto e "falso" se il sensore non lo rileva. Per saperne di più sui blocchi booleani visita l'articolo Aiuto o Forme dei blocchi e significato.

 

Screen_Shot_2023-03-01_at_12.37.53_PM.png

In questo esempio, il blocco <Found an object> viene utilizzato per rilevare la prossimità insieme a un blocco [Aspetta fino a], per far avanzare il robot finché non viene rilevato un oggetto.

Screen_Shot_2023-03-01_at_12.46.03_PM.png

Il blocco <Color detects> è anche un blocco reporter booleano che segnala una condizione come vera o falsa. Il blocco <Color detects> riporta 'vero' se 'vero' se il sensore di colore rileva il colore selezionato e 'falso' se il sensore rileva qualsiasi altro colore. Per saperne di più sui blocchi booleani visita l'articolo Aiuto o Forme dei blocchi e significato.

 

Screen_Shot_2023-03-01_at_12.42.15_PM.png

In questo esempio, il blocco <Color detects> viene utilizzato insieme a un blocco [Aspetta fino a] per far avanzare il robot finché il sensore di colore non rileva un oggetto verde. Il robot smetterà quindi di guidare. Questo è illustrato nel primo video qui sopra.

Screen_Shot_2023-03-01_at_12.49.57_PM.png

Il blocco (Luminosità di) riporta la quantità di luce rilevata dal sensore di colore. È un blocco reporter utilizzato all'interno di altri blocchi con spazi circolari.

Il blocco (Luminosità di) riporta un intervallo compreso tra % e 100%.

 

Screen_Shot_2023-03-01_at_12.53.59_PM.png

In questo esempio, il blocco (Luminosità di) viene utilizzato per fare in modo che il robot rilevi e segua una linea, come mostrato nel secondo video sopra.

Screen_Shot_2023-03-01_at_3.22.43_PM.png

Il blocco (Tonalità di) riporta la tonalità del colore rilevato dal Sensore di colore. È un blocco reporter utilizzato all'interno di altri blocchi con spazi circolari.

Il blocco (Luminosità di) riporta un intervallo compreso tra e 360.

 

Screen_Shot_2023-03-01_at_3.40.56_PM.png

In questo esempio, il blocco (Tonalità di) viene utilizzato per fare in modo che il robot controlli un intervallo di valori di tonalità che corrispondono al colore rosso e ruoti a destra di 90 gradi se tali valori vengono rilevati dal sensore. Se vengono rilevati altri valori di tonalità, il robot girerà a sinistra di 90 gradi.

Il blocco (Tonalità di) può essere utile quando è necessario che il robot rilevi determinati colori quando le condizioni di luce ambientale potrebbero essere incoerenti.

Codificare il sensore di colore in Python

Nota:Per codificare un interruttore paraurti VEX IQ (1a generazione) in Python, è necessario collegarlo a un cervello VEX IQ (2a generazione). Il cervello VEX IQ (1a generazione) non supporta Python.

Screen_Shot_2023-03-01_at_2.20.15_PM.png

Il comando color.is_near_object riporta True quando un sensore di colore rileva un oggetto o una superficie vicino alla parte anteriore del sensore e False quando un sensore di colore non rileva un oggetto o una superficie vicino alla parte anteriore del sensore.

Nota:Il nome del sensore di colore che appare nel comando corrisponde al nome assegnato nella configurazione. 

Screen_Shot_2023-03-01_at_2.25.58_PM.png

In questo esempio, un cicloWhile con una condizione not viene utilizzato con il comando color.is_near_object per far avanzare il robot finché il sensore di colore non rileva un oggetto vicino alla parte anteriore del robot. il sensore.

Screen_Shot_2023-03-01_at_2.30.22_PM.png

Il comando color.color riporta il colore attualmente rilevato dal Color Sensor.

Screen_Shot_2023-03-01_at_2.33.28_PM.png

In questo esempio, un cicloWhile con una condizione not viene utilizzato con il comando color.color per far avanzare il robot finché il sensore di colore non rileva un oggetto verde. Il robot smetterà quindi di guidare. Questo è illustrato nel primo video qui sopra.

Screen_Shot_2023-03-01_at_2.37.12_PM.png

Il comando color.brightness riporta la quantità di luce rilevata dal sensore di colore. Riporta un intervallo di valori compreso tra 0% e 100%.

Screen_Shot_2023-03-01_at_3.18.39_PM.png

In questo esempio, il comando color.brightness viene utilizzato per fare in modo che il robot rilevi e segua una linea, come mostrato nel secondo video sopra.

Screen_Shot_2023-03-01_at_3.47.50_PM.png

Il comando color.hue riporta la tonalità del colore rilevato dal sensore di colore. Riporta un intervallo di valori di tonalità da 0 a 360.

Screen_Shot_2023-03-01_at_4.05.24_PM.png

In questo esempio, il comando color.hue viene utilizzato per fare in modo che il robot controlli un intervallo di valori di tonalità che corrispondono al colore rosso e giri a destra di 90 gradi se tali valori vengono rilevati dal sensore. Se vengono rilevati altri valori di tonalità, il robot girerà a sinistra di 90 gradi.

Il comando color.hue può essere utile quando è necessario che il robot rilevi determinati colori quando le condizioni di luce ambientale potrebbero essere incoerenti.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: