Skip to main content

Lição 4: Codificação do sensor de objeto

Na última lição, aprendeu sobre o sensor de objetos e recolheu as percentagens de refletividade dos discos e dos cubos. Agora, irá utilizar estes valores para criar um projeto no VEXcode para parar o Exit Conveyor quando um disco for detetado pelo Object Sensor.

Nesta lição, irá:

  • Configure o sensor de objetos no VEXcode.
  • Aprenda a utilizar operadores de comparação no VEXcode.
  • Crie um projeto para mover um disco do transportador de entrada para o transportador de saída utilizando o feedback do sensor de objetos.

No final desta lição, terá desenvolvido o seu projeto da lição anterior para parar o transportador de saída quando o disco for detetado pelo sensor de objetos.

Disco verde no transportador de saída e abaixo do sensor de objetos.

Editando o Projeto

Começará por editar o seu projeto da Atividade da Lição 2 da Unidade 4 para se preparar para adicionar os comandos relacionados com o Sensor de Objetos.

Abra o seu projetoUnidade 4 Lição 2 Atividadeno VEXcode EXP ou recrie o projeto aqui apresentado.

Renomeie o projetoUnidade 4 Lição 4.

Três pilhas de blocos do projeto Unidade 4 Lição 2. A primeira pilha diz: Quando iniciado, rode o transportador de entrada 1 para dentro, aguarde 7 segundos e depois pare o transportador de entrada 1. Em seguida, rode o transportador 2 para a frente, aguarde 4 segundos e pare o transportador 2. Por fim, rode o transportador de saída 4 para fora, aguarde 2 segundos e, em seguida, pare o transportador de saída 4. A pilha seguinte diz: Quando o pára-choques da torre de sinalização 6 for pressionado, ajuste o braço 10 para controlar parado. O último projeto diz: Quando o controlo do braço 10 parar, ajuste a torre de sinal 6 para verde e desligado e, em seguida, ajuste a torre de sinal 6 para vermelho e intermitente. Por fim, pare o transportador de entrada 1, pare o transportador de transporte 2 e, em seguida, pare o transportador de saída 4.

Configure o sensor de objetos no VEXcode abrindo a janela Dispositivos e selecionandoAdicionar um dispositivo.

A janela Dispositivos está aberta e o botão Adicionar um dispositivo está destacado.

Selecione 3 fiospara abrir a lista de dispositivos de 3 fios.

Opções de dispositivo na janela Dispositivos, com o ícone de 3 fios destacado a vermelho.

De seguida, selecione o Sensor de Objetos.

3 opções de dispositivo de fio na janela de dispositivos, com o ícone do sensor de objeto destacado a vermelho.

Selecione a porta A, depoisConcluídopara concluir a configuração.

Nota:Certifique-se de que o sensor de objetos está ligado à porta A do Brain.

Janela Dispositivos com a Porta A destacada para o Sensor de Objectos.

Remova os dois últimos blocos do projeto. Isto inclui o blocoWaite o blocoStoppara o Exit Conveyor, como mostrado neste vídeo.

Arquivo de vídeo

Adicione um blocoWait untilao projeto.

O blocoWait untilé um bloco que aguarda que uma condição booleana seja reportada como verdadeira antes de passar para o bloco seguinte da pilha.

Continuação de uma pilha VEXcode EXP com um bloco Wait until vazio adicionado no final da mesma. A pilha lê Quando iniciado, rode o transportador de entrada 1 para dentro, aguarde 7 segundos e depois pare o transportador de entrada 1. Em seguida, rode o transportador 2 para a frente, aguarde 5 segundos e pare o transportador 2. Por fim, rode o transportador de saída 4 para fora e aguarde até.

Operadores de comparação

Agora que o blocoWait untilfoi adicionado ao projeto, a condição a ser verificada pelo bloco necessita de ser adicionada. 

Anteriormente, aprendeu sobre a percentagem de refletividade reportada pelo Sensor de Objetos e registou esses valores no seu caderno de engenharia. Neste projeto, necessita que o Exit Conveyor seja executadoaté, quando este valor está acima de um determinado limite . Um limite é algo utilizado para determinar se um valor está acima, abaixo ou dentro de um intervalo aceitável. Os operadores de comparação podem ser utilizados para verificar se a refletividade está acima de um determinado valor ou acima desse limite.

Adicione um bloco Maior queao espaço hexagonal doAguarde até.

O bloco Wait Until que acabou de ser adicionado, com um novo parâmetro booleano de 0 superior a 50.

Adicione um bloco de Reflectividade na primeira abertura do blocoSuperior a.

O bloco Wait Until agora com um bloco Object Sensor Reflectivity adicionado ao bloco greater than. O bloco inteiro lê agora Aguarde até que a refletividade do sensor A do objeto em % seja superior a 50.

O blocoMaior quecompara o primeiro valor com o segundo. O bloco Maior queatualmente no projeto está a comparar a percentagem de refletividade reportada pelo Sensor de Objetos com o parâmetro '50' antes de declarar o Booleano comoVerdadeiroouFalso

O bloco Esperar até com o valor Maior que destacado. O bloco inteiro lê agora Aguarde até que a refletividade do sensor A do objeto em % seja superior a 50.

Pense nos objetivos deste projeto. O transportador de saída precisa de rodar até que o sensor de objetos detete um objeto e, em seguida, o transportador precisa de parar. Os valores recolhidos na lição anterior podem ser utilizados com este blocoMaior quepara determinar o limite que necessita de ser excedido antes de o projeto passar para o bloco seguinte da pilha.

Altere o segundo parâmetro do blocoMaior quepara '9'. 

Este número baseia-se nos valores recolhidos na atividade da lição anterior. A refletividade foi reportada como 10% quando o disco verde estava sob o sensor do objeto, pelo que qualquer valor superior a9% deve ser reportado comoVerdadeiro.

O bloco Esperar até com o valor Maior que destacado e alterado de 50 para 9. O bloco inteiro lê agora Aguarde até que a refletividade do sensor A do objeto em % seja superior a 9.

Adicione um blocoStopno final do projeto. Certifique-se de que o parâmetro está definido como 'ExitConveyor4'.

Continuação da pilha VEXcode EXP com um botão Parar Motor adicionado no final que diz Parar transportador de saída 4. A pilha lê Quando iniciado, rode o transportador de entrada 1 para dentro, aguarde 7 segundos e depois pare o transportador de entrada 1. Em seguida, rode o transportador 2 para a frente, aguarde 5 segundos e pare o transportador 2. Por fim, rode o transportador de saída 4 para dentro. Aguarde até que a refletividade do sensor de objeto A em % seja superior a 9 e, em seguida, pare o transportador de saída 4.

Certifique-se de que o Brain está ligado ao VEXcode e descarregue o projeto.

Barra de ferramentas VEXcode EXP com o ícone de download destacado numa caixa vermelha, entre os ícones Brain e Run.

Leia o código e preveja o que os transportadores farão quando o projeto for executado. 

Registe a sua previsão no seu caderno de engenharia.

A pilha VEXcode EXP à qual foi adicionado o bloco Stop Motor. A pilha inteira lê Quando iniciado, rode o transportador de entrada 1 para dentro, aguarde 7 segundos e depois pare o transportador de entrada 1. Em seguida, rode o transportador 2 para a frente, aguarde 5 segundos e pare o transportador 2. Por fim, rode o transportador de saída 4 para fora. Aguarde até que a refletividade do sensor de objeto A em % seja superior a 9 e, em seguida, pare o transportador de saída 4.

Certifique-se de que está colocado um Disco verde no Transportador de Entrada. Prima o botão Check no Brain para executar o projeto e testá-lo.

Observe o comportamento dos transportadores à medida que o projeto é executado.

EXP Brain com o botão de verificação de diamante destacado numa caixa vermelha para iniciar o projeto da Unidade 4, Lição 4.

Prima o botão X no Cérebro para interromper o projeto quando os transportadores terminarem de se mover. Registe as suas observações no seu caderno de engenharia.

As correias transportadoras moveram-se conforme previu? O Disco verde foi movido para o Transportador de Saída como esperado? Porquê ou por que não?

EXP Brain com o botão X de diamante apresentado numa caixa vermelha para finalizar o projeto.

Revendo o Projeto

Vamos rever o fluxo do projeto neste projeto que parou o Exit Conveyor quando o disco verde foi detetado pelo sensor de objetos. O blocoWait untilinterrompeu o progresso do projeto até que a condição nele contida fosse reportada como TRUE. 

Diagrama que visualiza o fluxo de lógica no projeto VEXcode EXP. Uma seta indica que o bloco Wait until está a iniciar, e uma seta cíclica indica que o bloco aguarda até que a sua condição seja verdadeira. Só quando a refletividade do sensor A do objeto em % for superior a 9 é que o bloco seguinte será executado.

Como o blocoSpiné um bloco sem espera, permite que a célula de trabalho CTE continue a rodar o motor do transportador enquanto verifica os valores do sensor de objectos e a condição da reflectividade ser superior a 9%. Após a condição no blocoWait untilser reportada comoTRUE, o projeto passa para o bloco seguinte da pilha, parando o motor do Exit Conveyor.

Para sua informação

Outra combinação de blocos pode ser utilizada num projeto para parar o Exit Conveyor quando um objeto está sob o Object Sensor. O blocoSet Detection Thresholdpode ser utilizado no início de um projeto para definir o limite, tal como o blocoGreater thanfez no projeto criado acima. 

O bloco VEXcode EXP Set Detection Threshold que diz 'Defina o limite de deteção do sensor de objeto A para 50%.

Uma vez definido o limite, o bloco BooleanDetects objectpode ser utilizado em qualquer bloco com espaços hexagonais. Este bloco reportará VERDADEIRO quando o limite de deteção definido pelo blocoSet detection thresholdfor atingido, ou FALSO quando a percentagem de refletividade estiver abaixo desse limite.

O bloco VEXcode EXP deteta objeto que diz 'O sensor de objeto A deteta o objeto?'.

Como o blocoDetectsobjecté um bloco booleano, pode ser encaixado directamente no blocoWait until.

Versão alternativa da pilha VEXcode EXP, com o bloco booleano Wait Until alterado para um sistema Detection Threshold. A pilha inteira lê agora Quando iniciado, defina o limite de deteção do sensor de objeto A para 9%. Em seguida, rode o transportador de entrada 1 para dentro, aguarde 7 segundos e, em seguida, pare o transportador de entrada 1. Em seguida, rode o transportador 2 para a frente, aguarde 5 segundos e pare o transportador 2. Em seguida, rode o transportador de saída 4 para dentro, aguarde até que o sensor do objeto A detete o objeto e, em seguida, pare o transportador de saída 4.

Verifique a sua compreensão

Antes de passar para a lição seguinte, certifique-se de que compreende os conceitos desta lição respondendo às seguintes questões no seu caderno de engenharia.

Verifique suas perguntas de compreensão > (Google Doc / .docx / .pdf )


Selecione Seguinte > para avançar para a atividade Juntar tudo.