terça-feira, 20 de maio de 2008

O sensor de luz

No kit Mindstorms há vários tipos de sensores. Um sensor especialmente útil na movimentação de um robô é o chamado sensor de luz.

O sensor de luz da Lego é, na realidade, um sensor de reflexão difusa, contendo uma lâmpada (LED) emissora e outra receptora. A vantagem imediata desse tipo de sensor é que a superfície a ser analisada não necessita ser espelhada.

O funcionamento é de fácil compreensão: o emissor projeta um feixe de luz sobre a superfície, que absorve uma parte da radiação (de acordo com a cor ou material da superfície). A outra parte é refletida de volta e captada pelo emissor. O emissor é um receptor fotoelétrico, que gera uma corrente elétrica de acordo com a freqüência da luz recebida. Medindo o valor da corrente elétrica gerado pelo recptor fotoelétrico, é possível determinar a freqüência da luz absorvida pelo emissor e, por conseqüência, a tonalidade ou cor da superfície analisada.


O inconveniente desse tipo de sensor é que a superfície analisada deve estar a poucos centímetros, porque a distâncias maiores, a luz emitida pelo LED se difunde pelo espaço.

Uma superfície é clara porque absorve apenas uma pequena parcela da luz projetada sobre o mesmo, refletindo grande parte da radiação recebida. Já uma superfície escura absorve grande parte da luz projetada, refletindo apenas uma pequena fração.

O sensor de luz da Lego retorna valores dentro da faixa que vai de 00 a 99, sendo bastante útil para fazer o robô seguir uma linha escura em uma superfície clara, por exemplo.

Um dos problemas na utilização do sensor de luz é a interferência e variação da luz ambiente. Uma sugestão interessante para reduzir essa interferência é a adaptação abaixo, utilizando pranchas e uma viga, na frente do sensor.

Agora o desafio: é possível emular um sensor de toque como se fosse um sensor de luz. Esse é um truque bastante utilizado quando se há mais de três sensores no robô (o RCX só tem três entradas), de forma que torna possível conectar um sensor de toque e um sensor de luz na mesma porta. Como fazer o RCX detectar que o sensor de toque emulando um de luz foi pressionado?


3 comentários:

Diego Angeiras disse...

Sim, existe um geito de emular um sensor de luz com um sensor de toque.
para fazer o rcx dectar o sensor de luz, é simples:

Na programação, o rcx NÃO saberá que o sensor de toque vai estar conectado, ele só vai enxergar o "sensor de luz" (que na verdade é o nosso sensor de toque), então devemos usar o ícone do sensor de Luz e na hora de colocarmos o valor da luz, é so colocar 00 (para que o sistema detecte o sensor de toque sem estar pressionado, e 100 para o sistema detectar o sensor de luz pressionado.

Assim podemos emular o sensor de toque em um sensor de luz :)

Diego 8ªb Lubienska

Lucas Vinicius disse...

Para fazer o rcx identificar é so colocar o icone de um sensor de luz, e na hora de colocar o valor da luminosidade, é so colocar 00 (para vquando o sensor de toque n estiver pressionado) e 100 (para quando estiver pressionado). Desse jeito podemos emular um sensor de toque em um sensor de luz.

Lucas-8ªB

Paulo Marcelo Pontes disse...

Exatamente, Diego: para emular um sensor de toque como um de luz, basta usar o processo que você descreveu. Quando o sensor de toque estiver pressionado, o RCX receberá o máximo de corrente naquela porta, correspondendo ao valor 100 (valor máximo do sensor de luz) e, se não estiver pressionado, o RCX não registrará corrente elétrica na porta, correspondendo ao valor 0.