← Sair
Medindo Distância com Sensor Ultrassônico HC-SR04
RoboFeed · aula plugada

Medindo Distância com Sensor Ultrassônico HC-SR04

Sensores · Entrada de dados · Serial Monitor · Ondas sonoras

1h 30min 🎓 7º ano · 8º ano · 9º ano 🧭 EF67CO04🧭 EF67CO02🧭 EF89CO02
Capa da aula
🎯 Nossa missão hoje

O que vamos conseguir fazer

1

Compreender o princípio físico do sensor ultrassônico (eco de onda sonora).

2

Programar o Arduino para emitir e receber sinais usando os pinos TRIG e ECHO.

3

Calcular a distância a partir do tempo de retorno do som.

4

Usar o Serial Monitor pra visualizar dados em tempo real.

🧰 O que temos na bancada

Peças e materiais

Arduino Uno + cabo USB Arduino Uno + cabo USB
Sensor ultrassônico HC-SR04 Sensor ultrassônico HC-SR04
Protoboard Protoboard
Jumpers macho-fêmea (pra conectar sensor à protoboard) Jumpers macho-fêmea (pra conectar sensor à protoboard)
Régua de 30cm Régua de 30cm
Computador com Arduino IDE Computador com Arduino IDE
🔌 Como as peças se ligam

O mapa do nosso robô

⬇ baixar SVG
🔧 Montagem do robôPlaca: Arduino Uno · 1 componentes · 2 ligações detectadas do códigoLEGENDAAnalógico (leitura)PWM (velocidade)DigitalSaída de motor5VGND ON L TX RX   DIGITAL (PWM ~) AREF GND 13 12 ~11 ~10 ~9 8 7 ~6 ~5 4 ~3 2 TX→1 RX←0   POWER ANALOG IN IOREF RESET 3.3V 5V GND GND Vin A0 A1 A2 A3 A4 A5 ARDUINO UNO ++151015202530afbgchdiej HC-SR04 VCC TRIG ECHO GND Protoboard 400 pontosSensor Ultrassônico (HC-SR04)
🧰 Montagem do robôArduino Nanoplaca controladora HC-SR04 VCC TRIG ECHO GND Sensor Ultrassônico…D9 (TRIG)D10 (ECHO)

cada fio colorido é uma ligação de verdade — o diagrama completo está na página da aula

Momento 1 de 5

Introdução

Sensor Ultrassônico (HC-SR04)

Provoque com a pergunta do morcego. Bata palmas no fundo da sala e peça pros alunos escutarem o eco. Explique que o som viaja a 340 m/s no ar e que, sabendo o tempo de ida-e-volta, dá pra calcular a distância. Mostre fotos de aplicações: sensor de ré em carros, robôs aspiradores, carros autônomos.

Apresente o sensor HC-SR04: dois 'olhos' (TRIG emite, ECHO recebe). Mostre os 4 pinos: VCC (5V), GND, TRIG e ECHO. Explique a função pulseIn() — espera o pino ficar HIGH e mede quanto tempo demora. Faça a conta junto: 'Se demorou 1000µs ida-e-volta, quanto é a distância?' (≈ 17 cm).

Momento 2 de 5 · parte 1/2

Montagem / Hardware

1

Encaixe o sensor HC-SR04 na protoboard (4 pinos pra baixo).

Sensor Ultrassônico (HC-SR04)
2

VCC do sensor → 5V do Arduino (jumper).

Jumpers (M/M e M/F)
3

GND do sensor → GND do Arduino.

Placa Arduino (Uno / Nano / Mega)
4

TRIG do sensor → pino 9.

Momento 2 de 5 · parte 2/2

Montagem / Hardware

5

ECHO do sensor → pino 10.

6

Conecte Arduino ao computador.

Placa Arduino (Uno / Nano / Mega)
Momento 3 de 5

Programação

1

Copie o código do card 'Código da Aula'.

2

Envie pro Arduino.

Placa Arduino (Uno / Nano / Mega)
3

Abra Ferramentas → Monitor Serial (Ctrl+Shift+M). Configure baud rate em 9600.

4

Os números começam a aparecer — coloque a mão na frente do sensor pra ver mudar.

Momento 4 de 5 · parte 1/2

Teste e ajustes

1

Compare 5 medidas com a régua:

Régua / Esquadro
2

Aproxime objeto a 5 cm → veja no monitor.

3

Afaste pra 15 cm → confira.

4

Distância máxima esperada: ~400 cm (4 m).

Momento 4 de 5 · parte 2/2

Teste e ajustes

5

Erros: cabos errados (TRIG/ECHO trocados), VCC no GND.

Momento 5 de 5

Encerramento

Pergunta final pra debate: 'O que esse sensor PODE e o que NÃO PODE detectar?'. (Não detecta vidro fino, materiais que absorvem som como espuma). Anotem no caderno: sensor = entrada, atuador = saída, programa = mediação.

🔀 O plano do robô

Como ele decide o que fazer

flowchart TD A(["Início"]) --> B["Disparar pulso ultrassônico"] B --> C["Medir tempo de retorno do eco"] C --> D["Calcular distância em cm"] D --> E["Enviar dados para o Serial Monitor"] E --> F["Esperar 0,5 segundos"] F --> B
💻 O cérebro do robô

O código da aula

// Sensor ultrassônico HC-SR04 — medindo distância
// TRIG = pino 9 (saída — emite pulso)
// ECHO = pino 10 (entrada — recebe eco)

const int TRIG = 9;
const int ECHO = 10;

void setup() {
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
  Serial.begin(9600);  // Inicia comunicação serial
}

void loop() {
  // 1. Dispara pulso ultrassônico de 10 microssegundos
  digitalWrite(TRIG, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG, LOW);

  // 2. Mede tempo de retorno do eco
  long duracao = pulseIn(ECHO, HIGH);

  // 3. Calcula distância em cm
  // Som viaja 340 m/s = 0,034 cm/µs.
  // Tempo é ida + volta, então divide por 2.
  float distancia_cm = duracao * 0.034 / 2;

  Serial.print("Distancia: ");
  Serial.print(distancia_cm);
  Serial.println(" cm");

  delay(500);  // Mede a cada 0,5s
}

role dentro da caixa · o código completo está na página da aula

🚀 Mão na massa

Abram a ferramenta

professor: deixe este slide no telão enquanto a turma trabalha

🥊

Bora construir!

dúvidas? a página completa da aula tem tudo: montagem, código e materiais.