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.
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 |
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.
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.
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.
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.
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.
- 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.
-
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.
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.
-
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.
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.
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.
A outra solução é mudar a instrução do Operador para que quando o valor x for maior que 240, o Clawbot vire à esquerda.
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.
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:
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.