🤖 RoboFeed
Explorar aulas Entrar Comece grátis
🤖 Robótica

Cancela Automática com Servo Motor e Sensor

Atuadores + sensores · Lógica condicional · Automação real

👤 Weslley Barros 🏫 Plataforma RoboFeed 8º ano9º ano 🕐 1h 50min ⚡ Plugada ❤️ 2
🔧 Modo Bancada · passo a passo, pro aluno no tablet

🎯 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)
🧠 Pensamento Computacional
EF89CO01 Desenvolver projetos computacionais que integrem decomposição, abstração, generalização e avaliação crítica da solução proposta.
EF89CO02 Implementar algoritmos com funções/sub-rotinas, listas/arrays e leitura de sensores, em linguagens de blocos ou textuais (C++, Python).
💻 Mundo Digital
EF89CO03 Projetar e construir sistemas integrados que combinem hardware (placa, sensores, atuadores) e software (algoritmo) para resolver problemas reais.
EF89CO04 Avaliar arquiteturas de hardware (processador, memória, periféricos) e modelos de comunicação (cliente-servidor, IoT) em soluções tecnológicas.
🌐 Cultura Digital
EF89CO05 Discutir aspectos éticos do uso de inteligência artificial (viés algorítmico, automação, direitos autorais, deepfakes) e propor princípios de uso responsável.
EF89CO06 Compreender legislações de proteção de dados (LGPD) e aplicar boas práticas de segurança digital, autoria e propriedade intelectual em produções escolares.

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

Placa Arduino (Uno / Nano / Mega)
Placa Arduino (Uno / Nano / Mega)
Protoboard
Protoboard
Jumpers (M/M e M/F)
Jumpers (M/M e M/F)
Sensor Ultrassônico (HC-SR04)
Sensor Ultrassônico (HC-SR04)
Servo Motor (SG90 / MG90S)
Servo Motor (SG90 / MG90S)
Computador / Laptop
Computador / Laptop

• 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

Arduino IDE
Arduino IDE
Scratch / mBlock
Scratch / mBlock
🪜 Desenvolvimento da aula
Introdução / Contextualização

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.

Montagem do Circuito / Hardware

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.

Programação / Codificação

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.

Teste, Depuração e Ajustes

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.

Encerramento / Socialização

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

⬇ baixar SVG
🧰 Montagem do robôPlaca: Arduino Nano · 2 componentes · 2 ligações detectadas do códigoNANO133V3AREFA0A1A2A3A4A5A6A75VRSTGNDVIN12111098765432GNDRST10Arduino NanoD9 (TRIG), D10 (ECHO) · medição de distân…Sensor Ultrassônico(HC-SR04)— cmD6 · abertura e fecham…Servo MotorservoLEGENDA DOS FIOSDigitalOutro / dados
🧰 Montagem do robôArduino Nanoplaca controladoraSensor Ultrassônico…D9 (TRIG), D10 (ECHO)Servo MotorD6
as peças reagem: LED acende, botão é clicável, serial abaixo
🖥️ Monitor serial

📋 Tabela de ligações (fio a fio)
Sensores
Sensor Ultrassônico (HC-SR04)
fio D9 (TRIG), D10 (ECHO) medição de distância
Sistema motor
Servo Motor
fio D6 abertura e fechamento da cancela

💻 Código

aula.ino
// 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

flowchart TD A(["Início"]) --> B["Medir distância com sensor"] B --> C{"Distância menor que limite?"} C -->|Sim| D["Abrir cancela"] C -->|Não| E["Fechar cancela"] D --> B E --> B

🧱 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

Explorar mais aulas · RoboFeed — robótica e computação na escola, alinhado à BNCC.