- Необхідні матеріали:
- Схема ланцюга незрячих ручок:
- Програма Arduino для Smart Blind Stick:
- Arduino Blind Stick в дії:
Ви коли-небудь чули про Х'ю Герра? Це відомий американський скелелаз, який зруйнував обмеження своїх інвалідностей; він твердо вірить, що технології можуть допомогти інвалідам жити нормальним життям. В одному зі своїх виступів на TED Герр сказав: « Люди не інваліди. Людина ніколи не може бути зламана. Наше побудоване середовище, наші технології порушені та відключені. Нам, людям, не потрібно приймати наші обмеження, але ми можемо передати інвалідність за допомогою технологічних інновацій ». Це були не просто слова, але він прожив своє життя для них, сьогодні він використовує протезні ноги і стверджує, що доживає до нормального життя. Так що так, технології дійсно можуть нейтралізувати людську інвалідність; маючи це на увазі, давайте використаємо кілька простих дощок та датчиків для побудови ультразвукової сліпої тростини за допомогою Arduino що може виконувати більше, ніж просто палицю для людей із вадами зору.
Цей розумний стик матиме ультразвуковий датчик для виявлення відстані від будь-якої перешкоди, LDR для виявлення умов освітлення та радіочастотний пульт, за допомогою якого сліпий може віддалено знаходити свою палицю. Усі відгуки будуть передані сліпому через зумер. Звичайно, ви можете замість зуммера використовувати вібраційний двигун і набагато більше просуватися, використовуючи свою креативність.
Необхідні матеріали:
- Arduino Nano (Буде працювати будь-яка версія)
- Ультразвуковий датчик HC-SR04
- LDR
- Звуковий сигнал та світлодіод
- 7805
- РЧ-передавач та приймач 433 МГц
- Резистори
- Конденсатори
- Нажимна Кнопка
- Перф дошка
- Набір для пайки
- 9В акумулятори
Ви можете купити всі необхідні компоненти для цього смарт - сліпий паличці проекту тут.
Схема ланцюга незрячих ручок:
Цей проект Arduino Smart Blind Stick вимагає двох окремих ланцюгів. Одним з них є основна схема, яка буде встановлена на палиці сліпого. Інший - це невелика віддалена схема радіочастотного передавача, яка буде використовуватися для визначення основної схеми. Схема основної плати для побудови шторки з використанням ультразвукового датчика показана нижче:
Як ми бачимо, Arduino Nano використовується для управління всіма датчиками, але ви також можете побудувати цю розумну жалюзі з використанням arduino uno, але дотримуючись тих самих розпінов і програми. Повна плата живиться від батареї 9 В, яка регулюється до + 5 В за допомогою регулятора напруги 7805. Ультразвуковий датчик живиться від 5В і тригер, і відлуння - висновок підключений до Arduino нан контактом 3 і 2, як показано вище. LDR з'єднаний з резистором значення 10K, щоб сформувати дільник напруги і різниця напруги зчитуються Arduino АЦП контактного A1. Штифт АЦП A0 використовується для зчитування сигналу з радіочастотного приймача. Вихід плати подається зуммером, який підключений до виводу 12.
РЧ дистанційна схема показана нижче. Його робота також пояснюється далі.
Я використав невеликий хакер, щоб змусити цю схему пульта дистанційного керування працювати. Зазвичай під час використання цього 433 МГц РЧ-модуля для роботи потрібні кодер і декодер або два мікроконтролери, як у попередній схемі радіочастотного передавача та приймача, ми використовували HT12D та HT12E, декодер та кодер IC відповідно. Але в нашому додатку нам просто потрібен приймач, щоб виявити, чи передає передавач якісь сигнали. Отже, контакт даних передавача підключений до заземлення або Vcc джерела живлення.
Вивід даних приймача пропускається через RC-фільтр, а потім передається Arduino, як показано нижче. Тепер при кожному натисканні кнопки приймач виводить постійне значення АЦП постійно. Цього повторення неможливо спостерігати, коли кнопка не натиснута. Тому ми пишемо програму Arduino для перевірки повторних значень, щоб виявити, чи натиснута кнопка. Отже, так сліпа людина може відслідковувати свою палицю. Ви можете перевірити тут: як працюють радіочастотний передавач і приймач.
Я використав дошку для перфорації, щоб спаяти всі з'єднання, щоб вона стала цілою з паличкою. Але ви також можете зробити їх на макеті. Це дошки, які я зробив для цього проекту з використанням ардуіно.
Програма Arduino для Smart Blind Stick:
Після того, як ми готові до нашого обладнання, ми можемо підключити Arduino до нашого Комп’ютера та розпочати програмування. Повний код використовується для цієї сторінки можна знайти в нижній частині цієї сторінки, ви можете завантажити його безпосередньо до Arduino борту. Однак, якщо вам цікаво дізнатись, як працює код, читайте далі.
Як і всі програми, ми починаємо з void setup () для ініціалізації вхідних вихідних контактів. У нашій програмі зуммер та тригер - це вихідний пристрій, а ехо-сигнал - це вхідний пристрій. Ми також ініціалізуємо послідовний монітор для налагодження.
void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (тригер, ВИХІД); pinMode (ехо, ВХІД); }
Усередині основного циклу ми зчитуємо всі дані датчиків. Ми починаємо з читання даних датчика ультразвукового датчика на відстань, LDR для інтенсивності світла та радіочастотного сигналу, щоб перевірити, чи натиснута кнопка. Усі ці дані зберігаються у змінній, як показано нижче, для подальшого використання.
обчислити_відстань (тригер, ехо); Signal = analogRead (Remote); Intens = analogRead (Light);
Ми починаємо з перевірки на віддалений сигнал. Ми використовуємо змінну, яка називається similar_count, щоб перевірити, скільки разів повторюються однакові значення з радіочастотного приймача. Це повторення відбуватиметься лише при натисканні кнопки. Отже, ми спрацьовуємо дистанційно натиснутий сигнал, якщо кількість перевищує значення 100.
// Перевірте, чи натиснуто Remote int temp = analogRead (Remote); аналогічна_рахунок = 0; while (Signal == temp) {Signal = analogRead (Remote); подібний_рахунок ++; } // Якщо дистанційно натиснути if (similar_count <100) {Serial.print (similar_count); Serial.println ("Віддалене натискання"); digitalWrite (Buzz, HIGH); затримка (3000); digitalWrite (Buzz, LOW); }
Ви також можете перевірити це на послідовному моніторі на своєму комп’ютері:
Далі перевіряємо інтенсивність світла навколо сліпого. Якщо LDR дає значення менше 200, це вважається дуже темним, і ми подаємо йому попередження через зумер із певним тоном затримки на 200 мс. Якщо інтенсивність дуже яскрава, що перевищує 800, ми також даємо попередження іншим тоном. Сигнал і інтенсивність сигналу можна легко змінити, змінивши відповідне значення в коді нижче.
// Якщо дуже темно if (Intens <200) {Serial.print (Intens); Serial.println ("Яскраве світло"); digitalWrite (Buzz, HIGH); затримка (200); digitalWrite (Buzz, LOW); затримка (200); digitalWrite (Buzz, HIGH); затримка (200); digitalWrite (Buzz, LOW); затримка (200); затримка (500); } // Якщо дуже яскравий if (Intens> 800) {Serial.print (Intens); Serial.println ("Слабке освітлення"); digitalWrite (Buzz, HIGH); затримка (500); digitalWrite (Buzz, LOW); затримка (500); digitalWrite (Buzz, HIGH); затримка (500); digitalWrite (Buzz, LOW); затримка (500); }
Нарешті, ми починаємо вимірювати відстань від будь-якої перешкоди. Буде відсутній сигнал тривоги, якщо виміряна відстань більше 50 см. Але якщо воно менше 50 см, будильник запускається звуковим сигналом. Коли об'єкт наближається до зумера, інтервал звукових сигналів також зменшується. Чим ближче об'єкт, тим швидше пролунає звуковий сигнал. Це можна зробити, створивши затримку, пропорційну виміряній відстані. Оскільки затримка () в Arduino не може приймати змінні, нам доводиться використовувати цикл for, цикл якого базується на виміряній відстані, як показано нижче.
if (dist <50) {Serial.print (dist); Serial.println ("Оповіщення про об'єкт"); digitalWrite (Buzz, HIGH); для (int i = dist; i> 0; i--) затримка (10); digitalWrite (Buzz, LOW); для (int i = dist; i> 0; i--) затримка (10); }
Дізнайтеся більше про вимірювання відстані за допомогою ультразвукового датчика та Arduino.
Програму можна легко адаптувати для вашої програми, змінивши значення, яке ми використовуємо для порівняння. Ви використовуєте послідовний монітор для налагодження, якщо спрацьовує помилковий сигнал тривоги. Якщо у вас виникли проблеми, ви можете використати розділ коментарів нижче, щоб опублікувати свої запитання
Arduino Blind Stick в дії:
Нарешті настав час протестувати наш проект arduino для сліпих ключок. Переконайтеся, що підключення виконано відповідно до принципової схеми та програма успішно завантажена. Тепер живіть обидві схеми за допомогою акумулятора 9 В, і ви повинні почати бачити результати. Підсуньте датчик Ultra Sonic ближче до об'єкта, і ви помітите звуковий сигнал, і ця частота звукових сигналів збільшується, коли палиця наближається до об'єкта. Якщо LDR покритий темрявою або якщо занадто багато світла, зуммер подасть звуковий сигнал. Якщо все нормально, звуковий сигнал не видаватиме звукового сигналу.
Коли ви натискаєте кнопку на пульті, зумер видасть довгий звуковий сигнал. Повна робота цього Smart Stick для сліпих за допомогою Arduino показана у відео, поданому в кінці цієї сторінки. Я також використовую маленьку палицю для монтажу повної збірки, ви можете використовувати більшу або справжню глуху палицю і ввести її в дію.
Якщо ваш зумер завжди подає звуковий сигнал, це означає, що будильник спрацьовує помилково. Ви можете відкрити послідовний монітор, щоб перевірити параметри та перевірити, що є критичним, і відрегулювати це. Як завжди, ви можете опублікувати свою проблему в розділі коментарів, щоб отримати допомогу. Сподіваюся, ви зрозуміли проект і вам сподобалось щось будувати.