Programando a Garra - Python
Caixa de ferramentas do professor
-
Esquema da atividade
-
Esta exploração apresentará aos alunos a programação básica do Claw Motor do V5 Clawbot.
-
Aprender a programar o Claw Motor permite aos alunos controlar adequadamente a forma como o V5 Clawbot agarra os objetos no seu ambiente.
O V5 Clawbot está pronto a ser utilizado!
Esta exploração permitir-lhe-á começar a criar alguns projetos interessantes que utilizam a garra do V5 Clawbot para agarrar objetos.
- Os comandos VEXcode V5 Python que serão utilizados nesta exploração incluem:
- garra_motor.set_position(0, GRAUS)
- garra_motor. spin_for (AVANÇAR, 90, GRAUS)
- garra_motor.set_timeout(2, SEGUNDOS)
-
Para saber mais informações sobre o comando, seleccione o ícone de ponto de interrogação junto de um comando para ver mais informações.
- Certifique-se de que tem o hardware necessário, o seu portátil de engenharia e o VEXcode V5 descarregados e está feito.
Quantidade | Materiais necessários |
---|---|
1 |
VEX V5 Classroom Starter Kit (com firmware atualizado) |
1 |
VEX código V5 |
1 |
Caderno de Engenharia |
1 |
Exemplo de desenho Clawbot e Advanced TrainingBot (Drivetrain 2 motores, sem giroscópio) |
1 |
Lata de alumínio |
Passo 1: Preparar-se para a Exploração
Antes de iniciar a atividade, tem cada um destes itens prontos? Verifique cada um dos seguintes:
-
Os motores estão ligados nas portas corretas?
-
Os cabos inteligentes estão totalmente inseridos em todos os motores?
-
O Cérebro está ligado?
-
A bateria está carregada?
Dicas para professores
Modele cada uma das etapas de resolução de problemas para os alunos.
Passo 2: iniciar um novo projeto
Antes de iniciar o seu projeto, selecione o projeto modelo correto. O projeto de exemplo Clawbot e Advanced TrainingBot (Drivetrain 2-motor, No Gyro) contém a configuração do motor do Clawbot. Se o modelo não for utilizado, o seu robô não executará o projeto corretamente.
Conclua os seguintes passos:
- Abra o menu Ficheiro.
- Selecione Abrir Exemplos.
- Selecione e abra o projeto de exemplo Clawbot e Advanced TrainingBot (Drivetrain 2-motor, No Gyro).
- Como estaremos a programar para controlar a garra, renomeie o seu projeto ClawControl.
- Guarde o seu projeto.
- Verifique se o nome do projeto ClawControl se encontra agora na janela no centro da barra de ferramentas.
Dicas para professores
- Por se tratar de uma atividade inicial de programação, o professor deverá modelar os passos e depois pedir aos alunos que realizem as mesmas ações. O professor deve então monitorizar os alunos para garantir que estão a seguir os passos corretamente.
- Certifique-se de que os alunos selecionaram Abrir exemplos no menu Ficheiro.
- Certifique-se de que os alunos selecionaram o projeto de exemplo Clawbot e Advanced TrainingBot (Drivetrain 2-motor, No Gyro). Pode mostrar aos alunos que existem diversas seleções à escolha na página Exemplos. À medida que constroem e utilizam outros robôs, terão a oportunidade de utilizar diferentes modelos.
- Pode pedir aos alunos que adicionem as suas iniciais ou o nome do grupo ao nome do projeto. Isto ajudará a diferenciar os projetos se pedir aos alunos que os enviem.
Caixa de ferramentas do professor
-
Pare e discuta
Este é um bom ponto para fazer uma pausa e fazer com que os grupos de alunos revejam os passos que acabaram de ser concluídos ao iniciar um novo projeto no VEXcode V5.
Passo 3: Programe a garra V5 para abrir
Agora vamos começar por programar a garra para abrir!
# A biblioteca importa
da importação vex *
# Inicia o código do projeto
Claw_motor.set_position(0, DEGREES)
- Escreva o comando grab_motor.set_position() como indicado acima na área de programação para definir a posição inicial da garra.
garra_motor.set_position(0, GRAUS)
garra_motor.set_timeout(2, SEGUNDOS)
- Adicione o comando garra_motor.set_timeout() como indicado acima.
- Note que esta instrução aparece antes do comando grab_motor.spin_for() . A sua finalidade é definir durante quanto tempo o motor Claw pode funcionar e pará-lo após esse tempo. Portanto, mesmo que o motor não se mova 60 graus completos, o design pára o motor Claw após dois segundos.
Claw_motor.set_position(0, GRAUS)
Claw_motor.set_timeout(2, SEGUNDOS)
Claw_motor.spin_for(REVERSE, 60, GRAUS)
- Escreva o comando garra_motor.spin_for() como indicado acima para abrir a garra 60 graus.
- Selecione o slot para o qual o projeto será descarregado no V5 Robot Brain, selecionando o ícone 1 na caixa para abrir todos os slots de projeto disponíveis e selecione o slot pretendido.
- Ligue o robô ao seu computador ou tablet. O ícone Brain na barra de ferramentas fica verde após ter sido estabelecida uma ligação bem-sucedida.
- Clique no ícone Download junto ao ícone Informações do dispositivo para descarregar o projeto para o V5 Robot Brain.
- Verifique se o projeto ClawControl foi descarregado para o cérebro no slot que escolheu.
Caixa de ferramentas do professor
-
modelo primeiro
Modele a execução do projeto perante a turma antes de todos os alunos tentarem ao mesmo tempo. Reúna os alunos numa área e posicione o Clawbot de forma a que a sua garra possa ser vista por todos. Se planeia demonstrar mais do que uma vez, pode empurrar suavemente a Garra para a fechar entre as corridas.
Diga aos alunos que agora é a sua vez de executar os seus projetos.
- Execute o projeto no Clawbot certificando-se de que o projeto está selecionado e prima o botão Executar. Parabéns por criar o seu primeiro projeto para mover a Garra!
Passo 4: tente isto: feche a garra V5
Agora que já programou a garra para abrir, irá programá-la para fechar.
Agora que já consegue abrir a garra, também vai querer fechá-la.
- Volte ao seu projeto ClawControl e adicione um comando grab_motor.spin_for() adicional para que o Claw Motor rode fechado 30 graus. A garra deve fechar até metade porque originalmente rodou 60 graus.
- Teste se o seu projeto revisto tem a garra aberta a 60 graus e depois fechada a 30 graus, descarregando e executando o seu projeto ClawControl.
Caixa de ferramentas do professor
-
solução
Anteriormente, a Garra abria 60 graus. Incluída neste projeto estava uma instrução de definição do tempo limite do motor porque é uma prática importante definir um tempo limite quando se alimenta um manipulador que poderia ter o seu movimento restringido de alguma forma. A definição de um tempo limite evita um desgaste desnecessário do motor.
A seguir é apresentada a solução desta etapa:
# Inicia o código do projeto
Claw_motor.set_position(0, DEGREES)
Claw_motor.set_timeout(2, SECONDS)
Claw_motor.spin_for(REVERSE, 60, DEGREES)
Claw_motor.spin_for(FORWARD, 30, DEGREES)
Passo 5: tente isto: sequenciar vários movimentos
Nem tudo o que apanha com a garra terá o mesmo tamanho. Tente abrir a garra em diferentes posições ao longo da amplitude de movimento.
- Rode o motor para:
- Aberto por 70 graus
- Fechar por 20 graus
- Aberto por 10 graus
- Fechar por 30 graus
- Fechar por 25 graus
- Se o Claw Motor arrancar a 0 graus, quantos graus estará o Claw Motor aberto no final do projeto?
- Comece com o motor de garra fechado.
Caixa de ferramentas do professor
-
solução
A solução para esta etapa é apresentada de seguida.
O Motor de Garra ainda está aberto a 5 graus no final do projecto: 70 - 20 = 50 --> 50 + 10 = 60 --> 60 - 30 = 30 --> 30 - 25 = 5 graus.
# Inicia o código do projeto
# Toma a posição atual da Garra como zero
Claw_motor.set_position(0, DEGREES)
# Define o tempo limite da Garra
Claw_motor.set_timeout(2, SECONDS)
Claw_motor.spin_for(REVERSE, 70 , DEGREES)
garra_motor.spin_for (AVANÇO, 20, GRAUS)
garra_motor.spin_for (REVERSE, 10, GRAUS)
garra_motor.spin_for (AVANÇO, 30, GRAUS)
garra_motor.spin_for (AVANÇO, 25, GRAUS)
Passo 6: Concluindo o Desafio Lock Tight
O desafio do bloqueio apertado
- Programe o Clawbot para fechar com segurança a garra numa lata de alumínio vazia de 12 onças sem esmagar as laterais.
- Faça com que o Clawbot segure a lata enquanto levanta e baixa o braço 45 graus.
- O Clawbot deve então largar a lata e afastar-se dela.
- Comece o desafio com uma garra aberta e uma lata vazia no seu interior.
Dicas para professores
- Peça aos alunos que iniciem o desafio com uma garra aberta e uma lata vazia no seu interior.
- Caso a lata seja esmagada ou caia da garra, o desafio deverá ser reiniciado após o ajuste do projeto.
Caixa de ferramentas do professor
-
solução
Eis um exemplo de solução:
# Inicia o código do projeto
# Toma a posição atual da Garra como zero
Claw_motor.set_position(0, DEGREES)
# Define o tempo limite da Garra
Claw_motor.set_timeout(2, SECONDS)
Claw_motor.spin_for(FORWARD, 170 , DEGREES)
arm_motor.spin_for (AVANÇAR, 45, GRAUS)
arm_motor.spin_for (REVERSE, 45, GRAUS)
garra_motor.spin_for (REVERSE, 150, GRAUS)
drivetrain.drive_for (REVERSE, 150, MM)
- O projeto define o tempo limite, fecha a garra à volta da lata, levanta e baixa a lata, liberta-a e depois recua.
-
Rubrica de Programação