Controlando o movimento com precisão.
Nesta atividade, vamos construir um sistema de controle direto, onde o giro de um simples botão (o potenciômetro) será traduzido em um movimento preciso de um motor (o servomotor). É a base para a criação de braços robóticos, sistemas de direção e qualquer projeto que exija controle de posição.
Este projeto é uma introdução essencial à leitura de sensores analógicos e ao controle de atuadores, mostrando de forma imediata e tangível como podemos criar uma interface de controle para nossos robôs.
Roteiro para Educadores (Foco na Prática Pedagógica)
- Objetivo da Atividade: Construir um dispositivo que controle o movimento de um servomotor através do giro de um potenciômetro, aprofundando a compreensão sobre a relação entre um controle manual e uma resposta programada.
- Habilidades e Competências da BNCC:
- Pensamento Científico, Crítico e Criativo: Entender a relação de causa e efeito em um sistema eletrônico e a lógica de proporcionalidade.
- Cultura Digital: Aplicar a programação para traduzir uma ação humana contínua (girar um botão) em uma resposta digital controlada.
- Matemática: Explorar na prática o conceito de mapeamento de escalas e proporcionalidade (a escala do potenciômetro é mapeada para a escala de ângulos do motor).
- Desenvolvimento Sugerido:
- Aquecimento (Onde Usamos Controles?): Inicie uma discussão com os grupos sobre onde encontramos “botões de girar” no dia a dia. Exemplos como o controle de volume em um rádio, o dimmer de uma lâmpada ou um joystick são ótimos para introduzir o conceito de controle analógico.
- O Desafio de Controle: A missão é simples e direta: fazer o servomotor imitar o movimento do potenciômetro. Se o potenciômetro está no meio, o motor fica no meio. Se giramos o botão todo para a direita, o motor vira todo para a direita.
- Montagem e Experimentação: Os estudantes montam o circuito, que é relativamente simples. O momento “mágico” acontece quando eles carregam o código e percebem o controle direto e imediato que têm sobre o motor. Incentive-os a testar os limites do movimento.
- Dicas Pedagógicas para Engajar a Turma:
- Foco na Compreensão: Como esta é uma atividade introdutória, o objetivo principal é que os alunos entendam a conexão direta entre o potenciômetro e o servo. Gaste tempo explorando o controle e fazendo perguntas como: “O que acontece se girarmos o botão bem devagar?”.
- Construção de Conhecimento: Este projeto é a base para muitos outros. Reforce que, ao dominar este controle, eles agora podem criar braços robóticos, catapultas com mira, sistemas de direção para carros e muito mais.
- Como Avaliar a Aprendizagem:
- Demonstração Funcional: Peça que os alunos demonstrem o controle, movendo o servo para posições específicas (esquerda, centro, direita) usando apenas o potenciômetro.
- Explicação da Lógica: Pergunte aos grupos: “Como o Arduino sabe para onde mover o motor? O que o potenciômetro está ‘dizendo’ para o programa?”.
- Desafio Extra (Para os mais avançados):
- Adicionar um feedback visual. Conecte um LED ao circuito e programe-o para que seu brilho aumente conforme o servo se move do ângulo 0 para o 180. Isso reforça a ideia de que um único controle pode comandar múltiplas saídas.
- Materiais Necessários:
- Para Construção: SmartMotor com Servo Motor (Placa B) OU (Kit Arduino, Protoboard, Servo Motor, Potenciômetro).
- Para Simulação: Computadores com acesso à internet e conta na plataforma TinkerCAD.
- Guia Rápido de Lógica:
- Princípio Lógico: O programa funciona em um ciclo contínuo: ele “lê” a posição do potenciômetro e “traduz” essa posição em um ângulo para o servo motor. É como se o motor estivesse espelhando o movimento do botão em tempo real.
- Possibilidades de Projetos Interdisciplinares:
- Braço Robótico: Este é o controle para uma das juntas de um braço.
- Catapulta com Mira: Usar o sistema para ajustar o ângulo de lançamento.
- Animatrônicos: Controlar o movimento da cabeça ou dos braços de um boneco.
- Sistema de Direção: Controlar as rodas de um carrinho robô.
Programação Sugerida
// Inclui a biblioteca para controle de servomotores.
include
// Cria um objeto ‘meuServo’ para representar nosso motor.
Servo meuServo;
// Define o pino analógico onde o potenciômetro está conectado.
const int pinoPot = A0;
void setup() {
// Anexa o objeto servo ao pino digital 9 (que suporta PWM).
meuServo.attach(9);
}
void loop() {
// 1. Lê o valor do potenciômetro (um número de 0 a 1023).
int valorPot = analogRead(pinoPot);
// 2. Mapeia/converte o valor lido (0-1023) para a escala de ângulos do servo (0-180).
int angulo = map(valorPot, 0, 1023, 0, 180);
// 3. Comanda o servo para se mover para o ângulo calculado.
meuServo.write(angulo);
// Um pequeno delay para estabilizar a leitura e o movimento.
delay(15);
}
Esquemático Eletrônico

SmartMotors

