Como prometi na postagem sobre o Robô lutador de sumô mostro aqui o sensor infravermelho usado.
O circuito é bem simples e barato, mas muito eficiente. Quando alimentado com 5v se estiver a cerca de 2cm de uma superfície branca sua saída ficará em nível alto 5v, se a superfície for preta a saída ficara em nível baixo 0v.
A base do circuito é formada por um fotodiodo e um led infravermelho facilmente encontrados em lojas de eletrônica. O led fica aceso sempre que o circuito estiver alimentado. O resistor de 470R, que limita a corrente no led, pode ser substituído dependendo do led utilizado. O fotodiodo é polarizado reversamente e não conduz enquanto não houver incidência de luz infravermelho sobre ele o que permitie que o transistor seja polarizado pelo resistor de 10k o que coloca a saída em nível baixo. Como o foto diodo esta ao lado do led a proximidade de uma superfície branca reflete a luz do led e o foto diodo conduz, impedindo a polarização do transistor pelo resistor de 10k, o que faz a saída ficar em nível alto graças ao resistor de 4k7.
Exemplo de utilização
No exemplo do vídeo a cada vez que arduino recebe o sinal 1 (5V) do sensor IR ele inverte a rotação do motor através da ponte H L298. Quando o sinal é 0 (0V) ele para o motor e aguarda 2 segundos até fazer nova leitura do sensor. O código, que é grosseiro, pois a intenção é apenas ilustrar o funcionamento de sensor IR, pode ser baixado aqui.
O layout da placa do sensor pode ser baixado clicando aqui.