«Третий глаз» — носимое устройство помощи незрячим на Arduino
Компоненты и материалы
| Компонент | Количество |
|---|---|
| Arduino Pro Mini 328 (5V/16MHz) | 5 |
| Ультразвуковые датчики расстояния (HC-SR04 или аналоги) | 5 |
| Монтажные платы (perfboard) | 5 |
| Вибромоторы | 5 |
| Пьезопищалки | 5 |
| Красные светодиоды 5 мм | 5 |
| Тумблеры (slide switch) | 5 |
| Разъёмы: женские 8-пин, мужские 40-пин | по 2 |
| Провода-перемычки | 4 набора |
| Пауэрбанк (5В) | 1 |
| LiPo 3.7В (для модуля на руке) | 1 |
| Резинки, липучки, клей (для ношения как бандаж/жакет) | 1 комплект |
Инструменты
- Паяльная станция
- Клеевой пистолет
Среда разработки
- Arduino IDE
О проекте
Первая носимая технология для слепых людей. Устройство использует ультразвуковые волны для обнаружения препятствий и уведомляет пользователя вибрацией и/или звуковым сигналом. Носится как бандаж или элемент одежды.
По данным ВОЗ, в мире ~39 млн слепых людей. Традиционная белая трость хрупка, застревает в щели, неудобна. Собака-поводырь стоит ~$42,000. Умные устройства часто громоздки и требуют долгого обучения. «Третий глаз» стоит менее $25 (~1500 руб.), носится как одежда, требует минимум обучения.
Видео
- Демонстрация работы.
- Репортаж по телевидению (малаялам).
Новизна: первое носимое устройство для незрячих, решающее проблемы существующих решений. Доступная цена, простота, ношение как одежда.
Существующие системы и их проблемы
- Белая трость: ломается, застревает в щели.
- Собака-поводырь: огромная стоимость.
- Общие недостатки (включая умные устройства): трудно нести, требуют много обучения.
Преимущества «Третьего глаза»: полностью заменяет трость, не нужно держать в руке, высокая точность, минимум обучения. Можно реализовать в виде жакет — модули не нужно надевать по отдельности. Специализированные платы и качественные датчики ускорят отклик для работы в толпе.
Тестирование с незрячим человеком
Успешные испытания с участием незрячего человека. Фото в посте учителя на Facebook. Награды: 1-е место PPT Innovation Award, 2-е место на областной ярмарке науки (Гovernment of Kerala).
Прототипирование: используемые детали
5 модулей: каждый — Arduino Pro Mini, ультразвуковой датчик, перфборд, вибромотор, пищалка, красный светодиод, тумблер, разъёмы, провода. 4 модуля питания от пауэрбанка (через USB-разъём), модуль на руке — от LiPo 3.7В. Модули крепятся на резинки/липучки: 2 на плечи, 2 на колени, 1 на руку.
Схема подключения (на модуль)
- GND светодиода, пищалки, вибромотора → GND Arduino.
- Анод светодиода и средний контакт тумблера → пин 5 Arduino.
- Анод пищалки → крайний контакт тумблера (режим звук).
- Анод вибромотора → другой крайний контакт тумблера (режим вибрация).
- Ультразвуковой датчик: VCC → VCC, GND → GND, Trig → пин 12, Echo → пин 10 (в коде пин 10, в тексте 12 — уточнить при сборке).
Тумблер переключает режим: звук или вибрация.
Сборка модулей
- Вырезать перфборд 5×3 см, припаять женские разъёмы под Arduino.
- Припаять пищалку.
- Клеевым пистолетом зафиксировать вибромотор, припаять провода.
- Припаять светодиод.
- Припаять тумблер.
- Припаять пин-разъёмы для ультразвукового датчика и питания.
- Собрать схему согласно диаграмме.
- Установить Arduino и датчик, закрепить резинки/липучки.
Модуль для руки отличается: ультразвуковой датчик подключён 4 перемычками (для гибкости), питание от LiPo 3.7В.
Код (загружается в каждый Arduino)
// VISIT: www.robotechmaker.com
const int pingTrigPin = 12;
const int pingEchoPin = 10;
int buz = 5;
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;
}
При приближении препятствия ближе 50 см частота пищания/вибрации возрастает (задержка d уменьшается). Загрузить код в все 5 модулей, включить питание.
Схемы
Схема модуля и схема питания (пауэрбанк + 4 модуля, отдельная батарея для ручного модуля) в репозитории/фото.
Производственный процесс
- Надёжные облачные OTA-апдейты для IoT-устройств
- Лучшие аксессуары для раскрытия полного потенциала Raspberry Pi
- SIGHT: умные очки для слабовидящих на Raspberry Pi
- Надежные пластиковые крепежи Craftech усиливают обучающие инструменты APH для слепых
- Как пластиковые компоненты движут топливную эффективность автомобилей
- Многопозиционная система датчиков температуры для интеграции в умный дом
- DIY-контроллер паяльника 862D+ — точность и надёжность
- CoroFence: термический детектор на GridEye + PIR с IoT
- Искреннее прощание: мой 40-летний путь в издательстве
- Компоненты из Инвара 36: материалы, свойства и надежная закупка