Usando o sensor de cores VEX IQ (1ª geração)

O sensor de cor usa luz refletida para detectar a cor, o valor de matiz, o valor da escala de cinza, o brilho e a proximidade de um objeto.

O Sensor de Cores VEX IQ está incluso no Super Kit VEX IQ e também pode ser adquirido aqui.


Descrição do sensor de cores

O Sensor de Cores VEX IQ possui múltiplos modos, que permitem capturar diferentes tipos de informações de seu ambiente. As informações que ele coleta são afetadas pelas condições de iluminação do ambiente, bem como pela distância entre o sensor e o objeto ou superfície que está lendo.


vex-rainbow-circle-graphic_2.jpeg


Como funciona o sensor de cores

O Sensor de Cor pode detectar cor e proximidade.

Detectando Cores

Quando no modo de brilho, o Sensor de Cor é usado para detectar a intensidade de toda a luz no ambiente do robô. Quanto mais luz atingir o Sensor de Cor enquanto ele estiver ativo, maior será o valor percentual enviado ao Cérebro do Robô.

Se a porcentagem de brilho detectada for baixa ou não confiável, a lâmpada do Sensor de Cor poderá ser ligada ou a porcentagem de brilho da lâmpada poderá ser aumentada usando o seguinte conjunto de luz para bloquear:

O Sensor de Cor pode relatar a cor que vê como um valor de cor ou como um valor de matiz.

Valores de cores.Existem 14 cores listadas que o Sensor de Cores pode detectar. As cores que faltam na imagem do bloco são vermelho, verde, azul, branco e amarelo.

Valores de matiz.Os valores de matiz são como valores de cores, mas numéricos. O valor do matiz varia de 0 a 360, como graus. Os valores de cores listados acima têm seus próprios intervalos de valores de matiz equivalentes. 

É importante, ao detectar cores e matizes, que o Sensor de Cores tenha a quantidade adequada de luz para isso. Certifique-se de testar, também conhecido como calibração, seu Sensor de Cores em diferentes níveis de luz e com a lâmpada configurada em níveis diferentes para determinar qual é a configuração mais confiável para o Sensor de Cores do seu robô.

 
Detectando proximidade

O Sensor de Cor inclui um sensor-emissor infravermelho. O emissor infravermelho emite uma luz invisível e então detecta seu reflexo. Se a maior parte da luz infravermelha retornar para o sensor, ela informará ao Cérebro Robô que um objeto está próximo.

Usos comuns do sensor de cores

Sensores de cores são usados ​​em muitas aplicações tecnológicas onde é importante ter cores específicas em monitores ou produtos.

Alguns usos comuns na vida diária incluem:

  • As ferramentas de calibração de cores verificam se uma tela digital está exibindo cores precisas e ajustam as configurações de exibição conforme necessário. É importante que os artistas gráficos e qualquer designer que trabalhe com cores em uma tela digital possam ver exatamente a cor correta sendo exibida. Mal-entendidos e desperdício de recursos ocorrem quando as cores não são precisas.
  • Câmeras e filmadoras usam sensores de cores para ajustar as configurações com base nas condições de iluminação em que se encontram, a fim de aprimorar suas fotos e vídeos, maximizando os níveis de luz e realçando cores que de outra forma seriam opacas. Esses sensores também permitem ao fotógrafo focar em cores específicas em suas fotos.
  • Às vezes, sensores de cores são usados ​​na fabricação para inspecionar rapidamente se um produto tem a cor correta antes de ser enviado ao cliente. Por exemplo, frutas e vegetais que adquirem cores quando maduros ou prontos para serem consumidos podem ser digitalizados para garantir que tenham a cor correta para serem enviados ao mercado. 


Alguns usos comuns com um robô VEX IQ incluem:

  • Este sensor pode ser usado para detectar a cor de um objeto.

  • Este sensor pode ser usado para detectar e/ou seguir uma linha.

  • Este sensor pode detectar se um objeto está próximo.

Sensores de cores em um robô de competição

Lembre-se de que é importante, ao detectar cores e matizes, que o Sensor de Cores tenha a quantidade adequada de luz para isso. Certifique-se de testar, também conhecido como calibração, seu Sensor de Cores sempre que chegar a um novo local de competição, pois diferentes níveis de luz podem afetar o desempenho do seu Sensor de Cores. Teste seu projeto com a lâmpada configurada em diferentes níveis para determinar qual é a configuração mais confiável para o sensor de cores do seu robô. 

As informações coletadas pelo Sensor de Cores são úteis para programar um robô competitivo para responder a uma variedade de condições. O Sensor de Cores pode melhorar um robô de competição das seguintes maneiras:

  • Ele permite que o robô detecte a cor de um objeto próximo ao sensor. Isso é útil se você deseja que o robô classifique objetos de cores diferentes, dirija até um objeto de cor específica ou detecte a cor dos objetos à medida que eles passam pelo sensor.
  • Ele permite que o robô detecte quanta luz é refletida de volta para o sensor. Isso permite que seu robô dirija até atingir uma linha em uma superfície, ou até mesmo seguir uma linha.
  • Permite ao robô saber se um objeto ou superfície está próximo. Isso é útil para determinar se uma cor detectada é uma leitura de um objeto próximo ou, potencialmente, uma leitura anômala de uma superfície ou luz distante. 

Codificando o sensor de cores em blocos

5dc33fd05c167.png

O bloco <Found an object> é um bloco repórter booleano que relata uma condição como verdadeira ou falsa. Blocos booleanos, como o bloco <Found an object> , cabem dentro de blocos com entradas hexagonais (seis lados) para outros blocos.

O bloco booleano <Found an object> reporta 'true' se 'true' se o sensor de cores detectar um objeto e 'false' se o sensor não o fizer. Para saber mais sobre blocos booleanos, visite o artigo Help ou Block Shapes and Meaning.

 

Screen_Shot_2023-03-01_at_12.37.53_PM.png

Neste exemplo, o bloco <Found an object> é usado para detectar proximidade junto com um bloco [Wait Until], para fazer o robô avançar até que um objeto seja detectado.

Screen_Shot_2023-03-01_at_12.46.03_PM.png

O bloco <Color detects> também é um bloco repórter booleano que relata uma condição como verdadeira ou falsa. O bloco <Color detects> reporta 'true' se 'true' se o sensor de cores detectar a cor selecionada e 'false' se o sensor detectar qualquer outra cor. Para saber mais sobre blocos booleanos, visite o artigo Help ou Block Shapes and Meaning.

 

Screen_Shot_2023-03-01_at_12.42.15_PM.png

Neste exemplo, o bloco <Color detects> é usado junto com um bloco [Aguarde até] para fazer com que o robô avance até que o Sensor de Cor detecte um objeto verde. O robô irá então parar de dirigir. Isso é ilustrado no primeiro vídeo acima.

Screen_Shot_2023-03-01_at_12.49.57_PM.png

O bloco (Brilho de) informa a quantidade de luz detectada pelo Sensor de Cor. É um bloco repórter utilizado dentro de outros blocos com espaços circulares.

O bloco (Brilho de) reporta um intervalo de 0% a 100%.

 

Screen_Shot_2023-03-01_at_12.53.59_PM.png

Neste exemplo, o bloco (Brilho de) é usado para que o robô detecte e siga uma linha, conforme mostrado no segundo vídeo acima.

Screen_Shot_2023-03-01_at_3.22.43_PM.png

O bloco (Matiz de) informa o matiz da cor detectada pelo Sensor de Cores. É um bloco repórter utilizado dentro de outros blocos com espaços circulares.

O bloco (Brilho de) informa um intervalo de 0 a 360.

 

Screen_Shot_2023-03-01_at_3.40.56_PM.png

Neste exemplo, o bloco (Matiz de) é usado para que o robô verifique uma faixa de valores de matiz que corresponde à cor vermelha e gire 90 graus à direita se esses valores forem detectados pelo sensor. Se quaisquer outros valores de matiz forem detectados, o robô virará 90 graus à esquerda.

O bloco (Matiz de) pode ser útil quando é necessário que o robô detecte certas cores quando as condições de luz ambiente podem ser inconsistentes.

Codificando o sensor de cores em Python

Nota:Para codificar um Bumper Switch VEX IQ (1ª geração) em Python, ele deve estar conectado a um Brain VEX IQ (2ª geração). O cérebro VEX IQ (1ª geração) não oferece suporte a Python.

Screen_Shot_2023-03-01_at_2.20.15_PM.png

O comando color.is_near_object relata Verdadeiro quando um sensor de cor detecta um objeto ou superfície próximo à frente do sensor e Falso quando um sensor de cor não detecta um objeto ou superfície próximo à frente do sensor. sensor.

Nota:O nome do Sensor de Cor que aparece no comando corresponde ao nome que lhe é dado na configuração. 

Screen_Shot_2023-03-01_at_2.25.58_PM.png

Neste exemplo, um loopWhile com uma condição e não é usado com o comando color.is_near_object para fazer o robô avançar até que o Sensor de Cor detecte um objeto próximo à frente de o sensor.

Screen_Shot_2023-03-01_at_2.30.22_PM.png

O comando color.color informa a cor que está sendo detectada atualmente pelo Sensor de Cores.

Screen_Shot_2023-03-01_at_2.33.28_PM.png

Neste exemplo, um loopWhile com uma condição e não é usado com o comando color.color para fazer o robô avançar até que o sensor de cor detecte um objeto verde. O robô irá então parar de dirigir. Isso é ilustrado no primeiro vídeo acima.

Screen_Shot_2023-03-01_at_2.37.12_PM.png

O comando color.brightness informa a quantidade de luz detectada pelo sensor de cores. Ele relata uma faixa de valores de 0% a 100%.

Screen_Shot_2023-03-01_at_3.18.39_PM.png

Neste exemplo, o comando color.brightness é usado para que o robô detecte e siga uma linha, conforme mostrado no segundo vídeo acima.

Screen_Shot_2023-03-01_at_3.47.50_PM.png

O comando color.hue informa o matiz da cor detectada pelo Sensor de Cores. Ele relata uma faixa de valores de matiz de 0 a 360.

Screen_Shot_2023-03-01_at_4.05.24_PM.png

Neste exemplo, o comando color.hue é usado para fazer com que o robô verifique uma faixa de valores de matiz que corresponde à cor vermelha e gire 90 graus à direita se esses valores forem detectados pelo sensor. Se quaisquer outros valores de matiz forem detectados, o robô virará 90 graus à esquerda.

O comando color.hue pode ser útil quando é necessário que o robô detecte certas cores quando as condições de luz ambiente podem ser inconsistentes.

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

Last Updated: