Alarme com Arduino e sensor ultrassônico: o projeto que prende a turma em 1 aula

Passo a passo completo para montar um alarme de aproximação com Arduino Uno e sensor HC-SR04 — com código comentado em português, lista de peças, plano de aula e amarração com a BNCC. Feito para professor que nunca programou.

Luis Filipe
Luis Filipe

25 de julho de 2026 · ⏱ 1 min · Iniciante

Tecnologia que vira experiência ✨

Você aproxima a mão. O aparelho apita devagar. Você chega mais perto — os bipes aceleram. Mais perto ainda e ele trava num som contínuo, como se dissesse "chega".

Essa é a cena que faz uma turma inteira parar de olhar o celular.

O melhor: são quatro peças, quinze minutos de montagem, zero solda e zero experiência prévia em programação. Eu montei este projeto pela primeira vez sem nunca ter ligado um Arduino na vida — e este artigo é exatamente o caminho que eu segui, incluindo os erros.

O que você vai construir

Um alarme de aproximação: um sensor mede a distância continuamente e dispara um alerta sonoro quando alguém se aproxima demais. A intensidade muda conforme a distância — igual ao sensor de ré do carro.

Serve como alarme de porta, "guardião" da mesa do professor, ou o sistema de segurança de uma maquete. E, por baixo da brincadeira, tem matemática e ciências acontecendo de verdade.

Por que este projeto e não o "acender um LED"

Quase todo material de Arduino para escola começa piscando um LED. O aluno vê, acha bonitinho, e esquece em dez minutos. Falta o que a gente chama de consequência: uma reação do mundo que não estava lá antes.

O alarme tem isso. Ele reage a você. E o sensor ultrassônico é uma peça que todo kit básico já traz — normalmente usada no tutorial mais chato possível, o "sensor de ré". Trocar o enquadramento muda tudo.

Arduino Uno usado no projeto, com os pinos digitais visíveis

As peças

Peça Para quê Preço aproximado
Arduino Uno (ou Nano) o cérebro R$ 40–70
Sensor ultrassônico HC-SR04 mede a distância R$ 10–20
Buzzer (passivo ou ativo) faz o barulho R$ 3–8
Jumpers macho-fêmea ligam as peças R$ 10 o pacote
Cabo USB programar e alimentar costuma vir junto

Os preços são estimativas e variam bastante por loja e época — confira antes de comprar. Se você já tem um kit iniciante de Arduino, provavelmente tem tudo isso na caixa.

Não precisa de protoboard: dá para ligar tudo direto na placa com jumpers.

A montagem: 6 fios

Faça sempre com o cabo USB desconectado. Conecte só no final.

Sensor HC-SR04

Sensor ultrassônico HC-SR04 com os pinos Vcc, Trig, Echo e Gnd identificados na plaquinha

Os nomes estão impressos na plaquinha, ao lado dos pinos:

No sensor No Arduino
Vcc 5V
Trig pino 9
Echo pino 10
Gnd GND

Buzzer

No buzzer No Arduino
um fio (o +, se houver marcação) pino 8
outro fio GND

Como o Arduino Uno tem três pinos GND, dá para usar um para cada peça sem aperto.

Jumpers ligados nos pinos do Arduino, montagem sem solda e sem protoboard

Repare que não há solda nem protoboard: os jumpers macho-fêmea entram direto no sensor de um lado e na placa do outro. É o que torna o projeto viável numa aula de 50 minutos com trinta alunos.

O código

Abra a Arduino IDE, cole o código abaixo, selecione Ferramentas → Placa → Arduino Uno e a porta COM que aparecer. Depois clique na seta de Carregar.

Não precisa instalar biblioteca nenhuma.

const int PINO_TRIG   = 9;
const int PINO_ECHO   = 10;
const int PINO_ALARME = 8;
const int PINO_LED    = 13;   // LED que já vem na placa

const int LIMITE_CM   = 60;   // a partir de quantos cm começa a avisar
const int MUITO_PERTO = 10;   // abaixo disso, som contínuo

const int FREQ_LONGE = 1800;  // Hz quando está no limite
const int FREQ_PERTO = 2800;  // Hz quando está bem perto

const int RITMO_LENTO  = 500; // ms entre bipes (longe)
const int RITMO_RAPIDO = 60;  // ms entre bipes (perto)

unsigned long marcaBipe = 0;
bool somLigado = false;

void setup() {
  pinMode(PINO_TRIG, OUTPUT);
  pinMode(PINO_ECHO, INPUT);
  pinMode(PINO_ALARME, OUTPUT);
  pinMode(PINO_LED, OUTPUT);
  Serial.begin(9600);
}

long medirDistancia() {
  digitalWrite(PINO_TRIG, LOW);
  delayMicroseconds(2);
  digitalWrite(PINO_TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(PINO_TRIG, LOW);
  unsigned long duracao = pulseIn(PINO_ECHO, HIGH, 30000UL);
  if (duracao == 0) return 999;      // nada por perto
  return (long)(duracao / 58);       // converte para centímetros
}

void loop() {
  long distancia = medirDistancia();

  if (distancia >= LIMITE_CM) {            // longe: silêncio
    noTone(PINO_ALARME);
    digitalWrite(PINO_LED, LOW);
    delay(60);
    return;
  }

  int freq  = constrain(map(distancia, MUITO_PERTO, LIMITE_CM, FREQ_PERTO, FREQ_LONGE),
                        FREQ_LONGE, FREQ_PERTO);
  int ritmo = constrain(map(distancia, MUITO_PERTO, LIMITE_CM, RITMO_RAPIDO, RITMO_LENTO),
                        RITMO_RAPIDO, RITMO_LENTO);

  Serial.print("distancia = ");
  Serial.print(distancia);
  Serial.println(" cm");

  if (distancia <= MUITO_PERTO) {          // muito perto: som contínuo
    tone(PINO_ALARME, FREQ_PERTO);
    digitalWrite(PINO_LED, HIGH);
    delay(60);
    return;
  }

  if (millis() - marcaBipe >= (unsigned long)ritmo) {   // bipes no ritmo
    marcaBipe = millis();
    somLigado = !somLigado;
    if (somLigado) { tone(PINO_ALARME, freq); digitalWrite(PINO_LED, HIGH); }
    else           { noTone(PINO_ALARME);     digitalWrite(PINO_LED, LOW);  }
  }
  delay(30);
}

Prefere baixar pronto? Os arquivos .ino (o projeto completo + um teste de diagnóstico que confere peça por peça) estão no projeto, junto com o plano de aula — é só criar sua conta gratuita:

🎁 Baixe grátis na Sala dos Professores →

Como o sensor mede distância

O HC-SR04 tem dois cilindros: um é alto-falante, o outro é microfone. O Trig manda um estalo de som agudo demais para o ouvido humano (ultrassom). Esse som viaja, bate no obstáculo e volta. O Echo avisa quanto tempo a viagem levou.

Como o som anda a cerca de 343 metros por segundo, sabendo o tempo dá para calcular a distância. E como o som foi e voltou, divide-se por dois. É de onde sai aquele / 58 do código — a conversão de microssegundos para centímetros.

É exatamente o que morcegos e golfinhos fazem. Isso não é analogia bonitinha: é o mesmo princípio físico, e vale dizer isso para a turma.

O erro que quase todo mundo comete

Quando montei pela primeira vez, não funcionou. O culpado foi um fio de sinal ligado nos pinos 0 ou 1 do Arduino.

Pinos digitais do Arduino Uno numerados, mostrando os pinos 0 e 1 no canto

Nunca use os pinos 0 e 1 para sensores. Eles são reservados para a comunicação USB. Se você usar, o sensor não lê e o Monitor Serial vira uma sopa de símbolos. Use do pino 2 em diante.

Guarde essa: é o erro mais comum de quem está começando, e o mais difícil de descobrir sozinho.

Outros tropeços frequentes

Sintoma Causa provável Solução
Não sobe o código placa ou porta erradas Ferramentas → Placa e Porta
Porta COM cinza falta driver ou cabo é só de carga instalar driver CH340; testar outro cabo
Símbolos estranhos no Monitor Serial velocidade errada escolher 9600
Distância sempre 999 Trig e Echo trocados Trig no 9, Echo no 10
Alarme fraquinho frequência longe da ressonância testar entre 2000 e 3000 Hz

Como deixar o alarme mais alto

O Arduino não consegue controlar volume — o comando tone() sempre manda na potência máxima. Mas o volume percebido depende muito da frequência: todo buzzer tem uma faixa em que ele praticamente grita, quase sempre entre 2000 e 3000 Hz.

Foi por isso que o código usa essa faixa em vez de tons graves. Se quiser achar o ponto exato do seu buzzer, faça ele tocar de 500 em 500 Hz e ouça qual fica mais alto — essa é, inclusive, uma ótima atividade de Ciências sobre ressonância.

Precisa de mais volume ainda? Aí é hardware: um transistor comum (como o BC337) permite entregar bem mais corrente ao buzzer.

Plano de aula: 50 minutos

1. O gancho (5 min). Deixe montado antes da aula. Ligue sem explicar nada e aproxime a mão. Pergunte: "o que está acontecendo aqui?". Deixe as hipóteses aparecerem antes de qualquer explicação.

2. Investigação (10 min). Cada aluno testa. A pergunta que guia: o que exatamente faz o som mudar? Eles vão descobrir sozinhos que é a distância — e não a velocidade da mão, o tamanho dela ou a sombra.

3. Como funciona (10 min). Ultrassom, eco, tempo de viagem. Conexão com morcegos, golfinhos, sonar de navio e ultrassom da medicina.

4. A matemática (15 min). Abra o Monitor Serial e peça para anotarem cinco pares (distância, ritmo do bipe). Perguntas para conduzir:

  • Quando a distância diminui, o que acontece com o intervalo entre os bipes?
  • Isso é uma relação direta ou inversa?
  • Dá para prever o comportamento antes de mover a mão?
  • Se o limite fosse 100 cm em vez de 60, o que mudaria no gráfico?

5. Fechamento (10 min). Cada grupo decide onde instalaria o alarme na escola e por quê — e ajusta o LIMITE_CM para esse uso. Um alarme de porta e um alarme de gaveta pedem números bem diferentes.

Para o Fundamental I

Tire a parte numérica. Foque em perto e longe, e no vocabulário: sensor, ultrassom, distância. A brincadeira "estátua" funciona muito bem — a turma tenta chegar ao sensor sem disparar o alarme contínuo.

Amarração com a BNCC

Competências Gerais

  • CG2 — Pensamento científico, crítico e criativo: os alunos levantam hipóteses sobre o que controla o alarme e testam cada uma.
  • CG5 — Cultura digital: compreender e usar tecnologia de forma crítica e criativa, não apenas consumir.
  • CG4 — Comunicação: interpretar dados e explicar o funcionamento para os colegas.

Componentes e unidades temáticas

  • MatemáticaGrandezas e medidas e Álgebra: relação entre grandezas, proporcionalidade inversa, leitura de dados e construção de tabelas.
  • CiênciasMatéria e energia: som, propagação, frequência, ultrassom e ecolocalização.
  • Computação (Normativa BNCC Computação) — pensamento algorítmico: condições, repetição e variáveis num programa que resolve um problema real.

Os códigos de habilidade específicos variam conforme o ano de aplicação.

Variações para não morrer na primeira aula

  • Contador de visitas: em vez de alarme, conte quantas pessoas passaram e mostre o total.
  • Alarme silencioso: troque o som por LED — útil para turmas agitadas ou salas vizinhas sensíveis.
  • Vaga de estacionamento: verde, amarelo e vermelho conforme a aproximação.
  • Instrumento musical: a distância vira nota, e a turma toca com a mão no ar. É o mesmo sensor com outro código.
  • Régua digital: mede objetos e compara com a régua de verdade — ótimo para discutir erro de medição.

Vale a pena?

O que faz esse projeto funcionar em sala não é a tecnologia. É que ele produz uma reação imediata e física a algo que o aluno faz com o próprio corpo. Antes de qualquer explicação, ele já quer entender.

E aí a matemática entra como resposta a uma pergunta que a turma já fez — que é o oposto de como ela costuma entrar.


Quer o projeto completo? Eu preparo cada projeto com código-base comentado em português, vídeo-aula passo a passo, plano de aula pronto e os materiais para imprimir. Dá uma olhada em todos os projetos ou entre na Sala dos Professores, onde eles ficam todos disponíveis.

Se você está começando agora com IA e tecnologia na sala, veja também a curadoria de ferramentas de IA para professores — é gratuita.

Luis Filipe

Luis Filipe

Professor por vocação · Microsoft Elevate Educator Expert. Transformo tecnologia em experiência pra quem ensina.

Conheça o autor →

quer levar tecnologia de verdade pra sua sala? 👇

Projetos prontos — código-base, vídeo-aula e materiais

Posts recomendados