Caixa de Ferramentas do Professor - Esboço da Atividade
-
Esta exploração apresentará aos alunos a programação de comportamentos repetitivos usando loops de repetição ou para sempre.
-
Aprender a programar usando loops de repetição e para sempre permite que os alunos economizem tempo ao construir um projeto que usa as mesmas ações repetidas. Para obter mais informações sobre as instruções usadas em um projeto de texto, visite as informações de ajuda.
O Clawbot V5 está pronto para avançar!
Esta exploração lhe dará as ferramentas para poder começar a criar alguns projetos interessantes que usam loops.
- Instruções do VEXcode V5 Python que serão usadas nesta exploração:
- drivetrain.drive_for(PARA FRENTE, 300, MM)
- drivetrain.turn_for(DIREITA, 90, GRAUS)
- claw_motor.spin_for(REVERSO, 70, GRAUS)
- arm_motor.spin_for(PARA FRENTE, 360, GRAUS)
- bumper_b.pressing()
- while True:
- para repeat_count no intervalo(4):
- aguarde(5, SEGUNDOS)
Você pode usar as informações de Ajuda dentro do VEXcode V5 para aprender sobre comandos Python individuais.
Dicas para Professores
Se esta é a primeira vez que o aluno usa o VEXcode V5, ele pode ler uma variedade de artigos na Biblioteca VEX.
Dicas para Professores - Usando o Preenchimento Automático
O preenchimento automático é um recurso do VEXcode V5 que prevê o restante do comando que você está digitando. Como os alunos estão trabalhando no VEXcode V5, incentive-os a usar o recurso de preenchimento automático para ajudar com a sintaxe do Python. Você pode notar uma função de preenchimento automático ao começar a digitar a instrução. Use as teclas "Para cima" e "Para baixo" para selecionar o nome desejado e, em seguida, pressione "Tab" ou (Enter/Return) no teclado para fazer a seleção. Para obter mais informações sobre como usar o preenchimento automático, confira o artigo do Python.
Certifique-se de ter o hardware necessário, seu notebook de engenharia e o VEXcode V5 baixados e prontos.
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 de exemplo de modelo Clawbot (Drivetrain 2-motor, sem giroscópio) |
Etapa 1: Vamos começar a programar com loops
- Antes de iniciar o seu projeto, selecione o modelo de projeto correto. O projeto de exemplo Clawbot Template (Drivetrain 2-motor, No Gyro) contém a configuração do motor do Clawbot. Se o modelo não for usado, o seu robô não executará o projeto corretamente.
-
Seleccione Ficheiro e Abra Exemplos.
-
Percorra os diferentes projetos de exemplo. Estes projetos demonstram uma variedade de ações que o seu Clawbot pode realizar. Selecione e abra o projeto de exemplo Clawbot Template (Drivetrain 2-motor, No Gyro).
-
Nomeie o projeto RepeatingActions.
-
Digite o seguinte código:
# Importações de biblioteca da importação Vex * # Iniciar código do projeto # Avança 300mm gira 90 graus para 4 iterações para repeat_count no intervalo(4): drivetrain.drive_for (PARA FRENTE, 300, MM ) drivetrain.turn_for (DIREITA, 90, GRAUS) aguarde(5, SEGUNDOS)
Examine o projeto e, em seguida, faça o seguinte no seu caderno de engenharia.
-
Preveja o que o Clawbot fará no projeto. Explique mais do que o facto de o projeto se repetir.
O que ele está repetindo? O que o Clawbot está fazendo?
- Escreva a sua previsão, mas não divida o projeto curto em mais de duas partes.
Caixa de Ferramentas do Professor - Respostas
-
Este projeto terá o robô: avançar 300 milímetros , virar à direita 90 graus e esperar 5 segundos 4 vezes para completar um quadrado. Em vez de usar as mesmas 3 instruções 4 vezes, a instrução de repetição reduz a quantidade para apenas 1 vez. A instrução de repetição repete as ações de avançar e depois virar.
-
A previsão pode ser simplesmente "O Clawbot se move num quadrado". Esta seria uma maneira sucinta de capturar os movimentos repetidos do Clawbot sem qualquer contexto.
Os cadernos de engenharia dos alunos podem ser mantidos e pontuados individualmente ou em equipe. Os links anteriores fornecem uma rubrica diferente para cada abordagem. Sempre que uma rubrica for incluída no planejamento educacional, é uma boa prática explicar a rubrica ou pelo menos dar cópias aos alunos antes do início da atividade.
-
Salve, baixe e execute o projeto Repeating Actions.
- Verifique as suas explicações do projeto no seu caderno de engenharia e adicione notas para corrigi-las conforme necessário.
Passo 2: Executar o projeto e observar o robô
Veja novamente o projeto Repeating Actions (o segundo projeto). Este projeto repetirá o comportamento para a frente e, em seguida, girará quatro vezes. Uma estrutura de loop "repeat" (usando um loop for) é usada quando você deseja usar um conjunto de comportamentos um determinado número de vezes.
Se a estrutura de repetição for substituída por uma estrutura de loop while, o robô repetirá os comportamentos forward e, em seguida, girará "enquanto" a condição for verdadeira. Você também pode definir a condição como "true" para que o loop while continue para sempre.
No primeiro projeto, a entrada de um sensor é usada para determinar quando começar a girar. O projeto à direita usa uma distância de transmissão fixa para determinar quando começar a girar.
Para verificar continuamente a entrada de um sensor, uma instrução if else é usada em conjunto com um loop while. No projeto à esquerda, o robô girará para a direita quando o sensor "bumper_b" for pressionado, caso contrário, o robô avançará para sempre se o sensor "bumper_b" não for pressionado. Para verificar continuamente o valor do sensor bumper_b, a instrução if está dentro de um loop while.
O primeiro projeto é um caso de uso prático de uma estrutura que se repete para sempre – usando loops while e if juntos. Imagine uma vassoura autónoma que continua a avançar até colidir com uma parede ou objeto e, em seguida, vira antes de continuar a conduzir.
Estenda a sua aprendizagem
Para explorar ainda mais como você pode usar loops com condicionais, peça aos alunos que construam um projeto de Varredor de Piso no VEXcode V5.
- Comece fazendo com que os alunos montem e liguem os interruptores do para-choque.
-
Peça aos alunos que abram o projeto de exemplo Clawbot Template (Drivetrain 2-motor, No Gyro).
- Peça aos alunos que configurem o Interruptor do Pára-choques de 3 fios noVEXcode V5 , selecionem o Dispositivo de 3 fios que está a usarpara o PÁRA-CHOQUES e selecionem a porta para B.
-
Peça aos alunos que nomeiem o projeto como Varredor de Piso.
-
Peça aos alunos que construam o seguinte projeto.
# Importações de biblioteca de importação Vex * importação aleatória # Começar código do projeto enquanto True: while (not bumper_b.pressing () ): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.stop () #O método random.randomint () retorna um número inteiro aleatório entre o intervalo especificado #Passe os valores min e max do intervalo para os parâmetros drivetrain.turn_for (RIGHT, (90+random.randint (0, 90)),DEGREES) wait(5, MSEC)
Se os alunos precisarem de ajuda com alguma das instruções, encaminhe-os para as informações de Ajuda.
Peça aos alunos que baixem e executem o projeto para observar como o robô se move. Em seguida, inicie uma discussão em sala de aula e peça aos alunos que expliquem por que a estrutura para sempre foi usada em vez de uma estrutura de repetição.
Os alunos devem observar que uma estrutura para sempre é usada porque este projeto verifica continuamente se o interruptor do para-choque está sendo pressionado.
Passo 3: O Desafio dos Loops Quadrados!
- Peça ao seu Clawbot para conduzir num quadrado.
- Antes de cada turno, a garra deve ser aberta e fechada, e o braço deve ser levantado e abaixado.
- O Clawbot não pode dirigir ao longo de um lado da praça mais de uma vez.
- Você pode usar o projeto RepeatingActions de cima como ponto de partida, mas salvá-lo como SquaredLoops antes de fazer qualquer alteração.
No seu caderno de engenharia, planeie o seguinte:
- Planeie a sua solução e preveja o que cada instrução no seu projeto fará com o Clawbot.
- Baixe e execute o seu projeto para testá-lo antes de enviá-lo.
- Faça alterações no projeto conforme necessário e anote o que foi alterado durante o teste.
Caixa de Ferramentas do Professor - Solução
A seguir, uma possível solução para o Desafio dos Ciclos Quadrados:
# Importações
de biblioteca da importação Vex *
# Início do código do projeto
para repeat_count no intervalo(4
): drivetrain.drive_for (FORWARD, 300,
MM) claw_motor.spin_for (REVERSE, 70,
DEGREES) arm_motor.spin_for (FORWARD, 360, DEGREES
) claw_motor.spin_for (FORWARD, 70, DEGREES
) arm_motor.spin_for (REVERSE, 360, DEGREES
) drivetrain.turn_for (RIGHT, 90, DEGREES)
aguarde(5, MSEC)
Pode fornecer aos alunos uma rubrica de programação para pontuar os seus projetos. Os cadernos de engenharia dos
alunos podem ser mantidos e pontuados individualmente ou em equipe.