Retrudio

EchoAlert

Free
Arduino UNO Easy cat_EchoAlert Author: adminrahmatulloh Published: 2026-10-10 Version: 1.0 License: CC0

Author confirmed hardware testing.

EchoAlert

Components

Warnings

Всегда ставьте резистор последовательно со светодиодом, иначе LED или пин платы могут выйти из строя.

Description

Описание проекта Этот проект представляет собой ультразвуковой индикатор расстояния на базе Arduino, который измеряет расстояние до объекта с помощью ультразвукового датчика HC-SR04 и обеспечивает визуальную индикацию с помощью трех светодиодов. Датчик HC-SR04 непрерывно измеряет расстояние, передавая ультразвуковые волны и вычисляя время, необходимое для возвращения эха. В зависимости от измеренного расстояния Arduino Uno активирует различные светодиоды, указывающие на то, находится ли объект близко, на среднем или дальнем расстоянии.

Assembly & checks

  1. Соберите цепь по таблице при отключённом USB.
  2. Подключите плату и загрузите скетч.
  3. Если LED не мигает — проверьте полярность светодиода (длинная ножка — анод).

Code

const int trigPin = 8;
const int echoPin = 9;
const int ledPin = 7;
const int ld=6;
const int ldp=5;

long duration;
float distance;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(ledPin, OUTPUT);
  pinMode(ld, OUTPUT);
  pinMode(ldp, OUTPUT);
  Serial.begin(9600);
}

void loop() {

  // Send ultrasonic pulse
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);

  // Measure echo time
  duration = pulseIn(echoPin, HIGH);

  // Calculate distance
  distance = duration * 0.0343 / 2;

  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  // Obstacle Detection
  if (distance > 0 && distance <= 200) {
    digitalWrite(ledPin, HIGH);
    Serial.println("Obstacle Detected!");
  } else {
    digitalWrite(ledPin, LOW);
    Serial.println("No Obstacle");
  }
  if (distance > 0 && distance <= 160) {
    digitalWrite(ld, HIGH);
    Serial.println("Obstacle Detected!");
  } else {
    digitalWrite(ld, LOW);
    Serial.println("No Obstacle");
  }
  if (distance > 0 && distance <= 100) {
    digitalWrite(ldp, HIGH);
    Serial.println("Obstacle Detected!");
  } else {
    digitalWrite(ldp, LOW);
    Serial.println("No Obstacle");
  }

  delay(200);
}

Comments & ratings

Log in to continue.

Similar projects