![](https://habrastorage.org/getpro/habr/upload_files/db8/764/9de/db87649de0b9e70ec507cc9abefd8739.jpg)
В этом посте мы расскажем про «Третий глаз» для незрячих – новшество, которое помогает незрячим людям ориентироваться со скоростью и уверенностью, находя близлежащие препятствия с помощью ультразвуковых волн и уведомляя их звуковым сигналом или вибрацией. Им нужно только носить это устройство как эластичную ленту. Под катом — разбираемся как это работает и может ли подарить людям без зрения надежду снова увидеть мир.
По данным ВОЗ, во всем мире незрячими считаются 39 миллионов человек. В повседневной жизни такие люди испытывают много трудностей. Пострадавшие уже много лет используют традиционную белую трость, которая, хотя и эффективна, всё же имеет много недостатков. Другой способ – собака-поводырь, но она дорого стоит. Поэтому цель проекта – разработка более эффективного устройства, которое поможет незрячим людям ориентироваться уверенно, комфортно и быстро. Посмотрим, что же за устройство перед вами?
Первая носимая электроника для незрячих.
Оно обнаруживает препятствия ультразвуком.
Уведомляет пользователя с помощью вибрации или зуммера.
Как это работает?
Что нового предлагает проект?
Этот проект – первая носимая технология для незрячих, решающая все проблемы существующих технологий. Сейчас есть много инструментов и смарт-устройств, облегчающих передвижение незрячих, но у большинства этих технологий есть определённые проблемы с переноской, а также основной недостаток: нужно много времени, чтобы научиться ими пользоваться.
Одна из главных особенностей нового устройства в том, что оно доступно каждому и стоит меньше 25 долларов (~1500 рупий). На рынке нет столь же простых и недорогих устройств, которые можно носить, как одежду. Если устройство улучшить и если оно будет использоваться массово, это принесёт обществу огромную пользу.
Шаг 1. Существующие системы
![](https://habrastorage.org/getpro/habr/upload_files/d5f/4bb/cf9/d5f4bbcf9571cdd55c4e86f29cc9ea95.jpeg)
Белая трость.
Собака-поводырь.
Смарт-устройства (например, Vision).
Проблемы существующих систем
Белая трость может легко треснуть или сломаться, палка может застрять в трещинах.
Собака-поводырь дорого стоит (42 000 долларов, или 280 000 индийских рупий).
Общие недостатки (включая смарт-устройства). Их непросто переносить, а чтобы научиться пользоваться, нужно много времени.
Особенности устройства для незрячих. С «Третьим глазом» можно отказаться от белой трости и других подобных устройств. Он поможет незрячим ориентироваться, но не держать в руках палку, которая немного раздражает их. Можно носить его как ленту, и он будет работать очень точно. «Третий глаз» не требует много времени на обучение.
Шаг 2. Полное описание проекта
![](https://habrastorage.org/getpro/habr/upload_files/256/ab6/cfc/256ab6cfce24b5f3e472a1c13b8db696.jpeg)
На основе платы Arduino я разработал специальное носимое устройство, которое незрячие смогут носить как одежду. Это устройство оснащено пятью ультразвуковыми датчиками, состоящими из пяти модулей, которые соединены с разными частями тела. Два датчика для плеч, ещё два для колен и один на руку. С помощью этих пяти датчиков незрячие смогут обнаружить объекты, представляя их положение с пяти точек зрения, и смогут легко перемещаться в любом месте. При обнаружении препятствия устройство уведомляет пользователя вибрацией и звуковыми сигналами. Интенсивность вибрации и частота звуковых сигналов увеличиваются с уменьшением расстояния, а устройство полностью автоматическое.
Проект может быть исполнен в виде жилета, так что устройство не нужно носить как отдельную вещь в руке. Специально разработанная плата вместо arduino, а также датчики высокого качества ускорят реакцию устройства на препятствия – так «Третий глаз» будет способен работать в многолюдном пространстве.
![В фильме "Бладшот" у незрячего персонажа была подобная система, сделанная в виде жилета, обеспечивающая ему зрение на 360 градусов В фильме "Бладшот" у незрячего персонажа была подобная система, сделанная в виде жилета, обеспечивающая ему зрение на 360 градусов](https://habrastorage.org/getpro/habr/upload_files/00b/db2/52f/00bdb252f87e1ef3dff5ebfe7d6f9acd.jpg)
![А вот так незрячий человек работает с «Третьим глазом» А вот так незрячий человек работает с «Третьим глазом»](https://habrastorage.org/getpro/habr/upload_files/43c/aea/346/43caea3460ca4b6fcf6e96163991b51f.jpeg)
Шаг 3. Компоненты прототипа
![](https://habrastorage.org/getpro/habr/upload_files/397/84e/a2f/39784ea2fd418536e029159b939bb813.jpeg)
![](https://habrastorage.org/getpro/habr/upload_files/5e6/7c7/970/5e67c79702319fed0480c4c8edc6fb1f.jpeg)
Компоненты и инструменты
Компоненты
Пять SparkFun Arduino Pro Mini 328 - 5V/16MHz
Пять ультразвуковых датчиков.
Пять перфорированных плат.
Пять вибрационных двигателей.
Пять зуммеров.
Пять красных светодиодов.
Пять переключателей с ползунком.
Коннектор на 40 штырьков и гнездовая колодка на 8 разъёмов 0,1".
Четыре подвесных провода.
Старая мобильная батарейка 3,3В.
Литий-полимерный аккумулятор 3.7В
Лента и наклейки, чтобы устройство можно было надеть.
Инструменты
Универсальный паяльник
Универсальный термоклеевой пистолет
Arduino IDE
![](https://habrastorage.org/getpro/habr/upload_files/45b/945/dc6/45b945dc616a62835d4f69b8c04e26e3.jpeg)
Инструкция сборки:
Заземлите светодиод, зуммер и вибрационный двигатель на цифровую землю Arduino.
Положительный полюс светодиода и средней ножки переключателя – к выводу Arduino pin-5.
Положительный полюс зуммера – к первой ножке переключателя.
Положительный полюс вибрационного двигателя – к третьей ножке переключателя.
Ультразвуковой датчик.
VCC ультразвукового датчика к VCC Arduino.
Заземлите ультразвуковой датчик н цифровое заземлению Arduino.
Ультразвуковой датчик Trig подключите к Arduino к разъёму pin-12.
Ультразвуковой датчик Echo подключите к Arduino pin-12.
Переключатель нужен для выбора режима: зуммер или вибрация.
Шаг 4. Сборка модулей
![Рис. 2 – Питание модулей. Подключите 4 штуки Arduino Pro Mini к разъёму USB и блоку питания. Для модуля в руке воспользуйтесь небольшой литиевой батареей. Рис. 2 – Питание модулей. Подключите 4 штуки Arduino Pro Mini к разъёму USB и блоку питания. Для модуля в руке воспользуйтесь небольшой литиевой батареей.](https://habrastorage.org/getpro/habr/upload_files/af7/e30/46c/af7e3046cdca7539ceb5cfd3e162687d.jpeg)
![](https://habrastorage.org/getpro/habr/upload_files/452/c4d/d83/452c4dd83e8613a46ced350302bf5dfa.jpeg)
Обрежьте перфорированную плату до размера 5 х 3 см и припаяйте к плате гнёзда Arduino.
Припаяйте зуммер.
С помощью клеевого пистолета подсоедините вибрационный двигатель и припаяйте к нему провода.
Присоедините LED.
Присоедините переключатели.
Затем подключите контакты ультразвуковых датчиков и входа батареи.
Выполните припой, как показано на принципиальной схеме платы.
Теперь подключите к плате Arduino и ультразвуковой датчик.
Соедините все модули эластичной лентой.
То же самое нужно сделать с ещё тремя модулями, но датчик в руке делается несколько иначе. Посмотрите следующий шаг перед тем, как начнёте его делать.
Шаг 5. Код и изготовление модуля для руки
![](https://habrastorage.org/getpro/habr/upload_files/f8d/714/dc9/f8d714dc9b8578e3d57b0846fda19523.jpeg)
Четырьмя соединительными кабелями подключите ультразвуковой датчик к плате.
Затем подключите к этому модулю мобильную батарею напряжением в 3,7 В.
Добавьте резинку, как показано на рисунке.
Наконец, загрузите код на каждую плату Arduino и включите 4 других модуля с помощью внешнего аккумулятора.
Код для Arduino
//VISIT : www.robotechmaker.com
const int pingTrigPin = 12; //Trigger connected to PIN 7
const int pingEchoPin = 10; //Echo connected yo PIN 8
int buz=5; //Buzzer to PIN 4
void setup() {
Serial.begin(9600);
pinMode(buz, OUTPUT);
}
void loop()
{
long duration, cm;
pinMode(pingTrigPin, OUTPUT);
digitalWrite(pingTrigPin, LOW);
delayMicroseconds(2);
digitalWrite(pingTrigPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingTrigPin, LOW);
pinMode(pingEchoPin, INPUT);
duration = pulseIn(pingEchoPin, HIGH);
cm = microsecondsToCentimeters(duration);
if(cm<=50 && cm>0)
{
int d= map(cm, 1, 100, 20, 2000);
digitalWrite(buz, HIGH);
delay(100);
digitalWrite(buz, LOW);
delay(d);
}
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
Схемы
Принципиальная схема 1
![](https://habrastorage.org/getpro/habr/upload_files/284/633/60e/28463360e01cb8d4fb81059548458bf0.jpeg)
Код для Arduino
//VISIT : www.robotechmaker.com
const int pingTrigPin = 12; //Trigger connected to PIN 7
const int pingEchoPin = 10; //Echo connected yo PIN 8
int buz=5; //Buzzer to PIN 4
void setup() {
Serial.begin(9600);
pinMode(buz, OUTPUT);
}
void loop()
{
long duration, cm;
pinMode(pingTrigPin, OUTPUT);
digitalWrite(pingTrigPin, LOW);
delayMicroseconds(2);
digitalWrite(pingTrigPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingTrigPin, LOW);
pinMode(pingEchoPin, INPUT);
duration = pulseIn(pingEchoPin, HIGH);
cm = microsecondsToCentimeters(duration);
if(cm<=50 && cm>0)
{
int d= map(cm, 1, 100, 20, 2000);
digitalWrite(buz, HIGH);
delay(100);
digitalWrite(buz, LOW);
delay(d);
}
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
Вот и все, надеюсь вам был интересен данный материал.
![](https://habrastorage.org/getpro/habr/upload_files/5dc/d67/e0b/5dcd67e0bd804aed5ea7f488a557f4aa.jpg)
Узнайте, как прокачаться в перспективных специальностях или освоить их с нуля:
Другие профессии и курсы
ПРОФЕССИИ
КУРСЫ