Smart Cane For The Blind

Ning Xu
4 min readNov 13, 2016

--

Project Detail

Smart cane designed for blind people’s safety in their walking environment.

Our aim was to make a smart and friendly white cane for blind people to help them to communicate better with pedestrians and avoid hazard like puddles in a street.

Design Process

Problem statement: The most concern of the blind is being pumped by pedestrians on the street or on their canes.

“People with a smartphone often walk towards me because they are busy looking at their smartphone in the street” -Liz

“I want to know everything happening around me..” -Sharon

Research & Analysis: We conducted 4 user interviews to learn how the blind use white cane. The main issue came from the research is the blind or their canes are often pumped by people who have not seen them.

Technical summary

Smart Cane detects water through the cane’s tip and alert users to aware puddles and LED lights to give attention for smartphones’ users in the street to avoid bumping into the cane or visually impairment. Smart Cane will be assisted the blind to live more independently with a pleasant experience.

1.Smart Cane Design Process

2. Features:

To blink LED lights

a. Knock sensor & LED Lights

Tapping the ground with the tip of the cane will result in the brightening of the cane’s LED light.

To test water sensor

__________________________

b. Water Sensor & Vibe motor & Sound

The water sensor is capable of detecting shallow puddles and will alert users with vibration and sound.

3. Schematic diagram:

Circuit board schematic

const int pwmPin = 10 ;
const int pwmPin2 = 9;
const int knockSensor = A3; // the piezo is connected to analog pin 0
const int threshold = 18; // threshold value to decide when the detected sound is a knock or not
const int threshold1 = 950; // threshold value for water
const int buzzer = A2;
const int motor = 3;
const int waterSensor = A0;
// these variables will change:
int sensorReading = 10; // variable to store the value read from the sensor pin(knock)
int sensorReading1 = 0; // variable to store the value read from the sensor pin(water)
//int ledState = LOW; // variable used to store the last LED status, to toggle the light
#include “pitches.h”
int melody[] = {
NOTE_A6, NOTE_A7, NOTE_A7
};
int noteDurations[] = {
10, 20, 20
};
void setup() {
pinMode(pwmPin, OUTPUT); // declare the ledPin as as OUTPUT
pinMode(pwmPin2, OUTPUT); // declare the ledPin as as OUTPUT
pinMode(motor, OUTPUT); // declare the ledPin as as OUTPUT
pinMode(knockSensor, INPUT);
pinMode(waterSensor, INPUT);
Serial.begin(9600); // use the serial port
}
void loop() {
// read the sensor and store it in the variable sensorReading:
sensorReading = analogRead(knockSensor);
sensorReading1 = analogRead(waterSensor);


// Serial.println(sensorReading);
// Serial.print(“knock”);
Serial.println(sensorReading1);
Serial.print(“water”);

if (sensorReading1 <= threshold1) {
// iterate over the notes of the melody:
for (int thisNote = 0; thisNote < 3; thisNote++) {
// to calculate the note duration, take one second
// divided by the note type.
//e.g. quarter note = 500 / 4, eighth note = 1000/8, etc.
int noteDuration = 500 / noteDurations[thisNote];
tone(buzzer, melody[thisNote], noteDuration);
// to distinguish the notes, set a minimum time between them.
// the note’s duration + 30% seems to work well:
int pauseBetweenNotes = noteDuration * 5.30;
delay(pauseBetweenNotes);
// stop the tone playing:
noTone(buzzer);
// digitalWrite(ledPin, HIGH);
//Serial.println(sensorReading1);
//Serial.print(“water”);
//tone(buzzer, 1175);
digitalWrite(motor, HIGH);
//delay(1000);
}
}
else {
digitalWrite(motor, LOW);
noTone(buzzer);
}
if (sensorReading >= threshold) {analogWrite(pwmPin, 255); // HIGH
analogWrite(pwmPin2, 255); // HIGH
delay(90);
}
else {
// digitalWrite(ledPin, LOW);
analogWrite(pwmPin, 15);// dim
analogWrite(pwmPin2, 15);// dim
}
}

Demo Day

User Testing Feedback

We received positive feedbacks from the user testing that visual impairment were excited for the smart cane. By using the smart cane, they aware that the pedestrians will be able to avoid to pumping into them with their canes. They appreciate puddles detection, and they would like to detect deep puddles on the street.

Smart Cane was displayed at SVA IXD Open House 2016

Next Step:

We’d like to conduct more research to identify more problems the blind facing. We are also looking for opportunities to work with organizations to design for the blind.

--

--