Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino UNO Ultrasonic Distance Meter with LED Indicators and Buzzers

View and Edit Project In Cirkit DesignerImage of Arduino UNO Ultrasonic Distance Meter with LED Indicators and Buzzers

Circuit Documentation

Summary

This circuit utilizes an Arduino UNO microcontroller to control an HC-SR04 Ultrasonic Sensor, multiple red LEDs, and several buzzers. The ultrasonic sensor measures distance, and based on the distance, different LEDs are lit up. The buzzers are also connected to the circuit but are not directly controlled by the provided code.

Component List

  1. Arduino UNO

    • Description: A microcontroller board based on the ATmega328P.
    • Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0
  2. HC-SR04 Ultrasonic Sensor

    • Description: An ultrasonic distance sensor.
    • Pins: VCC, TRIG, ECHO, GND
  3. LED: Two Pin (red)

    • Description: A standard red LED.
    • Pins: cathode, anode
  4. Buzzer

    • Description: A simple piezoelectric buzzer.
    • Pins: PIN, GND

Wiring Details

Arduino UNO

HC-SR04 Ultrasonic Sensor

LED 1

LED 2

LED 3

LED 4

LED 5

LED 6

LED 7

Buzzer 1

Buzzer 2

Buzzer 3

Buzzer 4

Documented Code

// Arduino Code

const int trigPin = 12;
const int echoPin = 13;

const int LED1 = A0;
const int LED2 = A1;
const int LED3 = A2;
const int LED4 = A3;
const int LED5 = A4;
const int LED6 = A5;
const int LED7 = 2;

int duration = 0;
int distance = 0;

void setup() 
{
  pinMode(trigPin , OUTPUT);
  pinMode(echoPin , INPUT);
  
  pinMode(LED1 , OUTPUT);
  pinMode(LED2 , OUTPUT);
  pinMode(LED3 , OUTPUT);
  pinMode(LED4 , OUTPUT);
  pinMode(LED5 , OUTPUT);
  pinMode(LED6 , OUTPUT);
  pinMode(LED7 , OUTPUT);
  
  Serial.begin(9600);
}

void loop()
{
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);  
  duration = pulseIn(echoPin, HIGH);
  distance = duration / 58.2;

  if (distance <= 7)
  {
    digitalWrite(LED1, HIGH);
  }
  else
  {
    digitalWrite(LED1, LOW);
  }
  if (distance <= 14)
  {
    digitalWrite(LED2, HIGH);
  }
  else
  {
    digitalWrite(LED2, LOW);
  }
  if (distance <= 21)
  {
    digitalWrite(LED3, HIGH);
  }
  else
  {
    digitalWrite(LED3, LOW);
  }
  if (distance <= 28)
  {
    digitalWrite(LED4, HIGH);
  }
  else
  {
    digitalWrite(LED4, LOW);
  }
  if (distance <= 35)
  {
    digitalWrite(LED5, HIGH);
  }
  else
  {
    digitalWrite(LED5, LOW);
  }
  if (distance <= 42)
  {
    digitalWrite(LED6, HIGH);
  }
  else
  {
    digitalWrite(LED6, LOW);
  }
  if (distance <= 49)
  {
    digitalWrite(LED7, HIGH);
  }
  else
  {
    digitalWrite(LED7, LOW);
  }
  delay(100);
}

This code initializes the pins for the ultrasonic sensor and LEDs, measures the distance using the ultrasonic sensor, and lights up the LEDs based on the measured distance.