Os sensores de cor são muito usados na robótica. Eles podem ser utilizados, por exemplo, para checar se um carro foi pintado corretamente. Além disso, podemos usar o sensor de cor para determinar onde deve-se utilizar uma furadeira. Assim, a furadeira sempre vai furar o mesmo local. Que tal construir um classificador de M&M’s?

Manual

Clique na imagem para abrir o manual.

Programação

No computador:

 

No tablet:

Comentários

O objetivo deste código é fazer o carrinho andar para frente sem bater na parede e identificar as cores das peças ou dos M&M’s colocadas dentro do robô. Em seguida, ele vai, dizer qual cor está observando e ejetar a peça do carrinho. Quando não houver mais peças, o robô vai se despedir do programador com um “Goodbye”.

O bloco Esperar impede que o programa comece antes que uma das 4 cores seja detectada pelo sensor de cores. Assim, se as peças não forem colocadas no robô, o programa não vai começar.

Esse bloco,chamado Ciclo, envolve todos os outros blocos. Quando usado no modo contar, o bloco é acionado a mesma quantidade de vezes que for indicado em baixo da “Hashtag” (#).

O bloco Comutação no modo Proximidade do Sensor Infravermelho verifica qual é a distância entre o sensor infravermelho e a parede. Nesse caso, se a distância for inferior a 20 centímetros, os blocos dentro da aba serão executados. Analogamente, enquanto a distância entre o sensor e a parede for superior a 20 centímetros, os blocos dentro da outra aba serão acionados.

O bloco de Comutação no modo Medida de Cor verifica qual cor o sensor está identificando e executa o código dentro da aba da cor observada. Por exemplo, se o sensor de cor indicar a cor amarela, a programação dentro da aba amarela será executada. Se não houver peças para serem identificadas ou se a cor for diferente das programadas, o código dentro da aba ocorrência padrão será acionada.

O bloco Comutação no modo Comparar Cor verifica se há peças coloridas no robô.  e aciona o motor médio para ejetar a peça na mira do sensor de cor se houver alguma. Por exemplo, enquanto houver uma das 4 cores citadas no robô, o motor vai ejetar a peça dentro dele através dos blocos dentro da aba Verdadeiro. Analogamente, se o sensor identificar alguma peça de cor diferente das 4 citadas na programação ou se não houver peças, os blocos dentro da aba Falso serão executados. 

Os blocos verdes  são chamados de blocos de ação e coordenam todos os motores, sons e imagens emitidos pelo EV3. 

Este bloco desliga os motores conectados nas portas B e C. Além disso, ele tem a opção, representada pelo triângulo preto e barrinha vermelha, de frear o motor ou apenas desligar, neste exemplo escolhemos travar o motor imediatamente após parar o movimento.

Liga o motor na entrada B no sentido horário e o outro no sentido anti horário (indicado com sinal de menos) com metade da potência total e por 1 segundo. Depois de 1 segundo, os motores são desligados e travados. 

Liga o motor na entrada B no sentido anti-horário e o outro no sentido horário com metade da potência total disponível por tempo ilimitado.

Liga o motor médio por 1 rotação completa das rodas (indicada pela flecha em forma de círculo com uma # dentro) e com metade da potência total. Depois dessa rotação, o motor desliga e é travado.