Lição 2: Usando vários loops While
Continuando pelo Labirinto da Parede
Agora usamos um loop enquanto com o Sensor de Pára-choques para fazer com que o Robô VR pare de conduzir quando embater na parede. No entanto, para continuar pelo Labirinto da Parede, o Robô de RV precisa girar quando atingir uma parede, para que possa mudar de direção e continuar.
-
Para começar, retire o comando stop fora do comando while loop, e substitua-o por um comando turn_for . Defina os parâmetros para que o robô VR vire à esquerda para 90 graus. O seu projeto deve agora ter este aspeto:
def main(): while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) - Inicie o Wall Maze Playground, se ainda não estiver aberto, e execute o projeto.
-
Observe o robô VR dirigir desde o início do labirinto de parede, pare quando o sensor de pára-choques for pressionado pela parede e vire à esquerda 90 graus.

Loops Múltiplos e o Problema do Labirinto de Parede
Agora, o robô de RV chegou a uma parede e virou-se para que possa continuar dirigindo pelo labirinto. Da mesma forma que os dados do Sensor Bumper foram utilizados num loop enquanto para esta primeira etapa do labirinto, a mesma estrutura pode ser utilizada várias vezes no mesmo projeto para fazer com que o Robô VR continue pelo labirinto. Vários loops e podem ser utilizados no mesmo projeto.
-
A partir da posição atual do Robô VR, o próximo passo para resolver o Labirinto da Parede seria avançar para a próxima parede e virar à direita 90 graus. Os comandos existentes podem ser copiados e colados abaixo do comando anterior while loop e turn_for. Lembre-se de estar atento ao recuo e de alterar os novos parâmetros do comando turn_for para rodar 90 graus para a direita. O seu projeto deve agora ter este aspeto:
def main(): while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(RIGHT, 90, DEGREES) - Redefina o Wall Maze Playground e execute o projeto novamente.
-
Observe o robô VR dirigir desde o início do labirinto de parede, pare quando o sensor de pára-choques for pressionado pela parede, vire à esquerda 90 graus, dirija para frente até que o sensor de pára-choques seja novamente pressionado por uma parede, vire à direita 90 graus e pare.

Mini Desafio
Para este mini desafio, cria um projeto em que o Robô VR conduz desde o início até à letra 'A' no Labirinto de Parede Parque Infantil utilizando múltiplos enquanto loops e o Sensor de Pára-choques!

Siga estas etapas para concluir o mini desafio:
-
Assista ao vídeo da solução abaixo para ver como o robô VR deve dirigir para completar o mini desafio. Neste videoclipe, o Robô VR começa no início, na parte inferior central do Playground. Ele avança até que o Sensor do Para-choque seja pressionado pela parede oposta, depois vira à esquerda e segue para a próxima parede à sua frente. Quando o Para-choque é pressionado nessa parede, o robô vira à esquerda novamente e avança até atingir a parede final e a letra A.
- Crie um projeto adicionando ou removendo os comandos necessários ao projeto Unit4Lesson2.
- Inicie o projeto para testá-lo.
- Se o projeto não for bem-sucedido, edite e tente novamente. Continue a revisar e executar o projeto até que o Robô VR conduza com sucesso do início à letra ‘A’.
- Salve o projeto assim que o robô de RV conduzir com sucesso do início à letra ‘A’.
Parabéns! Você resolveu o mini desafio!
Perguntas
Selecione uma ligação abaixo para aceder ao questionário da aula.
Google Doc / .docx / .pdf