Cancela Automática com Servo Motor e Sensor
Atuadores + sensores · Lógica condicional · Automação real
🎯 Objetivos de aprendizagem
- Integrar entrada (sensor ultrassônico) e saída (servo motor) num mesmo sistema.
- Programar uma decisão condicional baseada em distância medida.
- Compreender o conceito de PWM (modulação por largura de pulso) usado pelo servo.
- Construir um protótipo funcional que simula uma situação real de automação.
📚 Objetos de conhecimento
Atuadores · Servo motor (ângulo 0–180°) · PWM · Sensor como entrada de decisão · Estrutura condicional if-else · Integração sensor-controlador-atuador (arquitetura SCA)
🧭 Habilidades BNCC Computação (6)
Habilidades dos anos selecionados (8º ano, 9º ano) — Resolução CNE/CP nº 1/2022. Em turmas de Ensino Médio, mapear para EM13CO.
🧰 Materiais e componentes
• 1× Arduino UNO R3 (com cabo USB) • 1× Protoboard 400 pontos • 1× Sensor ultrassônico HC-SR04 • 1× Servo motor SG90 • 1× Resistor 220Ω (1/4W) • 8× Jumpers macho-macho coloridos • 1× Computador com Arduino IDE instalado
💻 Softwares
🪜 Desenvolvimento da aula
Mostre vídeos curtos de cancelas reais em estacionamentos. Pergunte: 'Como ela sabe que o carro chegou?'. Apresente o servo motor pegando ele na mão — explique que ele gira até um ângulo específico (0° a 180°), diferente de um motor comum que só gira. Mostre a biblioteca Servo.h como atalho pra controlá-lo. Apresente o conceito de FUNÇÃO em programação — usando medirDistancia() como exemplo. Explique por que separar em função: deixa o loop limpo, evita repetição. Discuta o if-else: 'Se o objeto está perto, abre. Senão, fecha'. Mostre que isso é a estrutura básica de QUALQUER automação.
1. Sensor HC-SR04: VCC→5V, GND→GND, TRIG→9, ECHO→10 (igual aula anterior). 2. Servo SG90: fio vermelho→5V, marrom→GND, laranja→pino 6. 3. Cole o palito/canudo no eixo do servo — esse é a 'cancela'. 4. Apoie o sensor de modo que aponte na direção do carro vindo. 5. Posicione o servo perpendicular ao 'caminho do carro'. 6. Use fita adesiva pra fixar tudo na mesa.
1. Cole o código no Arduino IDE. 2. Compile (✓) — Arduino IDE precisa da biblioteca Servo (já vem instalada). 3. Envie pra placa. 4. Abra o Monitor Serial pra ver as distâncias. 5. Aproxime a mão (ou um livro) do sensor: a cancela DEVE subir.
1. Distância > 15 cm: cancela fechada (0°). 2. Aproxime até < 15 cm: cancela abre (90°). 3. Afaste: cancela fecha de novo. 4. Variação: troque DIST_LIMITE pra 30 cm e veja o comportamento. 5. Desafio: adicione um LED vermelho que acende quando fechada e verde quando aberta.
Cada trio apresenta seu protótipo simulando um carro chegando. Discussão final: 'Onde mais no seu dia-a-dia tem um sistema sensor → decisão → atuador?'. (Porta de shopping, sabonete líquido automático, descarga automática). Registrar a arquitetura SCA: Sensor → Controlador → Atuador.
🔌 Montagem do robô
Placa: Arduino Nano
🖥️ Monitor serial
📋 Tabela de ligações (fio a fio)
💻 Código
// Cancela automática — servo abre quando objeto chega perto
#include <Servo.h>
const int TRIG = 9;
const int ECHO = 10;
const int SERVO_PIN = 6;
const int DIST_LIMITE = 15; // cm — abre se objeto mais perto que isso
Servo cancela;
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
cancela.attach(SERVO_PIN);
cancela.write(0); // Começa fechada
Serial.begin(9600);
}
float medirDistancia() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
long duracao = pulseIn(ECHO, HIGH);
return duracao * 0.034 / 2;
}
void loop() {
float d = medirDistancia();
Serial.print("Dist: "); Serial.print(d); Serial.println(" cm");
if (d > 0 && d < DIST_LIMITE) {
cancela.write(90); // Abre (90 graus)
Serial.println("ABERTA");
} else {
cancela.write(0); // Fecha (0 grau)
Serial.println("fechada");
}
delay(200);
}
🔀 Fluxograma do algoritmo
🧱 Algoritmo em blocos
quando @greenFlag for clicado
sempre
medir distância
se <distância menor que 15 cm> então
abrir cancela
senão
fechar cancela
end
end🎥 Vídeo de demonstração
🔗 Abrir o vídeo em nova aba✅ Avaliação
Avalie principalmente a INTEGRAÇÃO — sensor sozinho e servo sozinho já foram dominados. O salto cognitivo é fazer eles conversarem via if-else. Observe quem consegue MUDAR o DIST_LIMITE com autonomia — sinal de que entendeu o código. A apresentação ao final é evidência de comunicação.
🤖 Quer essa aula do SEU jeito?
O Co-professor adapta esta aula pro seu ano e contexto — ou a estica numa sequência didática de 2 a 4 encontros — e gera um PDF pronto pra você. A estrutura da aula é preservada. Cadastre-se grátis pra usar.
✨ Adaptar e gerar PDF💬 Comentários
Entre na sua conta ou crie uma grátis pra comentar.
Seja o primeiro a comentar.
Gostou desta aula?
Monte aulas como esta em minutos, com ajuda da IA — e compartilhe com professores do Brasil todo. É grátis.
Criar minha conta grátis📲 Compartilhar no WhatsApp