Medindo Distância com Sensor Ultrassônico HC-SR04
Sensores · Entrada de dados · Serial Monitor · Ondas sonoras
- • Compreender o princípio físico do sensor ultrassônico (eco de onda sonora).
- • Programar o Arduino para emitir e receber sinais usando os pinos TRIG e ECHO.
- • Calcular a distância a partir do tempo de retorno do som.
- • Usar o Serial Monitor pra visualizar dados em tempo real.
• 1× Arduino Uno + cabo USB • 1× Sensor ultrassônico HC-SR04 • 1× Protoboard • 4× Jumpers macho-fêmea (pra conectar sensor à protoboard) • 1× Régua de 30cm • Computador com Arduino IDE
Introdução / Contextualização
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).
Montagem do Circuito / Hardware
1. Encaixe o sensor HC-SR04 na protoboard (4 pinos pra baixo). 2. VCC do sensor → 5V do Arduino (jumper). 3. GND do sensor → GND do Arduino. 4. TRIG do sensor → pino 9. 5. ECHO do sensor → pino 10. 6. Conecte Arduino ao computador.
Programação / Codificação
1. Copie o código do card 'Código da Aula'. 2. Envie pro Arduino. 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.
Teste, Depuração e Ajustes
Compare 5 medidas com a régua: 1. Aproxime objeto a 5 cm → veja no monitor. 2. Afaste pra 15 cm → confira. 3. Distância máxima esperada: ~400 cm (4 m). 4. Erros: cabos errados (TRIG/ECHO trocados), VCC no GND.
Encerramento / Socialização
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.
// 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
}
quando @greenFlag for clicado sempre disparar pulso ultrassônico medir tempo de retorno do eco calcular distância em centímetros mostrar distância no monitor serial esperar 0,5 segundos end
Você chegou ao fim! 🎉
O que foi mais difícil? O que você faria diferente? Conte pra turma!