Os campeonatos de robótica possuem diversas categorias, e uma delas é a competição entre robôs sumô, na qual os competidores manobram robôs sobre uma placa de aço ou madeira, chamada de arena plana.
Esses robôs são dotados de rodas ou esteiras e sensores de distância (que localizam o adversário) e obstáculo (que detectam a borda da arena evitando a saída do robô).
Pensando nos sensores de obstáculos, você saberia dizer como eles conseguem detectar a presença de objetos ou delimitações em determinado ambiente? Que elementos possuem que possibilita tal identificação?
O Sensor de Obstáculo Infravermelho (IR), presente no Kit de Robótica, detecta objetos e delimitações, através de radiação infravermelha, em um raio de 2 a 30 centímetros de distância.
Ele é formado por um LED emissor IR, um fotorreceptor IR, um circuito integrado comparador modelo LM393, que facilita a conexão com diversas placas microcontroladoras, entre elas, o Arduino Uno e um potenciômetro Trimpot que permite ajustar a intensidade e sensibilidade do sensor.
O Sensor de Obstáculo IR possui, ainda, alguns resistores e dois LEDs internos indicando o estado do sensor (ligado ou desligado) e identificando a presença do objeto, além de terminais que permite a conexão externa com dispositivos.
O funcionamento do Sensor de Obstáculo IR é simples e ocorre da seguinte maneira: o LED emissor permanece constantemente emitindo radiação infravermelha com o terminal OUT em nível lógico alto (5V) e, quando encontra um obstáculo em seu raio de ação, é refletida e detectada pelo fotorreceptor, o qual envia a informação para CI comparador, colocando o pino OUT em nível lógico baixo (0V) e ligando o LED detector de obstáculos.
Encaixe na placa Protoboard o LED e o Sensor de Obstáculo IR.
Conecte um dos terminais do Resistor ao terminal positivo do LED.
Interligue com dois Jumpers, os pinos GND e 5V da placa Arduino às linhas laterais (azul e vermelha, respectivamente) da Protoboard. A seguir, outros dois Jumpers, entre os pinos GND e VCC do Sensor de Obstáculo IR, às linhas laterais (azul e vermelha, respectivamente) da Protoboard.
Utilizando outro jumper, interligue o pino OUT do Sensor de Obstáculo IR ao pino digital 2 da placa Arduino.
Por fim, conecte um Jumper entre o pino GND da placa Arduino e o terminal negativo do LED (terminal curto) e, outro Jumper, entre o pino digital 4 da placa Arduino e o terminal do Resistor.
No software IDE, crie um sketch e lembre-se de selecionar a porta que o computador atribuiu ao Arduino; então, escreva ou copie e cole o código-fonte de programação para simular o funcionamento do efeito Fade-In.
Na sequência, compile o programa pressionando o botão Verificar para examinar se não há erros de sintaxe. Estando o código correto, o próximo passo é realizar a transferência do programa para o Arduino. Pressione o botão Carregar, para realizar upload do programa para o Arduino.
Após a transferência do programa para o Arduino, o LED deve acender sempre que você aproximar algum objeto, ou até mesmo a sua mão, do Sensor de Obstáculo e apagar quando remover o objeto.
A leitura do Sensor, também, pode ser acompanhada através do Monitor Serial. Para isto, enquanto o Arduino estiver ligado, clique sobre o botão localizado no canto superior direito da janela do Software Arduino IDE.
Atenção! Para que as informações do sensor sejam apresentadas corretamente na tela, é necessário configurar a velocidade de comunicação. Clique no Menu Monitor Serial (localizado no canto superior direito do Arduino IDE) e, no tooltip que se abre, verifique a velocidade indicada, a qual deve ser igual à velocidade informada no código, dentro da função setup, nesse caso 9600 baud.
Observe quando não se encontra nenhum obstáculo, o valor apresentado é sempre 1, indicando a leitura no pino OUT do sensor como 5V e, ao posicionar algum obstáculo à frente, o valor apresentado será 0, agora indicando que a leitura no pino OUT é de 0V.
Acesse o software mBlock e clique, no campo Dispositivos, sobre o ícone Arduino Uno para iniciar a programação em blocos.
Nesta programação, utilizaremos variáveis que auxiliarão na estrutura do nosso programa.
Monte os blocos, arrastando e soltando, de acordo com a programação.
Clique no botão Conectar para transferir os comandos criados no mBlock para o Arduino Uno.
Clique no botão Upload para compilar os blocos e carregar a programação para o Arduino.
Com a transferência do código para o dispositivo Arduino Uno, o Sensor estará pronto para detectar obstáculos à sua frente.
Após carregar o programa, o protótipo já entrará em funcionamento, ou seja, ao aproximar um objeto do sensor, o LED acenderá, e afastando, o LED apagará.
Também é possível acompanhar a leitura através do Monitor Serial do Software Arduino IDE. Para isto, feche a janela do Software mBlock e abra o Software Arduino IDE. Acesse o Monitor Serial clicando sobre o botão localizado no canto superior da janela do Software Arduino IDE.
Por padrão, o mBlock configura, em sua programação a velocidade de leitura do Monitor Serial em 115200 baud, portanto, confira no rodapé do Monitor Serial se esta velocidade está definida, caso contrário faça o ajuste.
O Sensor de Obstáculo IR é o olho de qualquer robô. Mas ele também pode ser utilizado em outros projetos, como de alarmes e contadores, em conjunto com outros dispositivos.
Você e seus colegas conseguiram realizar o projeto, compreendendo o funcionamento do Sensor de Obstáculo IR?
Você e os membros de sua equipe interagiram entre si, compartilhando ideias que promoveram a aprendizagem e o desenvolvimento desta aula?
Reúna todos os componentes utilizados nesta aula e os organize novamente, junto aos demais, no kit de robótica.
(Material Didático Completo em PDF)