// 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);
}
}