ARDUINO DOCUMENTATION

This Arduino code implements a distance measurement system using an ultrasonic sensor, an RGB LED, and a buzzer. The code measures the distance to an object using the ultrasonic sensor and displays the distance using different colors on the RGB LED. If the distance is less than 10 cm, the LED displays red color, and the buzzer beeps. If the distance is 10 cm or greater, the LED displays green color, and the buzzer remains silent.

This project can be used in various real-life applications such as:
- Parking assistance: The ultrasonic sensor can be mounted on a vehicle to measure the distance to obstacles while parking, and the RGB LED can indicate if the vehicle is too close to an object or not.
- Security system: The ultrasonic sensor can be used to detect the presence of an object near a restricted area, and the RGB LED and buzzer can provide a visual and audible alert to indicate a potential security breach.
- Proximity detection: The ultrasonic sensor can be used to measure the distance between a person and an object or surface, such as in a touchless hand sanitization system, where the RGB LED and buzzer ca​n provide feedback on the hand's proximity to the sanitizer dispenser.

coding

/*

  Ultrasonic Sensor with RGB LED and Buzzer

  This code uses an ultrasonic sensor to measure distance, and based on the distance,

  it controls an RGB LED to display red color if the distance is less than 10 cm, and

  green color if the distance is greater than or equal to 10 cm. Additionally, a buzzer

  beeps when the distance is less than 10 cm.

*/

// Pin Definitions

const int trigPin = 9;    // Trigger pin for the ultrasonic sensor

const int echoPin = 10;   // Echo pin for the ultrasonic sensor

const int redPin = 3;     // Red pin for the RGB LED

const int greenPin = 5;   // Green pin for the RGB LED

const int bluePin = 6;    // Blue pin for the RGB LED

const int buzzerPin = 7;  // Pin for the buzzer

// Variables

long duration, distance;  // Variables to store the duration and distance measured by the ultrasonic sensor

void setup() {

  // Pin Modes

  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

  pinMode(redPin, OUTPUT);

  pinMode(greenPin, OUTPUT);

  pinMode(bluePin, OUTPUT);

  pinMode(buzzerPin, OUTPUT);

  // Start Serial Communication

  Serial.begin(9600);}

void loop() {

  // Trigger the Ultrasonic Sensor

  digitalWrite(trigPin, LOW);

  delayMicroseconds(2);

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);

  // Measure the Duration and Distance

  duration = pulseIn(echoPin, HIGH);

  distance = duration * 0.034 / 2;

 // Display LED and Buzzer based on Distance

  if (distance < 10) {

    // Display Red LED

    digitalWrite(redPin, HIGH);

    digitalWrite(greenPin, LOW);

    digitalWrite(bluePin, LOW);

    // Turn On Buzzer

    digitalWrite(buzzerPin, HIGH);

    delay(500);  // Wait for 500 milliseconds

    digitalWrite(buzzerPin, LOW);  // Turn Off Buzzer

  } else {

    // Display Green LED

    digitalWrite(redPin, LOW);

    digitalWrite(greenPin, HIGH);

    digitalWrite(bluePin, LOW);

    // Turn Off Buzzer

    digitalWrite(buzzerPin, LOW);  } 

  // Print Distance to Serial Monitor

  Serial.print("Distance: ");

  Serial.print(distance);

  Serial.println(" cm");

  delay(500);  // Wait for 500 milliseconds before taking the next measurement}


 

learnings

Through this project, the user can learn:
- Interfacing an ultrasonic sensor with Arduino to measure distance.
- Controlling an RGB LED to display different colors based on the measured distance.
- Controlling a buzzer to provide audible feedback based on the measured distance.
- Understanding the concept of pulseIn() function for measuring pulse duration.
- Serial communication for monitoring and debugging.

difficulties

I encountered some difficulties while working on this project, such as:
- Sensor accuracy: Ultrasonic sensors may have variations in accuracy, and the measured distance may not always be precise, resulting in false readings.
- Environmental factors: Ultrasonic sensors can be affected by environmental factors such as temperature, humidity, and ambient noise, which may affect their performance and accuracy.
- Wiring and connections: Incorrect wiring or loose connections can result in incorrect sensor readings or malfunctioning of the RGB LED and buzzer.
- Code debugging: Troubleshooting and debugging the code may be required to identify and fix issues related to sensor readings, LED and buzzer control, and other functionalities.

VIDEO DOCUMENTATION

limitations

This project has some limitations, including:
- Limited range: Ultrasonic sensors typically have a limited range of detection, and the accuracy of distance measurements decreases beyond a certain range.
- Object detection: The accuracy of object detection may vary based on the size, shape, and material of the object, and may not work well for certain types of objects.
- Single direction detection: Ultrasonic sensors measure distance in a single direction, and objects that are not in the direct line of sight of the sensor may not be detected accurately.
- Ambient noise interference: Ultrasonic sensors emit and receive sound waves, and may be affected by ambient noise, which can impact their accuracy and reliability.