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

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

Smart Stick

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

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

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

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

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

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

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

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

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

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

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

  1. Arduino Nano: Arduino nano – это плата микроконтроллера, которая используется для управления или выполнения различных задач в цепи. Мы записываем код C на Arduino Nano, чтобы сообщить плате микроконтроллера, как и какие операции выполнять. Arduino Nano обладает точно такой же функциональностью, что и Arduino Uno, но довольно небольшого размера. Микроконтроллер на плате Arduino Nano – ATmega328p.Ардуино Нано
  2. Ультразвуковой датчик HC-SR04: плата HC-SR04 – это ультразвуковой датчик, который используется для определения расстояния между двумя объектами. Он состоит из передатчика и приемника. Передатчик преобразует электрический сигнал в ультразвуковой сигнал, а приемник преобразует ультразвуковой сигнал обратно в электрический сигнал. Когда передатчик посылает ультразвуковую волну, он отражается после столкновения с определенным объектом. Расстояние рассчитывается с использованием времени, которое требуется ультразвуковому сигналу, чтобы пройти от передатчика и вернуться к приемнику.Ультразвуковой датчик
  3. Радиочастотный передатчик и приемник 433 МГц: он работает на определенной частоте 433 МГц. На рынке доступно несколько других радиочастотных устройств, и по сравнению с ними производительность радиочастотного модуля будет зависеть от нескольких факторов, например, когда мы увеличим мощность передатчика, будет получено большое расстояние связи. Это приведет к сильному расходу электроэнергии на передающем устройстве, что приведет к сокращению срока службы устройств с батарейным питанием. Если мы используем это устройство с более высокой передаваемой мощностью, то оно будет создавать помехи другим РЧ-устройствам.РЧ передатчик и приемник
  4. 7805 Регулятор напряжения: Регуляторы напряжения имеют большое значение в электрических цепях. Даже если есть колебания входного напряжения, этот регулятор напряжения обеспечивает постоянное выходное напряжение. Мы можем найти применение микросхемы 7805 в большинстве проектов. Название 7805 означает два значения: «78» означает, что это положительный стабилизатор напряжения, а «05» означает, что он выдает 5 В на выходе. Таким образом, наш регулятор напряжения обеспечит выходное напряжение +5 В. Эта микросхема может выдерживать ток около 1,5 А. Радиатор рекомендуется для проектов, которые потребляют больше тока. Например, если входное напряжение составляет 12 В, а вы потребляете 1 А, то (12-5) * 1 = 7 Вт. Эти 7 Ватт будут рассеиваться как тепло.Регулятор напряжения

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

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

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

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

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

Радиопередатчик

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

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

Схема, собранная на оборудовании (Изображение предоставлено Circuit Digest)

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

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

  1. Когда плата Arduino подключена к вашему ПК, откройте «Панель управления» и нажмите «Оборудование и звук». Затем нажмите «Устройства и принтеры». Найдите название порта, к которому подключена ваша плата Arduino. В моем случае это «COM14», но он может отличаться на вашем ПК.Поиск порта
  2. Нажмите на меню инструментов. и установите плату Arduino Nano из выпадающего меню.Настольная доска
  3. В том же меню «Инструменты» установите для порта номер порта, который вы видели ранее в «Устройствах и принтерах».Настройка порта
  4. В том же меню «Инструменты» установите для процессора значение «ATmega328P» («Старый загрузчик»).процессор
  5. Загрузите приведенный ниже код и вставьте его в свою Arduino IDE. Нажмите на кнопку загрузки, чтобы записать код на вашей плате микроконтроллера.Загрузить

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

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

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

  1. В начале кода инициализируются все контакты платы Arduino Nano, которые подключены к ультразвуковому датчику и радиочастотному модулю.

триггер const int = 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 setup () – это функция, которая используется для установки всех используемых выводов, таких как INPUT и OUTPUT. Скорость передачи данных определяется в этой функции. Скорость в бодах – это скорость связи, посредством которой плата микроконтроллера взаимодействует с интегрированными в нее датчиками.

настройка void ()
{
Serial.begin (9600);
pinMode (Гул, OUTPUT);
digitalWrite (Гул, LOW);
pinMode (триггер, ВЫХОД);
pinMode (эхо, ВХОД);
}

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

void Calculate_Distance (Int триггер, Int эхо)
{
 digitalWrite (триггер, НИЗКИЙ);
 delayMicroseconds (2);
 digitalWrite (триггер, HIGH);
 delayMicroseconds (10);
 digitalWrite (триггер, НИЗКИЙ);

 time_taken = pulseIn (echo, HIGH);
 dist = time_taken * 0.034 / 2;
 if (dist> 300)
 расстояние = 300;
}

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

void loop ()
{ //бесконечная петля
calculate_distance (триггер, эхо-сигнала);
Сигнал = analogRead (Удаленный);
Intens = analogRead (Light);

// Проверить, нажата ли кнопка Remote
int temp = analogRead (Remote);
similar_count = 0;
while (сигнал == темп)
{
Сигнал = analogRead (Удаленный);
similar_count ++;
}

// Если дистанционно нажата
if (Similar_count <100) { Serial.print (similar_count); Serial.println («Удаленное нажатие»); digitalWrite (Гул, HIGH); задержка (3000); digitalWrite (Гул, LOW); }// Если очень темно если (Интенс<200) {   Serial.print(Intens); Serial.println("Bright Light"); digitalWrite(Buzz,HIGH);delay(200);digitalWrite(Buzz,LOW);delay(200);digitalWrite(Buzz,HIGH);delay(200);   digitalWrite(Buzz,LOW);delay(200);   delay(500); }//If very bright if (Intens>800)
{
Serial.print (Intens); Serial.println («Низкий свет»);
  digitalWrite (Гул, HIGH); задержки (500); digitalWrite (Гул, LOW); задержки (500); digitalWrite (Гул, HIGH); задержки (500);
digitalWrite (Гул, LOW); задержки (500);
}

если (расст<50) { Serial.print(dist); Serial.println("Object Alert");   digitalWrite(Buzz,HIGH);   for (int i=dist; i>0; я–)
  задержка (10);
digitalWrite (Гул, LOW);
для (int i = dist; i> 0; i–)
  задержка (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. Выполните все шаги, упомянутые выше, и после успешного тестирования проекта найдите инвалида и предложите ему этот проект, чтобы облегчить его жизнь.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *