Paano Gumawa ng Isang Smart Stick Para sa Mga Bulag na Tao na Gumagamit ng Arduino?

Malakas akong naniniwala sa isang quote ni Helen Keller na nagsasaad 'Ang tanging mas masahol pa sa pagiging bulag ay ang pagkakaroon ng paningin ngunit walang paningin'. Matutulungan ng teknolohiya ang mga taong may kapansanan na mabuhay ng isang normal na buhay tulad ng ginagawa ng ibang tao. Alam ng lahat ang pangalang batang babae ng India Arunima Sinha na nawala ang kanyang binti sa isang aksidente sa tren at kailangan niyang maglakad sa mga binti ng prosthetic sa natitirang buhay niya. Matapos ang aksidente, nagpasya siyang umakyat sa Mount Everest sa mga binti ng prosthetic at samakatuwid, ang pinakabagong teknolohiya ay nagbukas ng paraan para makamit niya ang kanyang pangarap.



Smart Stick

Ang teknolohiya ay talagang maaaring i-neutralize ang kapansanan ng tao; sa kaisipang ito ay gamitin natin ang kapangyarihan ng Arduino at simpleng mga sensor upang bumuo ng isang stick ng isang Blind man na maaaring maging isang tagapagligtas para sa mga taong may kapansanan sa paningin. Ang isang sensor ng Ultrasonic ay mai-install sa isang stick na kung saan ay madarama ang distansya ng isang tao mula sa anumang balakid, isang LDR na makaramdam ng mga kondisyon sa pag-iilaw at isang remote na RF na maaaring magamit ng bulag na lalaki upang malagay ang kanyang stick. Ang lahat ng mga direksyon ay ibibigay sa bulag sa pamamagitan ng isang Buzzer. Maaari kaming gumamit ng isang vibrator motor kapalit ng Buzzer at isulong nang higit pa gamit ang aming pagkamalikhain.



Smart Stick Para sa Mga Bulag na Tao (Larawan sa Kagandahang-loob: Circuit Digest)



Paano Magamit ang Arduino Sa Pagdidisenyo ng Circuit?

Ngayon dahil alam natin ang abstract ng proyekto, sumulong tayo at magtipon ng iba't ibang impormasyon upang magsimulang magtrabaho. Gagawa muna kami ng isang listahan ng mga bahagi, pagkatapos pag-aralan ang mga ito nang maikli, pagkatapos ay tipunin ang lahat ng mga bahagi upang makagawa ng isang gumaganang system.



Hakbang 1: Kailangan ng Mga Bahagi (Hardware)

  • LDR
  • Buzzer
  • LED
  • Supperhetrodine Transmitter at Receiver
  • Resistor
  • Push Button
  • Veroboard
  • 9V Baterya
  • Digital multimeter
  • Pandikit Baril

Hakbang 2: Mga Ginamit na Mga Bahagi (Software)

  • Proteus 8 Professional (Maaaring ma-download mula sa Dito )

Pagkatapos i-download ang Proteus 8 Professional, idisenyo ang circuit dito. Isinama namin dito ang mga simulation ng software upang maaaring maginhawa para sa mga nagsisimula na idisenyo ang circuit at gumawa ng mga naaangkop na koneksyon sa hardware.

Hakbang 3: Pag-aaral ng Mga Bahagi

Ngayon dahil gumawa kami ng isang listahan ng lahat ng mga bahagi na gagamitin namin sa proyektong ito. Ilipat natin ang isang hakbang sa karagdagang at dumaan sa isang maikling pag-aaral ng lahat ng mga pangunahing bahagi.

  1. Arduino Nano: Ang Arduino nano ay isang board ng microcontroller na ginagamit upang makontrol o maisakatuparan ang iba't ibang mga gawain sa isang circuit. Sinusunog namin ang a C Code sa Arduino Nano upang sabihin sa board ng microcontroller kung paano at anong mga operasyon ang dapat gumanap. Ang Arduino Nano ay may eksaktong parehong pag-andar tulad ng Arduino Uno ngunit sa medyo maliit na sukat. Ang microcontroller sa Arduino Nano board ay ATmega328p.

    Arduino Nano



  2. Ultrasonic Sensor HC-SR04: Ang board ng HC-SR04 ay isang sensor ng ultrasonic na ginagamit upang matukoy ang distansya sa pagitan ng dalawang mga bagay. Ito ay binubuo ng isang transmiter at isang tatanggap. Ang transmitter ay nagko-convert ng signal ng elektrikal sa isang signal ng ultrasonic at ang recepter ay binago ang signal ng ultrasonic pabalik sa electrical signal. Kapag nagpapadala ang transmitter ng isang ultrasonikong alon, sumasalamin ito pagkatapos mabangga sa isang tiyak na bagay. Ang distansya ay kinakalkula sa pamamagitan ng paggamit ng oras, tumatagal ang signal na ultrasonic upang umalis mula sa transmiter at bumalik sa tatanggap.

    Ultrasonic Sensor

  3. 433mhz RF transmitter at receiver: Ito ay nagpapatakbo sa isang tukoy na dalas ng 433MHz. Mayroong maraming iba pang mga aparato sa dalas ng radyo na magagamit sa merkado at kumpara sa kanila ang pagganap ng isang module ng RF ay nakasalalay sa maraming mga kadahilanan tulad ng kapag dinagdagan natin ang lakas ng transmiter isang malaking distansya ng komunikasyon ang makokolekta. Magdudulot ito ng isang mataas na kuryente na maubos ng kuryente sa aparato ng transmiter, na nagdudulot ng isang mas maikling buhay sa pagpapatakbo ng mga aparatong pinapatakbo ng baterya. Kung gagamitin namin ang aparatong ito sa mas mataas na naihatid na kuryente sa gayon ang aparato ay lilikha ng pagkagambala sa iba pang mga aparatong RF.

    RF Transmitter at Receiver

  4. 7805 Boltahe regulator: Ang mga regulator ng boltahe ay may makabuluhang kahalagahan sa mga de-koryenteng circuit. Kahit na may pagbagu-bago sa input boltahe, ang regulator ng boltahe na ito ay nagbibigay ng isang pare-pareho na boltahe ng output. Mahahanap namin ang aplikasyon ng 7805 IC sa karamihan ng mga proyekto. Ang pangalang 7805 ay nangangahulugan ng dalawang kahulugan, ang '78' ay nangangahulugang ito ay isang positibong boltahe na regulator at ang '05' ay nangangahulugang nagbibigay ito ng 5V bilang output. Kaya ang aming boltahe na regulator ay magbibigay ng isang boltahe ng output na + 5V. Ang IC na ito ay maaaring hawakan ang kasalukuyang sa paligid ng 1.5A. Inirerekumenda ang isang Heat sink para sa mga proyekto na kumakain ng mas maraming kasalukuyang. Halimbawa, kung ang input boltahe ay 12V at gumagamit ka ng 1A, pagkatapos (12-5) * 1 = 7W. Ang 7 Watts na ito ay mawawala bilang init.

    Regulator ng Boltahe

Hakbang 4: Pag-iipon ng Circuit

Kakailanganin naming mag-disenyo ng dalawang mga circuit para sa proyektong ito. Ang unang circuit ay mailalagay sa isang angkop na lugar sa stick ng isang bulag at ang pangalawa ay isang Transmiter ng RF circuit at ito ay gagamitin upang malaman ang pangunahing circuit. Bago idisenyo ang circuit sa Proteus kailangan nating isama ang proteus library ng RF receiver sa software. Maaari mong i-download ang library mula sa Dito at pagkatapos i-download ang library buksan ang Library folder at kopyahin MODULO_RF.LIB file at i-paste ito sa folder ng Library ng Proteus. Kung sakaling hindi mo makita ang folder ng library, mag-click sa (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). Kapag nagawa mo na ito buksan ang mga folder ng MODELS at kopyahin ang RX.MDF at i-paste ito sa folder na proteus MODELS. Kung sakaling hindi mo makita ang folder ng mga modelo, mag-click sa (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional MODELS).

Circuit Diagram (Larawan sa Kagandahang-loob: Circuit Digest)

Ang microcontroller na gagamitin upang makontrol ang lahat ng mga sensor sa circuit ay Arduino Nano. Ang supply ng kuryente na ginamit para sa pagtatrabaho ng circuit ay 9V na baterya at ang boltahe na 9V na ito ay ibinaba sa 5V gamit ang a 7805 Tagapangasiwa ng boltahe. Makikita sa circuit na ang Ultrasonic sensor ay pinalakas ng Vout ng voltage regulator. Ang mga gatilyo at echo pin ng sensor ay konektado sa pin 3 at pin 2 ng Arduino ayon sa pagkakabanggit. Ang Banayad na Nakasalalay na Resistor Ang (LDR) ay konektado sa potentiometer ng halagang 10k at ang Analog sa Digital ang conversion pin A1 ng Arduino ay konektado sa puntong iyon upang tandaan ang pagkakaiba ng boltahe. Kailangan nating malaman ang signal na inilalabas ng RF receiver kaya nakakonekta namin ang ADC pin A0 upang mabasa ang signal mula sa RF receiver. Ang output ng buong circuit ay ibinibigay ng buzzer kaya, ang positibong pin ng buzzer ay konektado sa pin 12 ng Arduino at ang negatibong pin ay konektado sa lupa ng ultrasonic sensor.

Hindi namin isinama ang RF transmitter sa aming circuit diagram dahil isasama namin ito sa hardware nang hiwalay. Tuwing gumagamit kami ng 433 MHz superheterodyne transmitter at receiver kailangan namin ng isang microcontroller upang mai-interface ang mga ito sa na ngunit sa proyektong ito kailangan namin ang tanging transmitter upang magpadala ng mga signal sa receiver kaya, nakakonekta namin ang data pin ng transmiter sa Vcc. Ang data pin ng tatanggap ay ipinapasa sa pamamagitan ng RC filter at pagkatapos ay konektado sa data pin A0 ng Arduino ayon sa pagkakabanggit. Susubukan naming pindutin ang pindutan ng itulak na inilagay sa transmiter nang paulit-ulit at kapag pinindot ang pindutan ang tatanggap ay magbibigay ng anumang pare-pareho na halaga bilang output.

RF Transmitter

Hakbang 5: Pag-iipon ng Hardware

Tulad ng pinatakbo namin ang simulation hindi kami ay nasa isang posisyon upang gumawa ng isang prototype. Habang ang paghihinang ng mga sangkap sa Perf board ay nagbibigay ng espesyal na pansin patungo sa mga pin ng Arduino Nano. tiyaking hindi magkadikit ang mga pin, kung hindi man, maaaring mapinsala ang Arduino. Maghanap ng isang stick sa iyong bahay at ilakip ang circuit na binubuo ng Arduino at RF receiver dito. Maaari mong gamitin ang Hot glue gun para sa paglakip ng circuit sa stick at mas mahusay na maglagay ng ilang pandikit sa positibo at negatibong mga terminal upang ang mga wire ng suplay ng kuryente ay maaaring hindi matanggal kung ang patpat ay mahigpit na hinahampas sa lupa.

Circuit Assemble On Hardware (Larawan sa Kagandahang-loob: Circuit Digest)

Hakbang 6: Pagsisimula Sa Arduino

Kung hindi ka pamilyar sa Arduino IDE dati, huwag mag-alala dahil sa ibaba, maaari mong makita ang mga malinaw na hakbang ng nasusunog na code sa board ng microcontroller gamit ang Arduino IDE. Maaari mong i-download ang pinakabagong bersyon ng Arduino IDE mula sa dito at sundin ang mga hakbang sa ibaba:

  1. Kapag ang Arduino board ay konektado sa iyong PC, buksan ang 'Control panel' at mag-click sa 'Hardware at Sound'. Pagkatapos mag-click sa 'Mga Device at Printer'. Hanapin ang pangalan ng port kung saan nakakonekta ang iyong Arduino board. Sa aking kaso ito ay 'COM14' ngunit maaaring magkakaiba ito sa iyong PC.

    Paghanap ng Port

  2. Mag-click sa menu ng Tool. at itakda ang board sa Arduino Nano mula sa drop-down na menu.

    Setting Board

  3. Sa parehong menu ng Tool, itakda ang port sa numero ng port na iyong naobserbahan dati sa Mga devices at Printers .

    Setting Port

  4. Sa parehong menu ng Tool, Itakda ang Proseso sa ATmega328P (Old Bootloader).

    Nagpoproseso

  5. I-download ang code na nakalakip sa ibaba at i-paste ito sa iyong Arduino IDE. Mag-click sa i-upload pindutan upang sunugin ang code sa iyong board ng microcontroller.

    I-upload

Upang mai-download ang code, pindutin dito.

Hakbang 7: Pag-unawa sa Code

Ang code ay mahusay na nagkomento at nagpapaliwanag ng sarili. Ngunit gayon pa man, ipinaliwanag sa ibaba:

  1. Sa pagsisimula ng code, ang lahat ng mga pin ng Arduino Nano board na nakakonekta sa ultrasonic sensor at RF module, ay naisasimula.
Const int trigger = 3; // Trigger pin ng 1st Sensor const int echo = 2; // Echo pin ng 1st Sensor const int Buzz = 13; // Pin upang ikonekta ang buzzer const int Remote = A0; Const int Light = A1; matagal na_taken; int dist; int Signal; int Intens; int magkakatulad_count;

2. walang bisa ang pag-setup () ay isang pagpapaandar na ginagamit upang maitakda ang ginamit na mga pin, bilang INPUT at OUTPUT. Ang Baud Rate ay tinukoy sa pagpapaandar na ito. Ang Baud Rate ay ang bilis ng komunikasyon kung saan nakikipag-usap ang board ng microcontroller sa mga sensor na isinama dito.

void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (gatilyo, OUTPUT); pinMode (echo, INPUT); }

3. Ngayon, lilikha kami ng isang pagpapaandar na makakalkula ang distansya.

void calcul_distance (int trigger, int echo) {digitalWrite (trigger, LOW); delayMicroseconds (2); digitalWrite (gatilyo, TAAS); delayMicroseconds (10); digitalWrite (trigger, LOW); time_taken = pulseIn (echo, HIGH); dist = time_taken * 0.034 / 2; kung (dist> 300) dist = 300; }

Apat. walang bisa loop () ay isang pagpapaandar na paulit-ulit na tumatakbo sa isang ikot. Sa pagpapaandar na ito, sasabihin namin sa board ng microcontroller kung paano at anong mga pagpapatakbo ang isasagawa. Sa pangunahing loop, babasahin namin ang data ng mga sensor. Dito, una, ang gatilyo pin ay nakatakda upang magpadala ng isang senyas na maaaring makita ng echo pin. Ang ilang mga kundisyon ay inilalapat upang tunog ng buzzer tuloy-tuloy kung ang isang bagay ay napansin sa isang partikular na distansya. Ang buzzer ay beep na may isang maliit na pahinga sa loob nito kung nakita nito ang madilim at magbubunyi ng isang bahagyang mas malaki na break kung nakakita ito ng maliwanag.

void loop () {// infinite loop calcul_dialis (gatilyo, echo); Signal = analogRead (Remote); Intens = analogRead (Light); // Suriin kung ang Remote ay pinindot int temp = analogRead (Remote); katulad_count = 0; habang (Signal == temp) {Signal = analogRead (Remote); katulad_count ++; } // Kung remote na pinindot kung (katulad_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--) antala (10); digitalWrite (Buzz, LOW); para sa (int i = dist; i> 0; i--) pagkaantala (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('Similar_count= '); //Serial.println(similar_count); //Serial.print('Intens= '); //Serial.println(Intens); }

Hakbang 8: Pagsubok

Tulad ng naintindihan namin ang code, na-upload ito sa microcontroller at binuo din ang hardware, oras na upang subukan ang aming proyekto. Bago ang pagsubok siguraduhin na ang mga koneksyon ay ginawa nang tama at i-verify ang pagpapatuloy ng circuit gamit ang Digital Multi Meter. Para sa pag-on ON na ang parehong mga circuit ay gumagamit ng 9V na baterya. Maglagay ng isang bagay sa ibabaw kung saan ikaw ay sumusubok at ilipat ang sensor ng Ultrasonic sa harap nito at napansin na ang tunog ng buzzer ay tumataas habang ang sensor ay gumagalaw palapit sa bagay. Mayroong dalawang mga posibilidad kung ang LDR ay natatakpan ng madilim o kung sumusubok ka sa sikat ng araw ang buzzer ay magsisimulang mag-beep. Kung ang pindutan ng push ay pinindot sa transmiter ng RF ang buzzer ay tatambog sa mahabang panahon. Kung ang buzzer ay patuloy na umiikot sa mahabang panahon nangangahulugan ito na ang alarma ay maling na-trigger. Kung nahaharap ka sa ganitong uri ng error buksan ang serial monitor ng Arduino IDE at suriin ang mga parameter na nagdudulot ng gayong uri ng problema.

Pagsubok Ang Hardware (Larawan sa Kagandahang-loob: Circuit Digest)

Iyon ang pinakasimpleng paraan upang makagawa ng isang matalinong stick para sa mga bulag na gumagamit ng Arduino. Sundin ang lahat ng mga hakbang na nabanggit sa itaas at pagkatapos ng matagumpay na pagsubok ng proyekto maghanap para sa isang hindi pinagana at tawagan sa kanya ang proyektong ito upang gawing mas madali ang kanyang buhay.