Smart Blind Stick System – Arduino Code

// Smart Blind Stick System – Arduino Code

// Define Pin Numbers based on circuit diagram
const int trigPin = 2;    // Ultrasonic Sensor Trig pin connected to D2
const int echoPin = 3;    // Ultrasonic Sensor Echo pin connected to D3
const int buzzerPin = 12; // Piezo Buzzer connected to D12

// Variables for distance calculation
long duration;
int distance;
const int safetyDistance = 30; // Threshold distance in centimeters to trigger alert

void setup() {
  // Initialize pin modes
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzerPin, OUTPUT);

  // Start Serial Communication for debugging
  Serial.begin(9600);
}

void loop() {
  // Clear the trigPin
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

  // Trigger the ultrasonic sensor by sending a 10us HIGH pulse
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Read the echoPin; pulseIn returns the sound wave travel time in microseconds
  duration = pulseIn(echoPin, HIGH);

  // Calculate distance in centimeters (Speed of sound = 0.034 cm/us)
  distance = duration * 0.034 / 2;

  // Print distance to Serial Monitor
  Serial.print(“Distance: “);
  Serial.print(distance);
  Serial.println(” cm”);

  // Check if obstacle is within safety threshold
  if (distance > 0 && distance <= safetyDistance) {
    // Variable beep frequency based on proximity: closer object = faster beep
    digitalWrite(buzzerPin, HIGH);
    delay(distance * 10);
    digitalWrite(buzzerPin, LOW);
    delay(distance * 10);
  } else {
    // Keep buzzer off if path is clear
    digitalWrite(buzzerPin, LOW);
    delay(100);
  }
}

Leave a Comment