Как сделать смарт-стик для слепых с помощью Arduino?

Я твердо верю в цитату Хелен Келлер, которая гласит: «Единственное, что хуже, чем быть слепым, - это иметь зрение, но не видеть». Технология может помочь инвалидам жить нормальной жизнью, как это делают другие люди. Все знают индийскую девушку по имени Арунима Синха которая потеряла ногу в железнодорожной катастрофе, и ей пришлось ходить на протезах всю оставшуюся жизнь. После несчастного случая она решила подняться на Эверест на протезах, и, следовательно, новейшие технологии проложили ей путь к достижению своей мечты.



Умная палка

Технология действительно может нейтрализовать человеческую инвалидность; помня об этом, давайте использовать силу Arduino и простые датчики для создания палки для слепых это может быть палочкой-выручалочкой для слабовидящих. В палку будет установлен ультразвуковой датчик, который будет определять расстояние до человека от любого препятствия, LDR для определения условий освещения и радиочастотный пульт, который слепой может использовать для удаленного определения местоположения своей палки. Все указания будут даны слепому через зуммер. Мы можем использовать двигатель вибратора вместо зуммера и продвигаться намного дальше, используя наше творчество.



Smart Stick для слепых (любезно предоставлено: Circuit Digest)



Как использовать Arduino при разработке схемы?

Теперь, когда мы знаем аннотацию проекта, давайте продолжим и соберем различную информацию, чтобы начать работу. Сначала мы составим список компонентов, затем кратко их изучим, а затем соберем все компоненты, чтобы создать работающую систему.



Шаг 1. Необходимые компоненты (оборудование)

  • LDR
  • Зуммер
  • СВЕТОДИОД
  • Передатчик и приемник супергетродина
  • Резистор
  • Нажать кнопку
  • Veroboard
  • Батарея 9В
  • Цифровой мультиметр
  • Клей-пистолет

Шаг 2: Используемые компоненты (программное обеспечение)

  • Proteus 8 Professional (можно загрузить с Вот )

После загрузки Proteus 8 Professional спроектируйте схему на нем. Мы включили сюда моделирование программного обеспечения, чтобы новичкам было удобно спроектировать схему и выполнить соответствующие соединения на оборудовании.

Шаг 3: Изучение компонентов

Итак, мы составили список всех компонентов, которые собираемся использовать в этом проекте. Сделаем шаг вперед и кратко рассмотрим все основные компоненты.

  1. Ардуино Нано: Arduino nano - это плата микроконтроллера, которая используется для управления или выполнения различных задач в цепи. Мы сжигаем Код C на Arduino Nano, чтобы сообщить плате микроконтроллера, как и какие операции выполнять. Arduino Nano имеет ту же функциональность, что и Arduino Uno, но при довольно небольшом размере. Микроконтроллер на плате Arduino Nano ATmega328p.

    Ардуино Нано



  2. Ультразвуковой датчик HC-SR04: Плата HC-SR04 - это ультразвуковой датчик, который используется для определения расстояния между двумя объектами. Он состоит из передатчика и приемника. Передатчик преобразует электрический сигнал в ультразвуковой, а приемник преобразует ультразвуковой сигнал обратно в электрический сигнал. Когда передатчик посылает ультразвуковую волну, она отражается после столкновения с определенным объектом. Расстояние рассчитывается с использованием времени, которое требуется ультразвуковому сигналу, чтобы пройти от передатчика и вернуться к приемнику.

    Ультразвуковой датчик

  3. 433 МГц RF передатчик и приемник: Он работает на определенной частоте 433 МГц. На рынке доступно несколько других радиочастотных устройств, и по сравнению с ними производительность радиочастотного модуля будет зависеть от нескольких факторов, например, когда мы увеличим мощность передатчика, будет обеспечено большое расстояние связи. Это вызовет большой расход электроэнергии на передатчике, что приведет к сокращению срока службы устройств с батарейным питанием. Если мы будем использовать это устройство при более высокой передаваемой мощности, оно будет создавать помехи другим РЧ устройствам.

    РЧ передатчик и приемник

  4. 7805 Регулятор напряжения: Регуляторы напряжения имеют большое значение в электрических цепях. Даже при колебаниях входного напряжения этот регулятор напряжения обеспечивает постоянное выходное напряжение. Мы можем найти применение микросхеме 7805 в большинстве проектов. Название 7805 означает два значения: «78» означает, что это стабилизатор положительного напряжения, а «05» означает, что он обеспечивает выходное напряжение 5 В. Таким образом, наш стабилизатор напряжения обеспечит выходное напряжение +5 В. Эта ИС может выдерживать ток около 1,5 А. Радиатор рекомендуется для проектов, которые потребляют больше тока. Например, если входное напряжение составляет 12 В, а вы потребляете 1 А, тогда (12-5) * 1 = 7 Вт. Эти 7 Вт будут рассеиваться в виде тепла.

    Регулятор напряжения

Шаг 4: Сборка схемы

Для этого проекта нам нужно будет разработать две схемы. Первый контур будет размещен в подходящем месте в палке слепого, а второй будет Радиопередатчик цепь, и она будет использоваться для определения главной цепи. Перед проектированием схемы на Proteus нам необходимо включить в программное обеспечение библиотеку радиоприемника Proteus. Вы можете скачать библиотеку с Вот и после загрузки библиотеки откройте Библиотека папку и скопировать MODULO_RF.LIB файл и вставьте его в папку библиотеки Proteus. Если вы не нашли папку с библиотекой, щелкните (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). Когда вы это сделаете, откройте папку MODELS, скопируйте RX.MDF и вставьте его в папку proteus MODELS. Если вы не нашли папку с моделями, нажмите (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional MODELS).

Принципиальная схема (любезно предоставлено: Circuit Digest)

Микроконтроллер, который будет использоваться для управления всеми датчиками в цепи, Arduino Nano. Источник питания, используемый для работы схемы, - это батарея 9 В, и это напряжение 9 В падает до 5 В с помощью 7805 Регулятор напряжения. На схеме видно, что Ультразвуковой датчик питается от Vout регулятора напряжения. Триггерный и эхо-контакты датчика подключены к контактам 3 и 2 Arduino соответственно. В Светозависимый резистор (LDR) подключен к потенциометру со значением 10k и Аналоговый в цифровой Контакт преобразования A1 Arduino подключается к этой точке, чтобы отметить разницу напряжений. Нам нужно знать сигнал, который излучается РЧ-приемником, поэтому мы подключили вывод А0 АЦП для считывания сигнала из РЧ-приемника. Выход всей схемы определяется зуммер Итак, положительный вывод зуммера подсоединен к выводу 12 Arduino, а отрицательный вывод подсоединен к земле ультразвукового датчика.

Мы не включили радиопередатчик в нашу принципиальную схему, потому что мы будем собирать его отдельно на оборудовании. Всякий раз, когда мы используем супергетеродинный передатчик и приемник 433 МГц, нам нужен микроконтроллер, чтобы связать их с этим, но в этом проекте нам нужен единственный передатчик для отправки сигналов на приемник, поэтому мы соединили вывод данных передатчика с Vcc. Вывод данных приемника пропускается через RC-фильтр и затем подключается к выводу данных A0 Arduino соответственно. Мы будем нажимать кнопку на передатчике несколько раз, и когда кнопка будет нажата, приемник выдаст любое постоянное значение на выходе.

RF передатчик

Шаг 5: Сборка оборудования

Поскольку мы выполнили моделирование, нет, мы можем сделать прототип. При пайке компонентов на плате Perf особое внимание уделяйте контактам Arduino Nano. убедитесь, что контакты не касаются друг друга, иначе Arduino может выйти из строя. Найдите у себя дома палку и прикрепите к ней схему, состоящую из Arduino и RF-приемника. Вы можете использовать пистолет для горячего клея для прикрепления цепи к палке, и лучше нанести немного клея на положительные и отрицательные клеммы, чтобы провода источника питания не отсоединились, если палка прочно погладила по земле.

Схема, собранная на аппаратном уровне (любезно предоставлено изображением: дайджест схемы)

Шаг 6: Начало работы с Arduino

Если вы раньше не знакомы с Arduino IDE, не волнуйтесь, потому что ниже вы можете увидеть четкие шаги записи кода на плату микроконтроллера с использованием Arduino IDE. Вы можете скачать последнюю версию Arduino IDE из Вот и выполните следующие действия:

  1. Когда плата Arduino подключена к вашему ПК, откройте «Панель управления» и нажмите «Оборудование и звук». Затем щелкните «Устройства и принтеры». Найдите имя порта, к которому подключена ваша плата Arduino. В моем случае это «COM14», но на вашем ПК он может быть другим.

    Поиск порта

  2. Щелкните меню инструментов. и установите доску на Ардуино Нано из раскрывающегося меню.

    Доска настроек

  3. В том же меню инструментов установите порт на номер порта, который вы наблюдали ранее в Устройства и принтеры .

    Настройка порта

  4. В том же меню инструментов установите для процессора значение ATmega328P (старый загрузчик).

    Процессор

  5. Загрузите приведенный ниже код и вставьте его в свою Arduino IDE. Нажми на загрузить кнопку, чтобы записать код на плату микроконтроллера.

    Загрузить

Чтобы скачать код, кликните сюда.

Шаг 7: понимание кода

Код хорошо прокомментирован и не требует пояснений. Но все же это объясняется ниже:

  1. В начале кода инициализируются все контакты платы Arduino Nano, подключенные к ультразвуковому датчику и RF-модулю.
const int trigger = 3; // Триггерный вывод 1-го датчика const int echo = 2; // Эхо-вывод 1-го датчика const int Buzz = 13; // Пин для подключения зуммера const int Remote = A0; const int Light = A1; long time_taken; int dist; int Signal; int Intens; int Similar_count;

2. установка void () это функция, которая используется для установки всех используемых контактов, как ВВОД и ВЫВОД. В этой функции определяется скорость передачи данных. Baud Rate - это скорость обмена данными между платой микроконтроллера и интегрированными с ней датчиками.

void setup () {Serial.begin (9600); pinMode (Buzz, ВЫХОД); digitalWrite (Buzz, LOW); pinMode (триггер, ВЫХОД); pinMode (эхо, ВХОД); }

3. Теперь мы создадим функцию, которая рассчитает расстояние.

void calculate_distance (int trigger, int echo) {digitalWrite (триггер, LOW); delayMicroseconds (2); digitalWrite (триггер, ВЫСОКИЙ); delayMicroseconds (10); digitalWrite (триггер, LOW); time_taken = pulseIn (эхо, ВЫСОКИЙ); dist = time_taken * 0,034 / 2; если (dist> 300) dist = 300; }

Четыре. пустой цикл () - это функция, которая многократно выполняется в цикле. В этой функции мы сообщаем плате микроконтроллера, как и какие операции выполнять. В основном цикле мы будем читать данные датчиков. Здесь, во-первых, триггерный вывод настроен на отправку сигнала, который будет обнаружен выводом эха. Некоторые условия применяются для непрерывного звучания зуммера, если объект обнаружен на определенном расстоянии. Зуммер издаст звуковой сигнал с небольшим перерывом, если обнаружит темноту, и подаст звуковой сигнал с немного большим перерывом, если обнаружит яркий свет.

void loop () {// бесконечный цикл calculate_distance (trigger, echo); Сигнал = analogRead (Удаленный); Intens = analogRead (Свет); // Проверяем, нажата ли кнопка Remote int temp = analogRead (Remote); Similar_count = 0; в то время как (сигнал == темп) {сигнал = аналоговое чтение (удаленный); Similar_count ++; } // Если удаленное нажатие if (similar_count<100) { Serial.print(similar_count); Serial.println('Remote Pressed'); digitalWrite(Buzz,HIGH);delay(3000);digitalWrite(Buzz,LOW); } //If very dark if (Intens800) { Serial.print(Intens); Serial.println('Low Light'); digitalWrite(Buzz,HIGH);delay(500);digitalWrite(Buzz,LOW);delay(500);digitalWrite(Buzz,HIGH);delay(500); digitalWrite(Buzz,LOW);delay(500); } if (dist<50) { Serial.print(dist); Serial.println('Object Alert'); digitalWrite(Buzz,HIGH); for (int i=dist; i>0; i--) задержка (10); digitalWrite (Buzz, LOW); for (int i = dist; i> 0; i--) delay (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('Similar_count= '); //Serial.println(similar_count); //Serial.print('Intens= '); //Serial.println(Intens); }

Шаг 8: тестирование

Поскольку мы разобрались с кодом, загрузили его на микроконтроллер и собрали оборудование, пришло время протестировать наш проект. Перед тестированием убедитесь, что соединения выполнены правильно, и проверьте целостность цепи с помощью цифрового мультиметра. Для поворота НА в обеих цепях используется батарея 9 В. Поместите объект на поверхность, на которой вы проводите тестирование, и переместите ультразвуковой датчик перед ним, и вы заметите, что звук зуммера усиливается по мере приближения датчика к объекту. Есть две возможности, если LDR покрыт темнотой или если вы проводите тестирование на солнечном свете, раздастся звуковой сигнал. Если нажать кнопку на радиопередатчике, зуммер будет издавать длительный звуковой сигнал. Если зуммер продолжает пищать долгое время, это означает, что тревога сработала ложно. Если вы столкнулись с такой ошибкой, откройте монитор последовательного порта Arduino IDE и проверьте параметры, вызывающие такую ​​проблему.

Тестирование оборудования (Изображение предоставлено: Circuit Digest)

Это был самый простой способ сделать умную палку для слепых с помощью Arduino. Выполните все шаги, упомянутые выше, и после успешного тестирования проекта найдите человека с ограниченными возможностями и предложите ему этот проект, чтобы облегчить его жизнь.