Kuidas Arduino abil pimedatele inimestele nutipulka teha?

Olen veendunud Helen Kelleri tsitaadis, milles öeldakse 'Ainus asi, mis on pimedusest halvem, on nägemine, kuid nägemuse puudumine'. See tehnoloogia võib aidata puuetega inimestel elada tavapärast elu nagu teised inimesed. Kõik teavad nimega India tüdrukut Arunima Sinha kes kaotas rongiõnnetuses jala ja ta pidi terve elu proteesijalgadel kõndima. Pärast õnnetust otsustas ta ronida Mount Everesti proteesijalgadele ja seega võimaldas uusim tehnoloogia teda unistuse saavutamiseks.



Nutipulk

Tehnoloogia suudab inimese puuet tõepoolest neutraliseerida; seda silmas pidades kasutagem Arduino ja lihtsad andurid pimeda inimese pulga ehitamiseks see võiks olla nägemispuudega inimeste elupäästja. Pulgale paigaldatakse ultraheliandur, mis tunnetab inimese kaugust igast takistusest, LDR valgustingimuste tajumiseks ja raadiosageduse kaugjuhtimispult, mida pime mees saaks oma pulga kaugotsimiseks kasutada. Kõik juhised antakse pimedale läbi summeri. Me võime kasutada vibraatorit summeri asemel ja oma loovuse abil palju rohkem edasi liikuda.



Nutipulk pimedatele inimestele (Pildi viisakus: vooluringi kokkuvõte)



Kuidas kasutada Arduino vooluringi kujundamisel?

Nüüd, kui teame projekti kokkuvõtet, liigume edasi ja kogume töö alustamiseks erinevat teavet. Kõigepealt koostame komponentide loendi, seejärel uurime neid lühidalt, seejärel paneme kõik komponendid kokku toimiva süsteemi loomiseks.



1. samm: vajalikud komponendid (riistvara)

  • LDR
  • Summeri
  • LED
  • Supperhetrodiini saatja ja vastuvõtja
  • Takisti
  • Vajutage nuppu
  • Veroboard
  • 9 V aku
  • Digitaalne multimeeter
  • Liimipüstol

2. samm: kasutatud komponendid (tarkvara)

  • Proteus 8 Professional (saab alla laadida saidilt Siin )

Pärast Proteus 8 Professionali allalaadimist kujundage sellele vooluring. Oleme siia lisanud tarkvarasimulatsioonid, et algajatel oleks mugav vooluringi kujundada ja riistvaral asjakohaseid ühendusi luua.

3. samm: komponentide uurimine

Nüüd, kui oleme koostanud loendi kõigist komponentidest, mida selles projektis kasutame. Liigume sammu edasi ja tutvume kõigi peamiste komponentide lühikese uurimisega.

  1. Arduino Nano: Arduino nano on mikrokontrolleriplaat, mida kasutatakse skeemis erinevate ülesannete juhtimiseks või täitmiseks. Me põletame a C kood Arduino nanos, et öelda mikrokontrolleri plaadile, kuidas ja milliseid toiminguid teha. Arduino Nano on täpselt sama funktsionaalsusega kui Arduino Uno, kuid üsna väikeses suuruses. Arduino Nano plaadil olev mikrokontroller on ATmega328p.

    Arduino Nano



  2. Ultraheliandur HC-SR04: HC-SR04 plaat on ultraheliandur, mida kasutatakse kahe objekti vahelise kauguse määramiseks. See koosneb saatjast ja vastuvõtjast. Saatja muundab elektrisignaali ultrahelisignaaliks ja vastuvõtja teisendab ultrahelisignaali tagasi elektrisignaaliks. Kui saatja saadab ultrahelilaine, peegeldub see pärast kokkupõrget kindla objektiga. Vahemaa arvutamiseks kasutatakse aega, mis ultraheli signaalil kulub saatjalt ja jõuab vastuvõtjani tagasi.

    Ultraheliandur

  3. 433 MHz RF saatja ja vastuvõtja: See töötab kindlal sagedusel 433MHz. Turul on saadaval veel mitmeid raadiosagedusseadmeid ja nendega võrreldes sõltub raadiosagedusmooduli jõudlus mitmest tegurist, näiteks kui suurendame saatja võimsust, kogutakse suur sidevahemaa. See põhjustab saatjaseadmes suure elektritarbimise, mis põhjustab akutoitega seadmete lühema tööea. Kui kasutame seda seadet suurema ülekandevõimsusega, tekitab seade häireid teiste raadiosagedusseadmetega.

    RF saatja ja vastuvõtja

  4. 7805 Pinge regulaator: Pinge regulaatoritel on elektriahelates märkimisväärne tähtsus. Isegi kui sisendpinge kõikub, tagab see pinge regulaator pideva väljundpinge. 7805 IC rakenduse leiame enamikust projektidest. Nimi 7805 tähistab kahte tähendust, “78” tähendab, et see on positiivse pinge regulaator ja “05” tähendab, et see annab väljundiks 5 V. Nii et meie pinge regulaator annab + 5V väljundpinge. See IC saab hakkama vooluga umbes 1,5 A. Radiaatorit soovitatakse projektidele, mis tarbivad rohkem voolu. Näiteks kui sisendpinge on 12V ja tarbite 1A, siis (12-5) * 1 = 7W. See 7 vatti hajub kuumusena.

    Pinge regulaator

4. samm: vooluringi kokkupanek

Selle projekti jaoks peame välja töötama kaks vooluahelat. Esimene ring paigutatakse pimedate pulgale sobivasse kohta ja teine ​​on RF-saatja vooluringi ja seda kasutatakse peavoolu väljaselgitamiseks. Enne Proteuse vooluahela kujundamist peame tarkvarasse lisama RF-vastuvõtja proteusiteegi. Teeki saate alla laadida siit Siin ja pärast raamatukogu allalaadimist avage Raamatukogu kaust ja koopia MODULO_RF.LIB fail ja kleepige see Proteuse kausta Library. Kui teegi kausta ei leia, klõpsake käsul (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). Kui olete selle avatud kausta MODELS teinud, kopeerige RX.MDF ja kleepige see kausta proteus MODELS. Kui te ei leia mudelite kausta, klõpsake nuppu (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional MODELS).

Vooluahela skeem (pildi nõusolek: vooluringi kokkuvõte)

Mikrokontroller, mida kasutatakse kõigi ahela andurite juhtimiseks, on Arduino Nano. Vooluahela tööks on 9 V patarei ja see 9 V pinge langetatakse 5 V-ni, kasutades a 7805 Pinge regulaator. Vooluringis on näha, et Ultraheliandur töötab toitepinge regulaatori Vout abil. Anduri päästik ja kajatihvtid on ühendatud vastavalt Arduino tihvtidega 3 ja 2. The Valgusest sõltuv takisti (LDR) on ühendatud potentsiomeetriga väärtusega 10k ja Analoog-digitaalne Arduino konverteerimisnõel A1 on selle punktiga ühendatud pinge erinevuse märkimiseks. Peame teadma RF-vastuvõtja poolt väljastatavat signaali, nii et oleme ühendanud ADC-kontakti A0, et lugeda signaali RF-vastuvõtjast. Kogu vooluahela väljundi annab helisignaal Niisiis, summeri positiivne tihvt on ühendatud Arduino tihvtiga 12 ja negatiivne tihvt on ühendatud ultrahelianduri maapinnaga.

Me ei ole raadiosaatjad oma skeemile lisanud, kuna paneme selle riistvarale eraldi kokku. Alati, kui kasutame 433 MHz superheterodüün-saatjat ja -vastuvõtjat, vajame nende ühendamiseks mikrokontrollerit, kuid selles projektis vajame ainsat saatjat vastuvõtjale signaalide saatmiseks, seega oleme saatja andmesideme ühendanud Vcc-ga. Vastuvõtja andme tihvt juhitakse läbi RC-filtri ja ühendatakse seejärel vastavalt Arduino andmepoldiga A0. Vajutame saatjale asetatud nuppu korduvalt ja kui nuppu vajutatakse, annab vastuvõtja väljundina püsiva väärtuse.

RF-saatja

5. samm: riistvara kokkupanek

Kuna oleme simulatsiooni käivitanud, on meil võimalik prototüüp teha. Komponentide jootmisel pardal Perf pöörake erilist tähelepanu Arduino Nano tihvtidele. veenduge, et tihvtid üksteist ei puudutaks, vastasel juhul võib Arduino kahjustada saada. Leidke oma koju pulk ja kinnitage sellele Arduinost ja RF-vastuvõtjast koosnev vooluring. Vooluahela kinnitamiseks pulga külge saate kasutada kuumliimipüstolit ja parem on positiivsele ja negatiivsele klemmile veidi liimi panna, nii et pulgaga kindlalt maapinnale surudes ei pruugi toiteallika juhtmed lahti tulla.

Riistvaral kokkupandud vooluring (pilt: Courtesy: Circuit Digest)

6. samm: Arduinoga alustamine

Kui te pole Arduino IDE-ga varem tuttav, ärge muretsege, sest allpool näete Arduino IDE abil mikrokontrolleri plaadil koodi kirjutamise selgeid samme. Arduino IDE uusima versiooni saate alla laadida siit siin ja järgige alltoodud samme:

  1. Kui Arduino tahvel on arvutiga ühendatud, avage juhtpaneel ja klõpsake nuppu „Riistvara ja heli”. Seejärel klõpsake nuppu „Seadmed ja printerid”. Leidke selle sadama nimi, millega teie Arduino tahvel on ühendatud. Minu puhul on see COM14, kuid see võib teie arvutis olla erinev.

    Sadama leidmine

  2. Klõpsake menüüd Tööriist. ja seadke tahvel asendisse Arduino Nano rippmenüüst.

    Laua määramine

  3. Määrake samas menüüs Tööriist portiks pordinumber, mida olete enne Seadmed ja printerid .

    Pordi seadistamine

  4. Valige samas menüüs Tööriist protsessor ATmega328P (vana alglaadur).

    Protsessor

  5. Laadige alla lisatud kood ja kleepige see oma Arduino IDE-sse. Klõpsake nuppu Laadi üles nupp mikrokontrolleri plaadil oleva koodi kirjutamiseks.

    Laadi üles

Koodi allalaadimiseks kliki siia.

7. samm: koodeksist aru saamine

Kood on hästi kommenteeritud ja iseenesestmõistetav. Kuid siiski selgitatakse seda allpool:

  1. Koodi alguses lähtestatakse kõik Arduino Nano plaadi tihvtid, mis on ühendatud ultrahelianduri ja RF-mooduliga.
const int päästik = 3; // 1. anduri käivitustihvt int int echo = 2; // 1. anduri kaja tihvt int int Buzz = 13; // Kinnitage summeri ühendamiseks const int Remote = A0; const int Valgus = A1; kaua aega võetud; int dist; int signaal; int Intens; int sarnane_arv;

2. kehtetu seadistamine () on funktsioon, mida kasutatakse kõigi nööpnõelte seadistamiseks SISEND ja VÄLJUND. Selles funktsioonis on määratletud edastuskiirus. Baudi kiirus on sidekiirus, mille abil mikrokontrolleri plaat suhtleb temaga integreeritud anduritega.

void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (päästik, OUTPUT); pinMode (kaja, INPUT); }

3. Nüüd loome funktsiooni, mis arvutab kauguse.

void arvuta_tugevus (int päästik, int kaja) {digitalWrite (päästik, LOW); viivitus mikrosekundit (2); digitalWrite (päästik, HIGH); viivitus mikrosekundit (10); digitalWrite (päästik, LOW); time_taken = pulseIn (kaja, HIGH); dist = võetud aeg * 0,034 / 2; kui (dist> 300) dist = 300; }

Neli. void loop () on funktsioon, mis töötab tsüklis korduvalt. Selles funktsioonis ütleme mikrokontrolleri plaadile, kuidas ja milliseid toiminguid teha. Peasilmus loeme andurite andmeid. Kõigepealt seatakse päästik tihvt saatma signaali, mille kajanõel tuvastab. Teatud tingimusi rakendatakse summeri pidevaks helisemiseks, kui objekt tuvastatakse kindlal kaugusel. Helisignaal annab väikese katkestusega piiksu, kui see tuvastab pimeduse, ja piiksub veidi suurema katkestusega, kui tuvastab heleda.

void loop () {// lõpmatu silmus arvuta kaugus (päästik, kaja); Signaal = analogRead (kaugjuhtimispult); Intens = analoogRead (valgus); // Kontrollige, kas kaugjuhtimispulti on vajutatud int temp = analogRead (kaugjuhtimispult); sarnane_arv = 0; while (Signal == temp) {Signal = analogRead (kaugjuhtimispult); sarnane_arv ++; } // Kui vajutatakse kaugjuhtimispuldil if (sarnane_arv<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) viivitus (10); digitalWrite (Buzz, LOW); (int i = dist; i> 0; i-) viivituse (10) jaoks; } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('Sarnane_arv = '); //Serial.println(similar_count); //Serial.print('Intens= '); //Serial.println(Intens); }

8. samm: testimine

Kuna oleme koodist aru saanud, mikrokontrollerisse üles laadinud ja riistvara kokku pannud, on nüüd aeg oma projekti testida. Enne katsetamist veenduge, et ühendused on õigesti ühendatud, ja kontrollige ahela järjepidevust digitaalse multimeetri abil. Pööramise eest PEAL mõlemad ahelad kasutavad 9 V akut. Asetage objekt pinnale, millel katsetate, ja liigutage selle ees ultraheliandurit ning märgatakse, et anduri objektile lähemale liikudes tõuseb summeri heli. Kui LDR on pimedas või kui katsetate päikesevalguses, on kaks võimalust. Kui RF-saatjal vajutatakse nuppu, piiksub helisignaal pikka aega. Kui helisignaal jätkub pikka aega, tähendab see, et alarm on valesti käivitatud. Sellise tõrke korral avage Arduino IDE seerianäidik ja kontrollige parameetreid, mis sellist probleemi põhjustavad.

Riistvara testimine (Pildi nõusolek: vooluringi kokkuvõte)

See oli lihtsaim viis Arduino abil pimedatele inimestele nutipulga valmistamiseks. Järgige kõiki ülalnimetatud samme ja pärast projekti edukat katsetamist otsige puudega inimene ja pakkuge talle seda elu tema elu lihtsustamiseks.