В этом посте мы расскажем про «Третий глаз» для незрячих – новшество, которое помогает незрячим людям ориентироваться со скоростью и уверенностью, находя близлежащие препятствия с помощью ультразвуковых волн и уведомляя их звуковым сигналом или вибрацией. Им нужно только носить это устройство как эластичную ленту. Под катом — разбираемся как это работает и может ли подарить людям без зрения надежду снова увидеть мир.
По данным ВОЗ, во всем мире незрячими считаются 39 миллионов человек. В повседневной жизни такие люди испытывают много трудностей. Пострадавшие уже много лет используют традиционную белую трость, которая, хотя и эффективна, всё же имеет много недостатков. Другой способ – собака-поводырь, но она дорого стоит. Поэтому цель проекта – разработка более эффективного устройства, которое поможет незрячим людям ориентироваться уверенно, комфортно и быстро. Посмотрим, что же за устройство перед вами?
Первая носимая электроника для незрячих.
Оно обнаруживает препятствия ультразвуком.
Уведомляет пользователя с помощью вибрации или зуммера.
Как это работает?
Что нового предлагает проект?
Этот проект – первая носимая технология для незрячих, решающая все проблемы существующих технологий. Сейчас есть много инструментов и смарт-устройств, облегчающих передвижение незрячих, но у большинства этих технологий есть определённые проблемы с переноской, а также основной недостаток: нужно много времени, чтобы научиться ими пользоваться.
Одна из главных особенностей нового устройства в том, что оно доступно каждому и стоит меньше 25 долларов (~1500 рупий). На рынке нет столь же простых и недорогих устройств, которые можно носить, как одежду. Если устройство улучшить и если оно будет использоваться массово, это принесёт обществу огромную пользу.
Шаг 1. Существующие системы
Белая трость.
Собака-поводырь.
Смарт-устройства (например, Vision).
Проблемы существующих систем
Белая трость может легко треснуть или сломаться, палка может застрять в трещинах.
Собака-поводырь дорого стоит (42 000 долларов, или 280 000 индийских рупий).
Общие недостатки (включая смарт-устройства). Их непросто переносить, а чтобы научиться пользоваться, нужно много времени.
Особенности устройства для незрячих. С «Третьим глазом» можно отказаться от белой трости и других подобных устройств. Он поможет незрячим ориентироваться, но не держать в руках палку, которая немного раздражает их. Можно носить его как ленту, и он будет работать очень точно. «Третий глаз» не требует много времени на обучение.
Шаг 2. Полное описание проекта
На основе платы Arduino я разработал специальное носимое устройство, которое незрячие смогут носить как одежду. Это устройство оснащено пятью ультразвуковыми датчиками, состоящими из пяти модулей, которые соединены с разными частями тела. Два датчика для плеч, ещё два для колен и один на руку. С помощью этих пяти датчиков незрячие смогут обнаружить объекты, представляя их положение с пяти точек зрения, и смогут легко перемещаться в любом месте. При обнаружении препятствия устройство уведомляет пользователя вибрацией и звуковыми сигналами. Интенсивность вибрации и частота звуковых сигналов увеличиваются с уменьшением расстояния, а устройство полностью автоматическое.
Проект может быть исполнен в виде жилета, так что устройство не нужно носить как отдельную вещь в руке. Специально разработанная плата вместо arduino, а также датчики высокого качества ускорят реакцию устройства на препятствия – так «Третий глаз» будет способен работать в многолюдном пространстве.
Шаг 3. Компоненты прототипа
Компоненты и инструменты
Компоненты
Пять SparkFun Arduino Pro Mini 328 - 5V/16MHz
Пять ультразвуковых датчиков.
Пять перфорированных плат.
Пять вибрационных двигателей.
Пять зуммеров.
Пять красных светодиодов.
Пять переключателей с ползунком.
Коннектор на 40 штырьков и гнездовая колодка на 8 разъёмов 0,1".
Четыре подвесных провода.
Старая мобильная батарейка 3,3В.
Литий-полимерный аккумулятор 3.7В
Лента и наклейки, чтобы устройство можно было надеть.
Инструменты
Универсальный паяльник
Универсальный термоклеевой пистолет
Arduino IDE
Инструкция сборки:
Заземлите светодиод, зуммер и вибрационный двигатель на цифровую землю Arduino.
Положительный полюс светодиода и средней ножки переключателя – к выводу Arduino pin-5.
Положительный полюс зуммера – к первой ножке переключателя.
Положительный полюс вибрационного двигателя – к третьей ножке переключателя.
Ультразвуковой датчик.
VCC ультразвукового датчика к VCC Arduino.
Заземлите ультразвуковой датчик н цифровое заземлению Arduino.
Ультразвуковой датчик Trig подключите к Arduino к разъёму pin-12.
Ультразвуковой датчик Echo подключите к Arduino pin-12.
Переключатель нужен для выбора режима: зуммер или вибрация.
Шаг 4. Сборка модулей
Обрежьте перфорированную плату до размера 5 х 3 см и припаяйте к плате гнёзда Arduino.
Припаяйте зуммер.
С помощью клеевого пистолета подсоедините вибрационный двигатель и припаяйте к нему провода.
Присоедините LED.
Присоедините переключатели.
Затем подключите контакты ультразвуковых датчиков и входа батареи.
Выполните припой, как показано на принципиальной схеме платы.
Теперь подключите к плате Arduino и ультразвуковой датчик.
Соедините все модули эластичной лентой.
То же самое нужно сделать с ещё тремя модулями, но датчик в руке делается несколько иначе. Посмотрите следующий шаг перед тем, как начнёте его делать.
Шаг 5. Код и изготовление модуля для руки
Четырьмя соединительными кабелями подключите ультразвуковой датчик к плате.
Затем подключите к этому модулю мобильную батарею напряжением в 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
Код для 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;
}
Вот и все, надеюсь вам был интересен данный материал.
Узнайте, как прокачаться в перспективных специальностях или освоить их с нуля:
Другие профессии и курсы
ПРОФЕССИИ
КУРСЫ