Skip to main content
Portal do Professor

Programando a Garra - Python

Ícone da caixa de ferramentas do professor 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.

    VEXcode V5 com uma drive para o comando introduzido no ambiente de trabalho e a Ajuda desse comando aberta à direita. A Ajuda define o comando e fornece informações sobre a forma como é utilizado.

  • Certifique-se de que tem o hardware necessário, o seu portátil de engenharia e o VEXcode V5 descarregados e está feito.
Materiais necessários:
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:

Ícone de dicas para professores 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.

Barra de ferramentas VEXcode V5 com o menu Ficheiro aberto e Abrir exemplos destacados numa caixa vermelha. Abrir Exemplos é o quarto item do menu abaixo de Novo Desenho de Blocos, Novo Desenho de Texto e Abrir.

Conclua os seguintes passos:

  • Abra o menu Ficheiro.
  • Selecione Abrir Exemplos.

Ícone a ler Clawbot e Advanced TrainingBot com um robô cinzento por cima do texto.

  • 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.

A caixa de diálogo do nome do projeto na barra de ferramentas VEXcode V5 mostra o Claw Control e mostra o Slot 1 selecionado.

Ícone de dicas para professores 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.

Ícone da caixa de ferramentas do professor 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.

Seleção de slot aberta com slot 1 destacado numa caixa vermelha junto à caixa de diálogo do nome do projeto na barra de ferramentas VEXcode V5. O nome do projeto é Claw Control.

  • 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.

Barra de ferramentas VEXcode V5 com uma caixa vermelha à volta do ícone verde do cérebro. O ícone do Cérebro está à direita do ícone do Controlador e à esquerda do ícone de Download.

  • 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.

Barra de ferramentas VEXcode V5 com uma caixa vermelha à volta do ícone de download. Os ícones são lidos da esquerda para a direita, Controlador, Cérebro, Download, Executar e Parar.

  • Clique no ícone Download junto ao ícone Informações do dispositivo para descarregar o projeto para o V5 Robot Brain.

Ecrã inicial do V5 Brain que mostra o projeto Claw Control no slot 1 no canto inferior esquerdo. A linha de ícones acima mostra Drive, Dispositivos, Definições e VEX.

  • Verifique se o projeto ClawControl foi descarregado para o cérebro no slot que escolheu.

Ícone da caixa de ferramentas do professor 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.

Imagem aproximada de cima para baixo do V5 Claw totalmente fechado.

Imagem aproximada do V5 Claw fechado 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.

Ícone da caixa de ferramentas do professor 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

Imagem de Close Up de cima para baixo de uma garra V5 aberta com setas a apontar para dentro e para fora indicando o movimento da garra.

Imagem da garra do V5 totalmente abertaNem 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.

Ícone da caixa de ferramentas do professor 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

Vista lateral aproximada do V5 Claw a segurar uma lata de refrigerante de alumínio.

Imagem do V5 Claw a segurar uma lata de alumínioO 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.

Ícone de dicas para professores 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.

Ícone da caixa de ferramentas do professor 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

     (Google Doc/.docx/.pdf)