Kako narediti pametno palico za slepe, ki uporabljajo Arduino?

Močno verjamem v citat Helen Keller, ki pravi 'Edino, kar je slabše kot biti slep, je vid, a brez vida.' Tehnologija bi invalidom lahko pomagala živeti normalno življenje kot druga človeška bitja. Vsi poznajo indijanko z imenom Arunima Sinha ki je v železniški nesreči izgubila nogo in je morala vse življenje hoditi po protetičnih nogah. Po nesreči se je odločila, da se bo na Everest povzpela na protetičnih nogah, zato ji je najnovejša tehnologija utrla pot do uresničitve sanj.



Smart Stick

Tehnologija lahko resnično nevtralizira človeško invalidnost; s tem v mislih izkoristimo moč Arduino in preprosti senzorji za izdelavo palice slepega to bi lahko bilo rešilno sredstvo za slabovidne osebe. V palico bo nameščen ultrazvočni senzor, ki bo zaznal razdaljo osebe od katere koli ovire, LDR za zaznavanje svetlobnih pogojev in RF daljinec, s katerim bi slepec lahko oddaljeno lociral palico. Vsa navodila bodo slepemu posredovana prek zvočnega signala. Namesto zvočnega signala lahko uporabimo vibrator in s svojo kreativnostjo še veliko napredujemo.



Smart Stick za slepe (slika z dovoljenjem slike: Circuit Digest)



Kako uporabiti Arduino pri oblikovanju vezja?

Zdaj, ko poznamo povzetek projekta, pojdimo naprej in zberite različne informacije, da začnemo delovati. Najprej bomo sestavili seznam komponent, nato jih na kratko preučili, nato pa vse komponente sestavili v delujoč sistem.



1. korak: potrebne komponente (strojna oprema)

  • LDR
  • Zvočni signal
  • LED
  • Oddajnik in sprejemnik supperhetrodina
  • Upor
  • Pritisni gumb
  • Veroboard
  • 9V baterija
  • Digitalni multimeter
  • Pištola za lepilo

2. korak: Uporabljene komponente (programska oprema)

  • Proteus 8 Professional (Lahko ga prenesete z Tukaj )

Po prenosu Proteus 8 Professional na njem oblikujte vezje. Sem smo vključili programske simulacije, tako da je za začetnike morda primerno načrtovati vezje in vzpostaviti ustrezne povezave na strojni opremi.

3. korak: Preučevanje komponent

Zdaj, ko smo sestavili seznam vseh komponent, ki jih bomo uporabili v tem projektu. Pomaknimo se še korak naprej in si oglejmo kratko preučitev vseh glavnih komponent.

  1. Arduino Nano: Arduino nano je mikrokrmilna plošča, ki se uporablja za nadzor ali izvajanje različnih nalog v vezju. Zažgemo a Koda C na Arduino Nano, da mikrokrmilniku pove, kako in katere operacije je treba izvesti. Arduino Nano ima popolnoma enako funkcionalnost kot Arduino Uno, vendar v precej majhni velikosti. Mikrokrmilnik na plošči Arduino Nano je ATmega328p.

    Arduino Nano



  2. Ultrazvočni senzor HC-SR04: Plošča HC-SR04 je ultrazvočni senzor, ki se uporablja za določanje razdalje med dvema predmetoma. Sestavljen je iz oddajnika in sprejemnika. Oddajnik pretvori električni signal v ultrazvočni signal, sprejemnik pa ultrazvočni signal nazaj v električni signal. Ko oddajnik pošlje ultrazvočni val, se ta po trčenju z določenim predmetom odbije. Razdalja se izračuna z uporabo časa, ki ga ultrazvočni signal potrebuje, da gre od oddajnika in se vrne v sprejemnik.

    Ultrazvočni senzor

  3. RF oddajnik in sprejemnik 433 MHz: Deluje na določeni frekvenci 433MHz. Na trgu je na voljo več drugih radijskih frekvenc in v primerjavi z njimi bo delovanje RF modula odvisno od več dejavnikov, na primer, ko povečamo moč oddajnika, se bo zbrala velika komunikacijska razdalja. To bo povzročilo velik odtok električne energije na oddajni napravi, kar bo povzročilo krajšo življenjsko dobo naprav na baterije. Če to napravo uporabljamo pri večji oddani moči, bo naprava povzročila motnje v drugih RF napravah.

    RF oddajnik in sprejemnik

  4. 7805 Napetostni regulator: Regulatorji napetosti imajo velik pomen v električnih tokokrogih. Tudi če vhodna napetost niha, ta regulator napetosti zagotavlja konstantno izhodno napetost. V večini projektov lahko najdemo uporabo 7805 IC. Ime 7805 pomeni dva pomena, '78' pomeni, da je regulator pozitivne napetosti, '05' pa pomeni, da zagotavlja 5V kot izhod. Tako bo naš regulator napetosti zagotavljal + 5V izhodno napetost. Ta IC lahko prenaša tok približno 1,5A. Hladilnik je priporočljiv za projekte, ki porabijo več toka. Če je na primer vhodna napetost 12V in porabite 1A, je (12-5) * 1 = 7W. Teh 7 vatov se bo odvajalo kot toplota.

    Regulator napetosti

4. korak: Sestavljanje vezja

Za ta projekt bomo morali oblikovati dva vezja. Prvo vezje bo postavljeno na primerno mesto v palici slepca, drugo pa bo RF oddajnik vezje in bo uporabljeno za iskanje glavnega vezja. Pred načrtovanjem vezja na Proteusu moramo v programsko opremo vključiti proteusovo knjižnico RF sprejemnika. Knjižnico lahko prenesete iz Tukaj in po prenosu knjižnice odprite Knjižnica mapo in kopirajte MODULO_RF.LIB datoteko in jo prilepite v knjižnico v knjižnici Proteus. Če mape knjižnice ne najdete, kliknite (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). Ko to storite, odprite mapo MODELS in kopirajte RX.MDF ter jo prilepite v mapo proteus MODELS. Če mape mode ne najdete, kliknite (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional MODELS).

Circuit Diagram (Vljudnost slike: Circuit Digest)

Mikrokrmilnik, ki se bo uporabljal za nadzor vseh senzorjev v vezju, je Arduino Nano. Napajalnik, ki se uporablja za delovanje vezja, je 9V baterija in ta napetost 9V pade na 5V z uporabo a 7805 Regulator napetosti. V vezju je razvidno, da Ultrazvočni senzor napaja Vout regulatorja napetosti. Zatiči sprožilca in odmeva senzorja so priključeni na zatič 3 in zatič 2 Arduina. The Upor odvisen od svetlobe (LDR) je povezan s potenciometrom vrednosti 10k in Analogno digitalnemu na to točko je priključen pretvorniški zatič A1 Arduina, da ugotovi napetostno razliko. Vedeti moramo signal, ki ga oddaja RF sprejemnik, zato smo priklopili ADC pin A0 za branje signala iz RF sprejemnika. Izhod celotnega vezja je podan z zvočni signal tako je pozitivni zatič brenčača povezan z zatičem 12 Arduina, negativni zatič pa z maso ultrazvočnega senzorja.

RF-oddajnika nismo vključili v naš diagram vezja, ker ga bomo sestavili na strojno opremo posebej. Kadarkoli uporabljamo 433 MHz superheterodinski oddajnik in sprejemnik, potrebujemo mikrokrmilnik, da jih povežemo s tem, toda v tem projektu potrebujemo edini oddajnik, ki pošilja signale sprejemniku, zato smo podatkovni zatič oddajnika povezali z Vcc. Podatkovni zatič sprejemnika se prenaša skozi RC filter in nato priključi na podatkovni zatič A0 Arduina. Večkrat bomo pritisnili gumb, nameščen na oddajniku, in ko bo gumb pritisnjen, bo sprejemnik kot izhodno vrednost dal katero koli konstantno vrednost.

RF oddajnik

5. korak: Sestavljanje strojne opreme

Ko smo izvedli simulacijo ne, smo sposobni izdelati prototip. Med spajkanjem komponent na plošči Perf bodite posebno pozorni na nožice Arduino Nano. pazite, da se nožice ne dotikajo drugače, sicer se lahko poškoduje Arduino. Poiščite palico doma in nanjo pritrdite vezje, ki ga sestavljata Arduino in RF sprejemnik. Za pritrditev vezja na palico lahko uporabite pištolo za vroče lepilo in bolje je, da na pozitivne in negativne sponke nalepite nekaj lepila, tako da se žice napajalnika ne bodo ločile, če palico trdno pritisnete na tla.

Vezje, sestavljeno na strojni opremi (Vljudnost slike: Circuit Digest)

6. korak: Uvod v Arduino

Če z Arduino IDE prej niste seznanjeni, ne skrbite, ker spodaj vidite jasne korake zapisovanja kode na plošči mikrokrmilnika z uporabo Arduino IDE. Najnovejšo različico Arduino IDE lahko prenesete s spletnega mesta tukaj in sledite spodnjim korakom:

  1. Ko je plošča Arduino povezana z računalnikom, odprite »Nadzorna plošča« in kliknite »Strojna oprema in zvok«. Nato kliknite »Naprave in tiskalniki«. Poiščite ime vrat, na katera je priključena vaša plošča Arduino. V mojem primeru je 'COM14', vendar je v vašem računalniku morda drugačen.

    Iskanje pristanišča

  2. Kliknite meni Orodje. in nastavite ploščo na Arduino Nano iz spustnega menija.

    Nastavitvena plošča

  3. V istem meniju Orodja nastavite vrata na številko vrat, ki ste jo opazili prej v Naprave in tiskalniki .

    Nastavitev vrat

  4. V istem meniju orodja nastavite procesor na ATmega328P (stari zagonski nalagalnik).

    Procesor

  5. Prenesite spodnjo kodo in jo prilepite v svoj Arduino IDE. Kliknite na naložite za zapisovanje kode na ploščo mikrokrmilnika.

    Naloži

Če želite prenesti kodo, Klikni tukaj.

7. korak: Razumevanje kodeksa

Koda je dobro komentirana in samoumevna. Ampak vseeno je razloženo spodaj:

  1. Na začetku kode se inicializirajo vsi zatiči plošče Arduino Nano, ki so povezani z ultrazvočnim senzorjem in RF modulom.
const int sprožilec = 3; // Sprožilni zatič 1. senzorja const int echo = 2; // Odmevni zatič 1. senzorja const int Buzz = 13; // Pripni za povezavo brenčača const int Remote = A0; const int Light = A1; dolgo zajeto; int dist; int Signal; int Intens; int podoben_števek;

2. void setup () je funkcija, ki se uporablja za nastavitev vseh uporabljenih zatičev, kot VHOD in IZHOD. V tej funkciji je definirana hitrost prenosa. Hitrost prenosa je hitrost komunikacije, s katero plošča mikrokrmilnika komunicira z vgrajenimi senzorji.

void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (sprožilec, IZHOD); pinMode (echo, INPUT); }

3. Zdaj bomo ustvarili funkcijo, ki bo izračunala razdaljo.

praznina izračuna_dalja (int sprožilec, int odmev) {digitalWrite (sprožilec, LOW); delayMicroseconds (2); digitalWrite (sprožilec, VISOKO); delayMicroseconds (10); digitalWrite (sprožilec, LOW); time_taken = pulseIn (echo, HIGH); dist = zaseženi čas * 0,034 / 2; če je (dist> 300) dist = 300; }

Štiri. void loop () je funkcija, ki se ponavlja v ciklu. V tej funkciji mikrokrmilniški plošči povemo, kako in katere postopke je treba izvesti. V glavni zanki bomo prebrali podatke senzorjev. Tu je najprej nastavljen sprožilni zatič, ki pošilja signal, ki ga zazna echo pin. Nekateri pogoji veljajo za neprekinjeno zvočno opozorilo, če je predmet zaznan na določeni razdalji. Če zazna temo, se oglasi zvočni signal z majhnim premorom, če zazna svetlobo, pa z malo večjim zvokom.

void loop () {// neskončna zanka izračuna_dalja (sprožilec, odmev); Signal = analogRead (na daljavo); Intens = analogRead (Light); // Preveri, če je pritisnjen daljinski upravljalnik int temp = analogRead (Remote); podoben_števek = 0; while (Signal == temp) {Signal = analogRead (Remote); podoben_števek ++; } // Če je pritisnjen na daljavo, če (podoben_števek<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--) zamuda (10); digitalWrite (Buzz, LOW); za (int i = dist; i> 0; i--) zamudo (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('S similar_count= '); //Serial.println(s similar_count); //Serial.print('Intens= '); //Serial.println(Intens); }

8. korak: Testiranje

Ker smo razumeli kodo, jo naložili na mikrokrmilnik in sestavili tudi strojno opremo, je zdaj čas, da preizkusimo naš projekt. Pred preskusom se prepričajte, da so povezave pravilno izvedene, in preverite neprekinjenost vezja z uporabo digitalnega merilnika. Za obračanje VKLOPLJENO oba vezja uporabljata 9V baterijo. Predmet položite na površino, na kateri preizkušate, in premaknite ultrazvočni senzor pred seboj in opazite, da se zvok zvočnega signala poveča, ko se senzor približa predmetu. Obstajata dve možnosti, če je LDR pokrit s temo ali če preskušate na sončni svetlobi, bo zvočni signal začel piskati. Če pritisnete gumb na RF-oddajniku, bo zvočni signal še dolgo piskal. Če zvočni signal še dolgo oglaša, to pomeni, da se alarm napačno sproži. Če se soočate s tovrstno napako, odprite serijski monitor Arduino IDE in preverite parametre, ki povzročajo takšne težave.

Testiranje strojne opreme (Vljudnost slike: Circuit Digest)

To je bil najpreprostejši način za izdelavo pametne palice za slepe z uporabo Arduina. Sledite vsem zgoraj omenjenim korakom in po uspešnem preizkušanju projekta poiščite invalida in mu ponudite ta projekt, da si olajša življenje.