Sensor de Luz ou Luminosidade (cont.)

Buenas!

Continuando o post passado, onde falei um pouco do sensor de luminosidade, em especial o seu funcionamento e posicionamento em relação a superfície a ser lida, vamos falar um pouco da programação. Para isso, irei supor que o seu sensor esteja posicionado corretamente.

Existem dois ícones referentes ao sensor de luminosidade que devemos dominar o funcionamento e uso, para poder obter os melhores resultados em uma programação: o Wait For (Espera Por) e o Switch (Condição no NXT Software ou Comutação no EV3 Software).

Wait for / Espera por

Wait for NXT

 Painel de Controle - Wait For NXT

Wait For (Sensor de Luminosidade) e o seu Painel de Controle – NXT Software

Wait for EV3

Wait For (Sensor de Luminosidade) – EV3 Software

Switch / Condição / Comutação

Switch NXT
 Painel de Controle - Switch NXT

Switch (Sensor de Luminosidade) e seu Painel do Controle – NXT Software

Switch EV3

Switch (Sensor de Luminosidade) – EV3 Software

Wait for / Espera por

Essa estrutura de programação é geralmente a primeira que tomamos contato ao trabalhar com algum sensor na programação. Provavelmente, porque no contato com qualquer linguagem de programação visual, a programação em sequência de ícones é a mais intuitiva.

O nome da estrutura já diz o que acontece: a programação irá ser executada, é irá ficar aguardando, “esperando por” um parâmetro ser atingido. Por exemplo, se o objetivo da programação é que o robô se movimente em linha reta, e quando sair da mesa, pare. Para isso, a programação será algo como a mostrada abaixo:

Prog01 WF NXT

Programação com o Wait For (Espera por) do sensor de luminosidade – NXT Software.

Prog01 WF EV3

Programação com o Wait For (Espera por) do sensor de luminosidade – EV3 Software.

O motor é ligado, e o programa fica aguardando que a luminosidade seja menor que 14%. Quando atinge esse parâmetro, o motor é desligado.

Dica 01

Dica 02

Uma diferença importante entre o o NXT Software e EV3 Software: os operadores matemáticos.

Operadores Matemáticos

Devemos tomar o cuidado de quando definimos o parâmetro, para que a leitura seja coerente com a leitura do sensor. Por exemplo:

Operadores Wait for

Switch / Condicional / Comutação

A próxima estrutura é o Switch (Condicional ou Comutação). Apesar de ser parecido com o Wait for (Espera por) na forma de utilizar, essa estrutura tem diferenças básicas.

A primeira diferença é que ao invés de apenas fazer parte da linha de programação, o Switch (Condicional ou Comutação), tem duas linhas, onde apenas uma é executada de cada vez.

Assim como o Wait for (Espera por), precisamos por um parâmetro, mas como referência agora. Isso significa que ele funciona como uma condição (e disso vem o nome do ícone no NXT Software), e conforme ela seja satisfeita ou não, a programação irá percorrer a linha superior ou inferior do Switch, comutando (alternando) entre um e outro (e dessa analogia temos o nome do ícone no EV3 Software).

Prog02 S NXT

Programação com o Switch (Condição) do sensor de luminosidade – NXT Software.

Prog02 S EV3

Programação com o Switch (Comutação) do sensor de luminosidade – EV3 Software.

A vantagem de utilizar o Switch em alguns casos, no lugar do Wait for, é que caso a condição não seja satisfeita, o programa pode continuar sendo executado, sem ficar “parado” em um determinado ponto da programação.

É preciso observar também a questão dos operadores matemáticos com uma atenção maior, especialmente no caso do EV3 software, no caso do valor lido pelo sensor.

Operadores Switch

Para entender melhor toda a parte tratada até agora sobre o sensor de luminosidade, no próximo post irei propor algumas experimentações simples, para podermos verificar de forma prática esses conceitos, antes de iniciar a próxima parte: sensor de cor.