Retrudio

EchoAlert

Бесплатно
Arduino UNO Лёгкий cat_EchoAlert Автор: adminrahmatulloh Опубликовано: 2026-10-10 Версия: 1.0 Лицензия: CC0

Автор подтвердил проверку на оборудовании.

EchoAlert

Компоненты

Предупреждения

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

Описание

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

Сборка и проверка

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

Код

Скачать .ino
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);
}

Комментарии и оценки

Войдите, чтобы продолжить.

Похожие проекты