BLOCO WAIT O bloco de espera (wait) testa uma determinada condição, como por exemplo um sensor do NXT, e não permite o programa ou o feixe de sequência progredir até essa condição ser satisfeita. A Figura 1 mostra o bloco de espera configurado para esperar um segundo (testa se um segundo passou) antes de permitir que o próximo bloco do feixe de sequência executar. Existem 9 maneiras principais de configurar o bloco de espera. Como é mostrado na Figura 2, posicionar o cursor sobre o bloco de espera na palete comum revela uma sub-palete da qual se pode escolher as cinco configurações mais comuns: esperar por um determinado tempo, esperar pelo sensor de toque, esperar pelo sensor de luz, esperar por um sensor específico e esperar por um sensor ultrasónico. Figura 1 – Bloco de espera (tempo) Figura 2 – Sub-palete do bloco de espera O bloco de espera quando é utilizado para esperar por um sensor do robô, tem dois símbolos que permitem à primeira vista saber a configuração básica do bloco. A Figura 3 representa esses símbolos e a Tabela 1 explica a sua funcionalidade. Figura 3 – Bloco de espera (para um sensor) Símbolo 1 2 Descrição Mostra que porta de saída está a ser utilizada pelo bloco Indica qual a situação escolhida para o sensor ser activado Por defeito Depende do sensor, no caso do sensor de toque é a porta 1 Depende do sensor, no caso do sensor de toque é ser premido Tabela 1 – Descrição dos símbolos presentes num bloco de espera PARÂMETROS DO BLOCO WAIT Das 9 maneiras diferentes de configurar um bloco de espera, existe uma que se distingue das outras pois é a única que não espera por nenhum sensor do robô. Nesta apenas se tem que configurar dois parâmetros: controle e até. No caso dos blocos de espera que esperam por um sensor, a feedback box (lado inferior esquerdo) ajuda a testar as condições que se aguarda. Por exemplo, no sensor de toque, quando o butão é premido o número na caixa fica a 1. Quando este não é premido, o número fica a zero, como se verifica na Figura 5. ESPERAR POR UM DETERMINADO TEMPO Figura 4 – Painel de parâmetros do bloco de espera (tempo) Controlo (Control): Este campo apenas serve para Especifique se o bloco de espera deve esperar por um limite de tempo ou por um sensor. Neste caso está escolhida a opção time (tempo), a outra opção seria sensor que serviria para qualquer uma das outras 8 principais configurações do bloco de espera. Até (Until): Especifique a duração da espera (em segundos). SENSOR DE TOQUE Figura 5 - Painel de parâmetros do bloco de espera (sensor de toque) Sensor (Sensor): Neste parâmetro é escolhido o sensor a utilizar que neste caso é o sensor de toque (touch sensor). Porta (Port): Especifique qual é a porta de entrada (input port) que o sensor de toque está a usar no NXT. Acção (Action): Especifique qual é a condição a testar: se o sensor de toque é premido (pressed), solto (released) ou se é “tocado” (bumped). SENSOR DE LUZ Figura 6 – Painel de parâmetros para o bloco de espera (sensor de luz) Sensor (Sensor): Neste parâmetro é escolhido o sensor a utilizar que neste caso é o sensor de luz (light sensor). Porta (Port): Especifique qual é a porta de entrada (input port) que o sensor de luz está a usar no NXT. Até (Until): Especifique qual é a condição a testar. Através do elevador horizontal ou da caixa de texto no canto inferior direito deste parâmetro, defina a intensidade da luz desejada. Através dos botões do lado esquerdo e direito do elevador horizontal ou do menu por baixo do mesmo escolha se deseja esperar até a intensidade de luz ser menor ou maior que a especifique. Função (Function): Especifique se o robô deve gerar luz ou não. SENSOR DE SOM Figura 7 – Painel de parâmetros para o bloco de espera (som) Sensor (Sensor): Neste parâmetro é escolhido o sensor a utilizar que neste caso é o sensor de som (sound sensor). Porta (Port): Especifique qual é a porta de entrada (input port) que o sensor de som está a usar no NXT. Até (Until): Especifique qual é a condição a testar. Através do elevador horizontal ou da caixa de texto no canto inferior direito deste parâmetro, defina a intensidade do som (volume) desejada. Através dos botões do lado esquerdo e direito do elevador horizontal ou do menu por baixo do mesmo escolha se deseja esperar até a intensidade do som ser menor ou maior que a Especifiqueda. SENSOR ULTRA-SÓNICO Figura 8 – Painel de parâmetros para o bloco de espera (ultra-sónico) Sensor (Sensor): Neste parâmetro é escolhido o sensor a utilizar que neste caso é o sensor ultra-sónico (ultrasonic sensor). Porta (Port): Especifique qual é a porta de entrada (input port) que o sensor ultra-sónico está a usar no NXT. Até (Until): Especifique qual é a condição a testar. Através do elevador horizontal ou da caixa de texto no canto inferior direito deste parâmetro, defina a distância desejada. Através dos botões do lado esquerdo e direito do elevador horizontal ou do menu por baixo do mesmo escolha se deseja esperar até a distância ser menor ou maior que a especificada. Mostrar (Show): Seleccione se quer ler o valor em centímetros ou em polegadas. BOTÕES DO NXT Figura 9 – Painel de parâmetros para o bloco de espera (botões do NXT) Sensor (Sensor): Neste parâmetro é escolhido o sensor a utilizar que neste caso são os botões do NXT (NXT buttons). Botão (Button): Neste parâmetro é escolhido o botão do NXT que enviará um sinal “true” quando activado e fará com que o programa continue. Acção (Action): Especifique qual é a condição a testar: se o botão é premido (pressed), solto (released) ou se é “tocado” (bumped). RECEIVE MESSAGE Figura 10 – Painel de parâmetros para o bloco de espera (Receive Message) Sensor (Sensor): Neste parâmetro é escolhido o sensor a utilizar que neste caso é o bluetooth do NXT receber uma mensagem (receive message). Mensagem (Message): Para comparar a mensagem recebida com uma mensagem de teste, tanto se pode escrever o texto ou o número (se foi escolhido texto ou número como formato) como usar os botões para escolher o valor lógico do teste (verdadeiro ou falso). Caixa de correio (Mailbox): Escolha o número da caixa de correio para o qual a mensagem vai chegar. ROTATION SENSOR Figura 11 – Painel de parâmetros para o bloco de espera (Rotation Sensor) Sensor (Sensor): Neste parâmetro é escolhido o sensor a utilizar que neste caso é o sensor de rotações dos motores (rotation sensor). Porta (Port): Especifique qual é a porta a que o motor a ser testado está conectado. Acção (Action): Especifique se quer ler o sensor ou fazer reset (pôr a zero) ao mesmo. Até (Until): Use os botões para escolher qual a direcção desejada: frente ou trás. Através do menu no canto inferior direito escolha se deseja contar em rotações ou graus e na caixa de texto do lado esquerdo do menu indique quantas rotações (ou graus) deseja esperar antes do programa prosseguir. TIMER Figura 11 – Painel de parâmetros para o bloco de espera (Timer) Sensor (Sensor): Neste parâmetro é escolhido o sensor a utilizar que neste caso é temporizador (timer). Temporizador (Timer): Especifique qual o temporizador interno do NXT a utilizar. O programa vai progredir assim que o temporizador escolhido chegar a um certo valor temporal. Acção (Action): Especifique se quer ler o sensor ou fazer reset (pôr a zero) ao mesmo. Até (Until): Insira o valor (em segundos) que fará com que o bloco de espera termine e deixe o programa progredir na caixa de texto. Pode-se utilizar o menu para fazer subir ou descer o valor temporal contido no temporizador.