Skip to main content

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.

    Uma vista de cima para baixo do Wall Maze Playground. O Robô de RV avançou da seta verde inicial na parte inferior do playground até atingir uma parede na frente dele. Agora está voltado 90 graus para a esquerda, por isso está voltado para a parede à esquerda.

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.

    Uma vista de cima para baixo do Wall Maze Playground. O robô VR avançou da seta verde inicial até avançar, virou à esquerda e avançou novamente até atingir a próxima parede. Ele agora está voltado 90 graus para a direita após o seu movimento, que o tem voltado para a parede superior.

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!

Uma vista de cima para baixo do Wall Maze Playground com o robô VR no local de partida na parte inferior central do Playground. A letra A está diretamente à esquerda do robô, separada por uma parede curta.

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