Controladores e Loops
Nas competições, as equipes usam controladores para controlar seus robôs sem fio. O controlador está programado para atualizar o robô com base na entrada do usuário. Loops são usados no projeto para que o robô verifique repetidamente se há informações de entrada atualizadas. Os loops permitem que o projeto verifique rapidamente quais botões foram pressionados ou até que ponto os joysticks foram pressionados. Uma vez verificada, esta informação é rapidamente retransmitida ao robô para que ele responda rapidamente às instruções do controlador.
A imagem acima mostra o projeto de exemplo Clawbot Control do VEXcode IQ. O loop eterno neste projeto verifica as posições dos eixos A e D para sempre para definir a velocidade dos motores.
Os loops são importantes mesmo para programação autônoma sem controlador. Um loop ajuda a simplificar e organizar comandos repetidos dentro de um projeto.
Motive a discussão - Comportamentos de loop
Revise o jogo VEX IQ Competition deste ano com os alunos clicando em neste link. Ou faça a seguinte discussão baseada nos jogos dos anos anteriores.
P: Quais comportamentos provavelmente serão repetidos pelo robô durante uma competição?
A: Os alunos provavelmente responderão imediatamente com movimentos, mas é menos provável que o projeto use loops para movimentos do que loops para verificar sensores.
P: Como você transformaria esses comportamentos repetitivos em um loop?
A: Não importa o(s) comportamento(s) repetido(s), arrastar os blocos dentro de um loop é uma etapa obrigatória. Os alunos precisam se sentir confortáveis aninhando blocos dentro de blocos de loop.
Q: Pergunte aos alunos qual bloco no VEXcode IQ pode ajudá-los a programar seus robôs para se comportarem após um único botão do controlador ser pressionado. Além disso, pergunte de qual grupo de blocos ele faz parte.
A: Esse bloco é chamado de bloco do botão do controlador When e está localizado nos blocos de eventos no VEXcode IQ.
Amplie seu aprendizado a revisando exemplos de projetos
Para expandir esta atividade, peça aos seus alunos que explorem as diferenças entre o controle de arcade e o controle de tanque. Os alunos podem seguir os projetos de exemplo encontrados no VEXcode IQ. Existem quatro projetos de exemplo: Left Arcade, Right Arcade, Split Arcade e Tank Drive.
Discuta como funcionam os loops dos programas, bem como os prós e os contras de cada tipo de controle.
Para relacionar esta atividade com a matemática, use os projetos arcade esquerdo/direito (um joystick) e arcade/tanque dividido (ambos joysticks) acima para discutir as funções dos eixos X e Y dentro do projeto. As leituras da posição do eixo X capturam movimentos horizontais da esquerda para a direita do(s) joystick(s), enquanto as leituras da posição do eixo Y capturam movimentos verticais de cima para baixo do(s) joystick(s).