Skip to main content

Ícone da caixa de ferramentas do professor Caixa de ferramentas do professor - O objetivo desta atividade

Agora que os alunos têm experiência em tratar a tela do cérebro como um grande botão, eles podem transformar a tela em dois botões. Esta atividade apresentará aos alunos o uso de instruções if-else aninhadas para gerenciar melhor as instruções condicionais e a lógica subjacente para fazê-lo. Os alunos são primeiro orientados na construção do projeto para que os toques na tela girem o robô para a esquerda ou para a direita. Mas, então, eles são solicitados a trocar os botões para que o que virou o robô para a esquerda agora o vire para a direita e vice-versa.

Para obter mais informações sobre as instruções if e if-else ou outras usadas nesta atividade, visite as informações de ajuda no VEXcode V5. Para obter mais informações sobre esta ferramenta de ajuda integrada, este artigo.

A seguir está um esboço do que seus alunos farão nesta atividade:

  • Revendo o projeto StopOrDrive e o layout da tela do cérebro em pixels.
  • Construir um novo projeto LeftOrRight enquanto é guiado pelo raciocínio da programação.
  • Revisando o projeto para que os botões da tela funcionem de forma oposta.
  • Amplie seu aprendizado: Dividir a tela em dois botões que, quando pressionados, giram o robô para a esquerda ou para a direita.
     

Certifique-se de ter o hardware necessário, seu notebook de engenharia e o VEXcode V5 pronto.

Materiais requisitados:
Quantidade Materiais necessários
1

VEX V5 Classroom Starter Kit (com firmware atualizado)

1

VEXcode V5 (versão mais recente, Windows, macOS)

1

Caderno de Engenharia

1

projeto StopOrDrive da página anterior do Play

Ícone da caixa de ferramentas do professor Caixa de ferramentas do professor

Para sugestões sobre estratégias de ensino para esta seção, revise a coluna Entrega do Guia de ritmo To Do or Not to Do! (Documento Google

A tela do cérebro pode ter mais de um botão.

Esta atividade permitirá que você programe o robô para avançar e virar à esquerda ou à direita, dependendo de qual lado da tela do cérebro é pressionado.

Os três tipos adicionais de comandos que você precisará durante esta atividade são os seguintes:

  • drivetrain.turn (DIREITA)

  • número < 50

  • cérebro.screen.x_position()

Você pode usar as informações Help dentro do VEXcode V5 para aprender sobre as instruções.

Imagem da Ajuda do VEXcode V5 aberta em janela de projeto Python

Etapa 1: vamos começar revisando o projeto StopOrDrive.

Vamos começar revisando o projeto StopOrDrive.

O projeto StopOrDrive fez com que o Clawbot parasse se a tela fosse pressionada ou então avançasse.
A tela inteira era um botão grande, mas neste próximo projeto, queremos que metade da tela seja um botão e a outra metade seja o outro.

Imagem do projeto stop ou drive em VEXcode V5 Python

Para dividir a tela em dois botões, precisamos entender mais sobre o layout da tela.

  • Observe que as colunas aumentam em número da esquerda para a direita. O número de colunas é 48 e a tela tem 480 pixels de largura.

  • Anote em seu caderno de engenharia que o valor x na tela é igual ao número de pixels medidos da esquerda para a direita.

  • Qual é o valor x do centro da tela? Para esta atividade, você pode focar apenas no eixo x porque você só precisa de um botão esquerdo e direito.

Ícone da caixa de ferramentas do professor Caixa de ferramentas do professor - resposta

O valor x no centro da tela é igual à metade da largura da tela em pixels. Portanto, o valor x do ponto central é 240. Os alunos precisarão desse número para programar a condição para que a tela seja pressionada à esquerda ou à direita. Portanto, certifique-se de verificar se todos eles têm o valor correto.

Olhando para o futuro, o Desafio da Interface do Usuário na seção Repensar exigirá que os alunos apliquem o que aprenderam para criar quatro botões na tela. Então, para isso, eles precisarão dos valores de x e y.

Ícone de dicas para professores Dicas para professores

Para obter mais assistência, consulte a Biblioteca VEX para artigos de ajuda complementares.

Passo 2: Programação para dois botões.

  • Salve StopOrDrive como o projeto LeftOrRight .

  • Construa o projeto abaixo. O Clawbot virará para a esquerda ou para a direita quando a tela for pressionada, dependendo do lado em que for pressionado.

Imagem do projeto esquerdo ou direito no VEXcode V5 Python

  • Vamos revisar o que este projeto faz.

    Ele continua verificando se a tela está pressionada. Se a tela não estiver pressionada, ele avança, mas se estiver, verifica onde a tela está pressionada.

    Se a prensa estiver do lado esquerdo (menos de 240), ela vira para a esquerda. Caso contrário, vira certo. Não precisamos de outra condição para quando o valor de x for maior que 240 porque se não for menor que 240 (vire à esquerda), deve ser maior (vire à direita). Só temos dois botões com os quais nos preocupar.

    Os comandos de controle enquanto e esperam após cada turno fazem o projeto esperar até que a tela não esteja mais sendo pressionada antes de continuar.

Imagem do projeto esquerdo ou direito com explicações de cada comando

  • Agora que o projeto está concluído, baixe e execute-o para testar como funciona.

  • Faça anotações em seu caderno de engenharia sobre como os botões controlam os movimentos do Clawbot.

Ícone de dicas para professores Dicas para professores

Ao testar, os alunos devem reconhecer que a interface do usuário, quando usada por trás do Clawbot, parece funcionar ao contrário. Da perspectiva do usuário, o Clawbot se afasta do lado que está sendo pressionado pelo usuário. Essa não é uma experiência de usuário ideal.

Passo 3: Ajuste o projeto para uma melhor experiência do usuário.

Ao pressionar os botões da tela por trás do Clawbot enquanto ele avançava, você pressionava no lado direito da tela para virar à esquerda e no lado esquerdo da tela para virar à direita. Essa não é uma boa experiência do usuário. Uma experiência do usuário é quão bem um usuário pode interagir com uma interface de usuário para controlar um sistema de computador. Há mais informações sobre interfaces de usuário na seção Aplicar deste laboratório.

Neste caso, precisamos melhorar a Interface do Usuário para melhorar a Experiência do Usuário.

  • Revise o projeto LeftOrRight e revise-o para que quando o usuário pressionar os botões por trás do Clawbot, o robô vire à direita quando o usuário pressionar o lado esquerdo da tela. Ou então, o Clawbot vira à esquerda.

Imagem do projeto esquerdo ou direito no VEXcode V5 Python

  • Planeje, teste e repita este projeto e documente em seu caderno de engenharia para que o projeto faça o Clawbot virar em direção ao lado da tela que o usuário está pressionando por trás do Clawbot.

Ícone da caixa de ferramentas do professor Caixa de ferramentas do professor

Os alunos devem planejar, testar e refinar essas alterações no projeto enquanto as documentam em seus cadernos de engenharia. Para a rubrica do caderno de engenharia individual, em um dos links a seguir (Google Doc ) ou clique em um dos links a seguir para cadernos de equipe (Google Doc / ). Lembre-se de explicar a pontuação aos alunos antes de começarem a trabalhar.

Ícone da caixa de ferramentas do professor Caixa de ferramentas do professor - soluções

Existem duas maneiras possíveis de resolver o problema colocado acima. A primeira forma é aquela escrita na instrução: Revise o projeto LeftOrRight e revise-o para que quando o usuário pressionar os botões por trás do Clawbot, o robô vire à direita quando o usuário pressionar o lado esquerdo da tela. Ou então, o Clawbot vira à esquerda.Imagem de um exemplo de solução com o operador alterado

A outra solução é mudar a instrução do Operador para que quando o valor x for maior que 240, o Clawbot vire à esquerda. Imagem de uma solução de amostra com o operador alterado
 

Ícone Motivar Discussão Motivar a discussão

Você precisava usar coordenadas de um plano de coordenadas ao programar a instrução condicional para quando o valor x fosse menor que 240 (lado esquerdo da tela). Para que a tela do Cérebro desenhe botões visuais, você também precisaria usar coordenadas.
Retorne à Etapa 2, onde foram mostradas as coordenadas da tela do Cérebro Robô V5.

Q: Qual é o valor x na borda direita da tela?
A: O valor x aumenta de 0 na borda esquerda para 480 na borda direita.

Q: Portanto, o intervalo do valor x é 480 (0 a 480). Qual é o intervalo do valor y?
A: O intervalo do valor y é 240 (0 a 240).

Q: Onde está a origem (0, 0) deste plano de coordenadas?
A: A origem está no lado superior esquerdo.

Q: Você está no topo da tela quando o valor y é igual a 0. Por que isso é incomum?
A: Normalmente, o valor y aumenta à medida que você sobe, mas na tela V5, o valor y aumenta à medida que você desce. Mas você pode pensar nisso como o valor de y aumentando à medida que você se afasta da origem (0, 0) no canto superior esquerdo da tela.

Ícone Amplie seu aprendizado Amplie seu aprendizado

No Desafio de Interface do Usuário da seção Repensar, os alunos serão solicitados a desenvolver um projeto que crie quatro botões na tela para controlar a garra e o braço do Clawbot. Para esse desafio, eles também devem ter esses quatro botões mostrados na tela. Este Extend Your Learning, como o da página anterior, ajudará a prepará-los para esse desafio porque o desafio tem quatro botões para programar, e este tem apenas dois.

Peça aos alunos que adicionem um evento ao programa para que a tela desenhe dois botões visíveis quando o projeto for executado. Sugira que os alunos usem o recurso Ajuda no VEXcode V5 para obter informações sobre eventos, particularmente as informações do comando draw retângulo . Oriente os alunos a revisarem como a tela do Cérebro é organizada em um sistema de coordenadas baseado no número de pixels quando usado no comando desenhar retângulo . Eles precisarão entender isso para definir parâmetros nesse comando. Além disso, eles precisarão entender como transmitir eventos. Neste caso, o evento é desenhar botões.

Os alunos devem planejar, testar e refinar essas alterações no projeto enquanto as documentam em seus cadernos de engenharia. Para a rubrica do caderno de engenharia individual, em um dos links a seguir (Google Doc ) ou clique em um dos links a seguir para cadernos de equipe (Google Doc / ).

Aqui está um exemplo de solução:

Imagem de um exemplo de solução para desenhar botões na tela do cérebro

Para uma experiência profissionalmente realista adicional, peça aos alunos que peçam feedback aos colegas sobre as duas opções de cores.

As cores escolhidas dão vontade de usar a interface ou quais cores eles prefeririam como usuários?

Parte do desenvolvimento de uma ótima interface de usuário é coletar dados sobre a experiência do usuário e até mesmo sobre preferências estéticas.