|
Comando Espere Condicional |
|
|
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 |