top of page

SP-095

SPIKE Prime

Image-empty-state.png

30-45 min

Item 1

Iniciante

Controle de Carrinho

Os alunos irão explorar o sensor de distância para controlar os movimentos.

Aula criada por:

LEGO® Education

Suporte ao Professor

Objetivos da Aula

Os alunos irão:
• Programar o sensor de distância.
• Explorar movimentos com distância.
• Entenda o ultrassom.

Preparar

Certifique-se de que os hubs SPIKE Prime estejam carregados, especialmente se estiverem conectados por Bluetooth.

Material do Aluno

---------

Image-empty-state.png

Envolver

( Aula inteira, 5 minutos )

Envolva os alunos a pensar sobre as maneiras como usamos máquinas automatizadas. Peça aos alunos que pensem sobre como essas máquinas usam sensores para evitar colidir com objetos. Considere mostrar imagens e vídeos de diferentes máquinas de embalagem ou expedição como exemplos. Você também pode solicitar aos alunos que pesquisem e encontrem seus próprios exemplos.

Discuta com os alunos como eles veem as máquinas automatizadas se movendo com sucesso.

 

Perguntas para investigar

• Como um sensor de distância pode ser usado para fornecer informações para decisões?
• Como os sensores podem ser usados ​​para movimentos mais precisos?

 

--

Image-empty-state.png

Explorar

( Pequenos Grupos, 20 minutos )

Os alunos construirão um modelo de carrinho de entrega para investigar diferentes maneiras de se mover com o sensor de distância.

Direcione os alunos para a seção BUILD no aplicativo SPIKE. Aqui os alunos podem acessar as instruções de construção do modelo Carrinho de Entrega. Peça aos alunos que construam o modelo. As instruções de construção também estão disponíveis em https://education.lego.com/en-us/support/spike-prime/building-instructions .

Oriente os alunos a abrir um novo projeto na tela de programação Python. Peça aos alunos para apagar qualquer código que já esteja na área de programação. Os alunos devem conectar seu hub.

 

Carrinho Sob Controle

Os alunos investigarão como usar o sensor de distância.

Peça aos alunos que revisem este programa. Discuta com eles se houver algum bug. Quando perceberem que não existem, pergunte-lhes porque é que este programa não vai funcionar bem. Os alunos devem perceber que o motor continuará a funcionar para sempre e, eventualmente, baterá em alguma coisa.

 

from spike import MotorPair

\# Initialize the motor
motor_pair=MotorPair('A','E')

\# Run motor
motor_pair.start()

 

Peça aos alunos que pensem em maneiras de evitar que o carrinho bata em um objeto. Os alunos podem pensar em incluir uma parada no programa ou adicionar um sensor de força ao carrinho com base em experiências anteriores. Diga aos alunos que eles usarão um sensor diferente.

Peça aos alunos que localizem o sensor de distância que construíram no fundo do carrinho. Forneça aos alunos este código de amostra para mover o carrinho usando o sensor de distância. Os alunos precisarão digitar este programa na tela de programação.

Peça aos alunos que analisem cada linha de código com seus parceiros. Determine o que o programa pretende fazer.

Peça aos alunos que executem o programa.

 

from spike import DistanceSensor, MotorPair

\# Initialize the Distance Sensor and motor
distance_sensor = DistanceSensor('B')
motor_pair = MotorPair('E', 'A')

\# Move your hand slowly away from the distance sensor to start the motor

distance_sensor.wait_for_distance_farther_than(20, 'cm')
motor_pair.start(0, -50)
\# Move your hand slowly toward the distance sensor to stop the motor
distance_sensor.wait_for_distance_closer_than(20, 'cm')
motor_pair.stop()

 

Se os alunos tiverem dificuldade para fazer o programa funcionar, dê uma dica. Os alunos precisarão segurar um objeto como um livro ou uma mão na frente do sensor de distância quando iniciarem o programa. Assim que o programa estiver em execução, retire o objeto, o carrinho deve começar a se mover. Coloque o objeto de volta na frente do sensor e ele deve parar.

Permita que os alunos explorem o programa variando a distância inicial do objeto e repetindo o programa várias vezes.

Nota: A distância para ligar os motores não precisa ser igual à distância para parar os motores.

--

Image-empty-state.png

Explicar

( Grupo inteiro, 5 minutos )

Revise o programa juntos como um grupo.

Faça perguntas adicionais aos alunos, como:
• O que as linhas wait_for_distance_further_than e wait_for_distance_closer estão dizendo ao carrinho para fazer?
• Por que um objeto foi necessário para fazer o programa funcionar?
• O que acontece quando você inicia o carrinho mais longe do objeto?
• Como funciona o sensor de distância?

Explique aos alunos que o sensor de distância no carrinho é um sensor ultrassônico. Peça aos alunos que olhem para a área superior esquerda da tela de programação perto de onde eles conectam seu hub. Aqui eles devem ver os dados ao vivo vindos do carrinho. Todo o hardware conectado ao carrinho, motores e sensores, fornecerá dados ao vivo.

Peça aos alunos que olhem para o sensor de distância e movam suas mãos para perto dele e depois para mais longe. O número deve mudar, aumentando à medida que o ponteiro se afasta. Descreva como o sensor funciona enviando um pulso sônico de um círculo ou “olho” que rebaterá qualquer objeto na frente do sensor e retornará ao outro círculo ou “olho”. O sensor usa o tempo que esse pulso leva para retornar para “medir” a distância até o objeto. O sensor usa uma fórmula matemática para transformar o tempo em uma medição de distância.

--

Image-empty-state.png

Elaborar

( Pequenos Grupos, 10 minutos )

Os alunos devem ter notado que as rodas traseiras do carrinho podem impedir que o carrinho se mova em linha reta. Ao executar o programa acima, os alunos podem ter visto o carrinho virar para um lado, a menos que as rodas traseiras estejam retas. Considere demonstrar para os alunos.

Pergunte aos alunos por que um carrinho girando pode ser um problema para o sensor de distância quando ele detecta a distância de um objeto usando um pulso ultrassônico. Discuta ideias com os alunos sobre como manter o carrinho em movimento reto.

Os alunos devem identificar que, como as rodas traseiras estão conectadas a um motor, um código pode ser adicionado para ajudar o carrinho a ficar reto. Os alunos também podem pensar em mudar a construção para fixar o motor no lugar. Considere discutir como isso poderia limitar o movimento do carrinho e, em vez disso, focar novamente os alunos no código.

Forneça aos alunos este código de amostra para ajustar o motor traseiro e as rodas retas. Os alunos devem mover intencionalmente o motor grande com as rodas traseiras para garantir que não esteja reto. Peça aos alunos que executem o programa.

 

from spike import DistanceSensor, MotorPair, Motor
from spike.control import wait_for_seconds

\# Initialize the Distance Sensor and motor
distance_sensor = DistanceSensor('B')
motor_pair = MotorPair('E', 'A')
motor_back = Motor('C')

\# Move toward object. Stop at 20 cm
motor_back.run_to_position(0, 'shortest path', 75)
motor_pair.start(0, -50)
distance_sensor.wait_for_distance_closer_than(20, 'cm')
motor_pair.stop()

 

Discuta o programa com os alunos e como garantir que as rodas traseiras estejam retas permite que o sensor funcione com mais eficiência. Quando o sensor está perpendicular a um objeto, as ondas sonoras são refletidas de forma mais direta, proporcionando uma boa leitura.

 

Depuração
Peça aos alunos que revisem o seguinte programa para considerar como lidar com a mensagem de erro recebida.

Atividade de depuração nº 1

 

from spike import MotorPair, Motor
from spike.control import wait_for_seconds

\# Initialize the Distance Sensor and motor
distance_sensor = DistanceSensor('B')

motor_pair = MotorPair('E', 'A')
motor_back = Motor('C')

\# Move toward object. Stop at 20 cm
motor_back.run_to_position(0, 'shortest path', 75)
motor_pair.start(0, -50)
distance_sensor.wait_for_distance_closer_than(20, 'cm')
motor_pair.stop()

File "lib/hub/flash/programrunner/__init__.py", line 1, in start_program
File "./projects/22622.py", line 9
NameError: name 'DistanceSensor' isn't defined

 

Discuta a mensagem de erro com os alunos. Os alunos devem reconhecer que o erro se refere à linha 9. No entanto, o erro está na linha 1. O problema é que um sensor de distância é usado no programa, mas o sensor de distância não é importado na linha 1.

Atividade de depuração #2

 

from spike import DistanceSensor, MotorPair, Motor
from spike.control import wait_for_seconds

\# Initialize the Distance Sensor and motor
distance_sensor = DistanceSensor('B')
motor_pair = MotorPair('B', 'A')
motor_back = Motor('C')

\# Move toward object. Stop at 20 cm
motor_back.run_to_position(0, 'shortest path', 75)
motor_pair.start(0, -50)
distance_sensor.wait_for_distance_closer_than(20, 'cm')
motor_pair.stop()

File "lib/hub/flash/programrunner/__init__.py", line 1, in start_program
File "./projects/23262.py", line 6
File "lib/hub/flash/spike/motorpair.py", line 1, in __init__
RuntimeError: One or both of the Ports do not have a motor connected.

 

Discuta a mensagem de erro com os alunos. Os alunos devem reconhecer que o erro está apontando para várias linhas. O problema é que a variável MotorPair não está definida como uma porta que possui um motor conectado. O erro de execução indica que as portas não possuem um motor conectado. Os alunos devem verificar as portas nas quais os motores estão conectados e alterar a variável para definir as portas corretas.

--

Avaliar

( Exercício em grupo, 5 minutos )

Observação do professor
Discuta o programa com os alunos. Faça perguntas aos alunos como:
• Como o sensor de distância funcionou para controlar seu carrinho?
• Como o design da roda traseira afeta a forma como o carrinho se move e potencializa a eficácia do sensor?
• Quais são algumas maneiras de usar o sensor de distância?

Autoavaliação
Peça aos alunos que respondam o seguinte em seus diários:
• O que você aprendeu hoje sobre como usar o sensor de distância para evitar colidir com objetos?
• Que características de um bom companheiro de equipe eu demonstrei hoje?
• Peça aos alunos para avaliarem a si mesmos em uma escala de 1 a 3, em sua gestão de tempo hoje.
• Peça ao aluno para avaliar a si mesmo em uma escala de 1 a 3, em seu gerenciamento de materiais (peças) hoje.

--

Dicas para o professor

Diferenciar

bottom of page