Esse é um projeto simples que simula um semáforo de distância usando Arduino Uno, Sensor ultrassônico HC-SR04 e leds coloridos. O objetivo é mostrar como microconstroladores podem ler sensores em tempo real e controlar atuadores de forma condicional.
O semáforo tem 3 cores e cada distância detectada define qual cor específica deve ser acesa.
- 🟢 Verde para distância maior ou igual a 25 cm
- 🔵 Azul para distância de 24 cm a 10 cm
- 🔴 Vermelho para distância menor que 10 cm
Pinos usados:
- D13: Led vermelho
- D12: Led azul
- D11: Led verde
- D3: TRIG (Sensor)
- D2: ECHO (Sensor)
O trecho do código responsável por acionar o sensor é:
// manda pulso
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);As linhas digitalWrite(TRIG, LOW);e delayMicroseconds(2);são como um "reset" do sensor pra garantir que ele vai detectar o próximo pulso corretamente. Em seguida usamos as linhas digitalWrite(TRIG, HIGH); e digitalWrite(TRIG, LOW); para mandar um pulso de 10 µs (10 microssegundos), necessário para disparar a emissão do ultrassom.
Para obter a distância em centímetros usamos o código:
// mede tempo do eco
long duracao = pulseIn(ECHO, HIGH);
long distancia = duracao * 0.034 / 2; // converte em cmComo foi dito anteriormente, o TRIG recebe um pulso elétrico de 10 µs e aciona o sensor, fazendo-o emitir ondas sonoras ultrassônicas. O ECHO é como um ”ouvinte” que retorna um pulso elétrico com duração correspondente ao tempo que o som levou para ir até o objeto e voltar. A fórmula que usamos para obter a distância em cm é:
velocidade do som (≈ 0,034 cm/µs)
- Arduino Uno
- C++
- Sensor ultrassônico HC-SR04
- Protoboard
- Leds coloridos
- Resistores