Owl ring (Assistant for sight-impaired people)
Owl ring (Assistant for sight-impaired people)
Published 2019-09-02T21:05:11+00:00
"Owl Ring" is a very simple and inexpensive Design (less than 10 €). It allows the blind person to detect obstacles and to move with a tool more practical than a cane (at least complementary).
The ring gives information by vibration thanks to a ingenious system directly near the finger.
It offers two functions (adaptable thanks to the arduino code attached):
- Detector of distance (short click):
A long vibration per meter / A short vibration by 10cm (ex 2m30 (Bzzzzz Bzzzz Bz Bz Bz :) is not it?)
- Proximity detector
The vibrations accelerate as the obtacle approaches (like a car radar)
Why an owl?
What is more natural than the animal best able to move in the dark? moreover the design of the sensor lends itself particularly to this with its two big eyes.
Why a ring?
The technology is compact enough for that. In addition the design allows activation with the use of one hand.
For uses the ring can be used for handicap awareness games (blindfolded).
Hardware:
Arduino Nano
ultrasonic sensor hc-sr04
Vibrator
Push button 4 mm
Resistance 82 Ohm
Code attached in DL (and below):
int powerPin = 2;
int ledPin = 13;
int dataPin = A7;
int relayPin = 4;
int cycleNumber = 1;
int cycleOnTime = 1;
int cycleOffTime = 1;
int THRESHOLD = 430;
int waitTime = 1;
void blink(int i){
for (int i =0; i < 1; i++){
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
}
}
void waterPlants()
{
blink(3);
for (int i = 0; i < cycleNumber; i++)
{
digitalWrite(relayPin, HIGH);
delay(cycleOnTime * 1000);
digitalWrite(relayPin, LOW);
delay(cycleOffTime * 1000);
}
}
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
Serial.println("setup...");
blink(5);
pinMode(powerPin, OUTPUT);
pinMode(dataPin, INPUT);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
pinMode(relayPin, OUTPUT);
digitalWrite(powerPin, LOW);
digitalWrite(relayPin, LOW);
delay(2000);
digitalWrite(relayPin, LOW);
}
int measure (){
Serial.println("reading...");
digitalWrite(powerPin, HIGH);
long value = 0;
int cycles = 100;
for (int i=0; i THRESHOLD)
{
Serial.println("need water...");
blink(1);
waterPlants();
}
else
{
Serial.println("water OK!");
blink(2);
}
//digitalWrite(powerPin, LOW);
delay(500);
delay(waitTime * 1000);
}
Put the support in non visible part to have the best external aspect possible.
Date de publication | 02/09/2019 |