Medidor de Distância com Barra de LEDs e Sensor Ultrassônico
Hoje vamos criar um indicador visual de distância com o sensor HC-SR04 e vários LEDs. Cada LED representa uma faixa de distância, acendendo conforme o objeto se aproxima. Esse tipo de projeto é comum em sensores de ré, robôs ou alarmes visuais.
📦 Materiais necessários:
- 1 Sensor ultrassônico HC-SR04
- 5 LEDs
- 5 resistores de 220 Ohm
- Protoboard
- Cabos jumper
- Arduino Uno
📷 Esquema de ligação
- HC-SR04: TRIG → pino 8, ECHO → pino 7
- LEDs nos pinos 2, 3, 4, 5 e 6 com resistores
💻 Código para barra de LEDs
#define TRIG 8
#define ECHO 7
int leds[] = {2, 3, 4, 5, 6};
void setup() {
Serial.begin(9600);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
for (int i = 0; i < 5; i++) {
pinMode(leds[i], OUTPUT);
}
}
void loop() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
long duracao = pulseIn(ECHO, HIGH);
int distancia = duracao * 0.034 / 2;
Serial.print("Distância: ");
Serial.print(distancia);
Serial.println(" cm");
int numLEDs = 0;
if (distancia < 10) numLEDs = 5;
else if (distancia < 20) numLEDs = 4;
else if (distancia < 30) numLEDs = 3;
else if (distancia < 40) numLEDs = 2;
else if (distancia < 50) numLEDs = 1;
for (int i = 0; i < 5; i++) {
digitalWrite(leds[i], i < numLEDs ? HIGH : LOW);
}
delay(300);
}
🧠 Explicação:
O código calcula a distância com o HC-SR04 e usa condições para decidir quantos LEDs devem acender. É uma forma intuitiva de representar a proximidade visualmente.
💡 Dica:
Você pode usar mais LEDs, um display LCD ou até criar uma animação de barra crescente com analogWrite() para mais suavidade.
🚀 No próximo conteúdo
Vamos usar um display LCD 16x2 para mostrar a distância em centímetros com precisão!
📏 Continue com o Eletrocondutor para evoluir seus projetos com Arduino de forma visual e funcional!
Comentários
Postar um comentário
Faça seu comentário referente a este assunto