Comando Espere Condicional

Home  Anterior  Próximo

A execução do comando espere pode fazer com que o MC2.5  pare seu processamento por um intervalo de tempo por nós definido.  Na verdade, esta é apenas uma das maneiras de utilizarmos o comando espere. A outra é associarmos a continuidade da execução do programa a uma determinada condição. Por exemplo, o robô ficará parado até que os sensores de temperatura indiquem um valor acima do especificado, ou que o botão enter venha a ser pressionado.

A sintaxe desta versão do comando espere é definida como:

espere <expressão relacional>

 

No LEGAL os operadores relacionais podem ser utilizados para diferentes comparações, por exemplo: comparar o valor de dois sensores, comparar o valor de um sensor com um valor numérico específico, etc. A sintaxe de uma condição no LEGAL é definida como:

 

sensor operador relacional sensor

ou

sensor operador relacional número

ou

sensor operador relacional variável

ou

variável operador relacional variável

ou

variável operador relacional número

 

O LEGAL permite que acessemos não apenas os valores lidos dos sensores externos, mas também dos  sensores internos  do MC2.5.

Você deve estar se perguntando o que são e qual a utilidade destes sensores internos.  Sensores internos servem para monitorar a situação de seu robô, como por exemplo, o nível das baterias. Tais informações são tão importantes para que o robô tome suas decisões como as obtidas pelos sensores externos.

Para acessar os dados dos sensores do MC2.5 o LEGAL  tem um conjunto de registradores que podemos usar em nossos programas. Tais registradores contêm os valores lidos dos sensores e dos botões do módulo.

Para usarmos estes registradores basta referência-los diretamente em nossos programas. Por exemplo, no programa a seguir a luz 1 é acesa permanecendo assim até que a tecla enter do MC2.5 seja pressionada. Ou seja, o programa fica esperando que o registrador bt Enter  receba o valor 1 (o que ocorre quando o botão é pressionado).

 

#  Exemplo:

#    Uso do comando espere condicional com botão ENTER

Por favor

Ligue L1

Espere Bt Enter = 1    # espera até que o botão seja pressioando

Desligue L1

Obrigado

 

Neste outro exemplo nós instalamos um sensor de luz no conector número S3, e programamos o MC2.5 para indicar  quando o nível de luz for superior a 120.

 

#  Exemplo:

#    Uso do comando espere condicional

Por favor

Espere S3 > 120     # espera até que S3 fique maior que 120

Não

Obrigado

 

Podemos melhorar o programa de tal forma que o MC2.5 iria funcionar sem parar, avisando sempre que a luminosidade  for superior a 120.

 

 

#  Exemplo:

#    Monitor de nivel de iluminação.

Por favor

Repita sempre

Espere S3 > 120   # espera até que S3 fique maior que 120

Não

Obrigado

 

No exemplo a seguir estamos comparando os valores lidos em dois sensores de luz,  acendendo as luzes do MC2.5apenas quando a leitura do S4 for maior  que a do S8.

 

#  Exemplo:

#    Uso do comando espere condicional para comparar dois sensores,

Por favor

Espere s4 > s8  # espera até que S3 fique maior que S8

Sim

Obrigado