Как да направя интелигентен стик за слепи хора, използващи Arduino?

Силно вярвам в цитат от Хелън Келър, който гласи „Единственото нещо, което е по-лошо от това да бъдеш сляп, е да имаш зрение, но да нямаш зрение“. Технологията може да помогне на хората с увреждания да живеят нормален живот, както правят другите хора. Всички познават индийското момиче на име Арунима Синха която загуби крака си при влакова катастрофа и тя трябваше да ходи на протезните крака до края на живота си. След инцидент тя решава да се изкачи на връх Еверест на протезни крака и следователно, най-новите технологии й проправят път да постигне мечтата си.



Smart Stick

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



Smart Stick за слепи хора (С любезното съдействие: Circuit Digest)



Как да използвам Arduino при проектирането на веригата?

Сега, след като знаем резюмето на проекта, нека продължим напред и да съберем различна информация, за да започнем да работим. Първо ще направим списък на компонентите, след това ще ги изучим накратко, след което ще съберем всички компоненти, за да направим работеща система.



Стъпка 1: Необходими компоненти (хардуер)

  • LDR
  • Звънец
  • LED
  • Суперхетродинов предавател и приемник
  • Резистор
  • Натисни бутона
  • Вероборд
  • 9V Battery
  • Цифров мултиметър
  • Пистолет за лепило

Стъпка 2: Използвани компоненти (софтуер)

  • Proteus 8 Professional (Може да се изтегли от Тук )

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

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

Сега, когато направихме списък на всички компоненти, които ще използваме в този проект. Нека преминем още една стъпка напред и ще преминем през кратко проучване на всички основни компоненти.

  1. Arduino Nano: Arduino nano е платка за микроконтролер, която се използва за управление или изпълнение на различни задачи във верига. Изгаряме a C код на Arduino Nano, за да каже на борда на микроконтролера как и какви операции да изпълнява. Arduino Nano има точно същата функционалност като Arduino Uno, но в доста малък размер. Микроконтролерът на платката Arduino Nano е ATmega328p.

    Arduino Nano



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

    Ултразвуков сензор

  3. 433mhz RF предавател и приемник: Той работи на определена честота от 433MHz. На пазара се предлагат няколко други радиочестотни устройства и в сравнение с тях производителността на RF модул ще зависи от няколко фактора, като например, когато увеличим мощността на предавателя, ще се събере голямо комуникационно разстояние. Това ще доведе до силно източване на електрическа мощност на предавателното устройство, което води до по-кратък експлоатационен живот на устройствата, захранвани от батерии. Ако използваме това устройство при по-висока предавана мощност, тогава устройството ще създаде смущения в други RF устройства.

    RF предавател и приемник

  4. 7805 Регулатор на напрежение: Регулаторите на напрежение имат значително значение в електрическите вериги. Дори да има колебания във входното напрежение, този регулатор на напрежението осигурява постоянно изходно напрежение. Можем да намерим приложението на 7805 IC в повечето проекти. Името 7805 означава две значения, „78“ означава, че е положителен регулатор на напрежението, а „05“ означава, че осигурява 5V като изход. Така че нашият регулатор на напрежение ще осигури изходно напрежение + 5V. Този IC може да се справи с ток около 1.5A. За проекти, които консумират повече ток, се препоръчва радиатор. Например, ако входното напрежение е 12V и консумирате 1A, тогава (12-5) * 1 = 7W. Тези 7 вата ще се разсейват като топлина.

    Волтажен регулатор

Стъпка 4: Сглобяване на веригата

Ще трябва да проектираме две вериги за този проект. Първата верига ще бъде поставена на подходящо място в пръчката на слепец, а втората ще бъде RF предавател верига и тя ще се използва за откриване на основната верига. Преди да проектираме веригата на Proteus, трябва да включим библиотеката на proteus на RF приемник в софтуера. Можете да изтеглите библиотеката от Тук и след изтегляне на библиотеката отворете Библиотека папка и копиране 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. Захранването, използвано за работа на веригата, е 9V батерия и това 9V напрежение пада до 5V с помощта на 7805 Волтажен регулатор. Във веригата може да се види, че Ултразвуков сензор се захранва от Vout на регулатора на напрежението. Щифтовете на спусъка и ехото на сензора са свързани съответно към щифт 3 и щифт 2 на Arduino. The Резистор, зависим от светлината (LDR) е свързан към потенциометъра на стойност 10k и Аналогов на цифров преобразувателният щифт A1 на Arduino е свързан към тази точка, за да отбележи разликата в напрежението. Трябва да знаем сигнала, който се излъчва от RF приемника, така че сме свързали ADC щифт A0, за да прочетем сигнала от RF приемника. Изходът на цялата верига се дава от зумер така, положителният щифт на зумера е свързан към щифт 12 на Arduino, а отрицателният щифт е свързан със земята на ултразвуковия сензор.

Не сме включили RF предавателя в нашата електрическа схема, защото ще го съберем на хардуер отделно. Винаги, когато използваме 433 MHz суперхетеродинен предавател и приемник, се нуждаем от микроконтролер, който да ги свързва с това, но в този проект се нуждаем от единствения предавател, който да изпраща сигнали към приемника, така че ние сме свързали пина за данни на предавателя с Vcc. Пинът за данни на приемника се прекарва през RC филтъра и след това се свързва с пина за данни A0 на Arduino съответно. Ще натискаме многократно бутона, поставен на предавателя, и когато бутонът бъде натиснат, приемникът ще даде някаква постоянна стойност като изход.

RF предавател

Стъпка 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. Изтеглете кода, приложен по-долу, и го поставете във вашия ID на Arduino. Щракнете върху качване бутон, за да запишете кода на платката на вашия микроконтролер.

    Качване

За да изтеглите кода, Натисни тук.

Стъпка 7: Разбиране на кодекса

Кодът е добре коментиран и обясним сам по себе си. Но все пак това е обяснено по-долу:

  1. В началото на кода всички щифтове на платката Arduino Nano, които са свързани към ултразвуковия сензор и RF модула, се инициализират.
const int спусък = 3; // Задействащ щифт на 1-ви сензор const int echo = 2; // Ехо щифт на 1-ви сензор const int Buzz = 13; // ПИН за свързване на зумер const int Remote = A0; const int Light = A1; дълго време_прието; int dist; int Signal; int Intens; int подобен_ брой;

2. настройка за празнота () е функция, която се използва за задаване на всички използвани щифтове, като ВХОД и ИЗХОД. Скоростта на предаване е дефинирана в тази функция. Скорост на предаване е скоростта на комуникация, чрез която платката на микроконтролера комуникира със сензорите, интегрирани с нея.

void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (спусък, ИЗХОД); pinMode (ехо, INPUT); }

3. Сега ще създадем функция, която ще изчисли разстоянието.

void calcu_distance (int trigger, int echo) {digitalWrite (спусък, LOW); delayMicroseconds (2); digitalWrite (спусък, HIGH); delayMicroseconds (10); digitalWrite (спусък, LOW); time_taken = pulseIn (ехо, ВИСОКО); dist = време_прието * 0,034 / 2; ако (dist> 300) dist = 300; }

Четири. цикъл void () е функция, която се изпълнява многократно в цикъл. В тази функция ние казваме на платката на микроконтролера как и какви операции да се извършат. В основния цикъл ще прочетем данните на сензорите. Тук, първо, задействащият щифт е настроен да изпраща сигнал, който ще бъде открит от ехо-пина. Прилагат се някои условия за непрекъснато озвучаване на зумера, ако обект бъде открит на определено разстояние. Звуковият сигнал ще издава звуков сигнал с малко прекъсване, ако засече тъмно и ще издава звуков сигнал с малко по-голямо прекъсване, ако открие ярко.

void loop () {// безкраен цикъл count_distance (спусък, ехо); Signal = analogRead (Remote); Intens = analogRead (Light); // Проверяваме дали е натиснато Remote int temp = analogRead (Remote); подобен_ брой = 0; while (Signal == temp) {Signal = analogRead (Remote); подобен_брой ++; } // Ако се натисне дистанционно, ако (подобен_ брой<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); за (int i = dist; i> 0; i--) забавяне (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('S similar_count= '); //Serial.println(shonde_count); //Serial.print('Intens= '); //Serial.println(Intens); }

Стъпка 8: Тестване

Тъй като разбрахме кода, качихме го на микроконтролера и сглобихме и хардуера, сега е време да тестваме нашия проект. Преди тестване се уверете, че връзките са направени правилно и проверете непрекъснатостта на веригата с помощта на цифровия мултиметър. За обръщане НА и двете вериги използват 9V батерия. Поставете обект върху повърхността, на която тествате, и преместете ултразвуковия сензор пред него и се забелязва, че звукът на зумера се увеличава, когато сензорът се приближава по-близо до обекта. Има две възможности, ако LDR е покрит с тъмно или ако тествате на слънчева светлина, зумерът ще започне да издава звуков сигнал. Ако бутонът бъде натиснат на радиочестотния предавател, зумерът ще издава дълго време звуков сигнал. Ако зумерът продължава да издава звуков сигнал дълго време, това означава, че алармата е задействана фалшиво. Ако сте изправени пред този вид грешка, отворете серийния монитор на Arduino IDE и проверете за параметрите, които причиняват такъв вид проблем.

Тестване на хардуера (С любезното съдействие: Circuit Digest)

Това беше най-простият начин да се направи интелигентен стик за незрящи хора, използващ Arduino. Следвайте всички стъпки, споменати по-горе и след успешно тестване на проекта потърсете лице с увреждания и му предложете този проект, за да улесните живота му.