Cum se face un stick inteligent pentru persoanele nevăzătoare care folosesc Arduino?

Sunt un credincios puternic într-un citat de Helen Keller care afirmă „Singurul lucru mai rău decât a fi orb este să ai vedere, dar să nu ai viziune”. Tehnologia ar putea ajuta persoanele cu dizabilități să ducă o viață normală, așa cum fac alte ființe umane. Toată lumea o știe pe fata indiană numită Arunima Sinha care și-a pierdut piciorul într-un accident de tren și a trebuit să meargă pe picioarele protetice pentru tot restul vieții. După accident, a decis să urce Muntele Everest pe picioare protetice și, prin urmare, cea mai recentă tehnologie i-a pregătit calea pentru a-și atinge visul.



Smart Stick

Tehnologia poate neutraliza într-adevăr handicapul uman; având în vedere acest lucru să ne folosim de puterea lui Arduino și senzori simpli pentru a construi un stick pentru orbi care ar putea fi o modalitate de salvare a persoanelor cu deficiențe de vedere. Un senzor cu ultrasunete va fi instalat într-un stick care va simți distanța unei persoane de orice obstacol, un LDR pentru a detecta condițiile de iluminare și o telecomandă RF pe care orbul ar putea să o folosească pentru a-și localiza de la distanță stick-ul. Toate indicațiile vor fi date orbului printr-un buzzer. Putem folosi un motor vibrator în locul lui Buzzer și putem avansa mult mai mult folosind creativitatea noastră.



Smart Stick pentru nevăzători (prin amabilitatea imaginii: Circuit Digest)



Cum se folosește Arduino în proiectarea circuitului?

Acum, pe măsură ce cunoaștem rezumatul proiectului, să mergem mai departe și să adunăm diferite informații pentru a începe să lucrăm. Mai întâi vom face o listă a componentelor, apoi le vom studia pe scurt, apoi vom asambla toate componentele pentru a crea un sistem de lucru.



Pasul 1: Componente necesare (hardware)

  • LDR
  • Buzzer
  • LED
  • Transmițător și receptor Supperhetrodine
  • Rezistor
  • Apasa butonul
  • Veroboard
  • Baterie de 9V
  • Multimetru digital
  • Pistol de lipit

Pasul 2: Componente utilizate (software)

  • Proteus 8 Professional (poate fi descărcat de pe Aici )

După descărcarea Proteus 8 Professional, proiectați circuitul de pe acesta. Am inclus aici simulări software, astfel încât să fie convenabil pentru începători să proiecteze circuitul și să facă conexiuni adecvate pe hardware.

Pasul 3: Studierea componentelor

Acum, pe măsură ce am făcut o listă cu toate componentele pe care le vom folosi în acest proiect. Să facem un pas mai departe și să parcurgem un scurt studiu al tuturor componentelor principale.

  1. Arduino Nano: Arduino nano este o placă de microcontroler care este utilizată pentru a controla sau realiza diferite sarcini într-un circuit. Ardem un Codul C pe Arduino Nano pentru a spune plăcii de microcontroler cum și ce operațiuni să efectueze. Arduino Nano are exact aceeași funcționalitate ca Arduino Uno, dar într-o dimensiune destul de mică. Microcontrolerul de pe placa Arduino Nano este ATmega328p.

    Arduino Nano



  2. Senzor cu ultrasunete HC-SR04: Placa HC-SR04 este un senzor cu ultrasunete care este utilizat pentru a determina distanța dintre două obiecte. Se compune dintr-un emițător și un receptor. Transmițătorul convertește semnalul electric într-un semnal ultrasonic, iar receptorul convertește semnalul ultrasonic înapoi în semnal electric. Când emițătorul trimite o undă ultrasonică, acesta se reflectă după ce se ciocnește cu un anumit obiect. Distanța este calculată utilizând timpul, pe care semnalul ultrasonic îl ia pentru a trece de la transmițător și a reveni la receptor.

    Senzor cu ultrasunete

  3. Transmițător și receptor RF de 433 MHz: Funcționează pe o frecvență specifică de 433MHz. Există mai multe alte dispozitive de frecvență radio disponibile pe piață și, în comparație cu acestea, performanța unui modul RF va depinde de mai mulți factori, cum ar fi atunci când creștem puterea emițătorului, o distanță mare de comunicație va fi colectată. Acesta va provoca o scurgere ridicată a energiei electrice pe dispozitivul transmițător, ceea ce determină o durată de viață mai scurtă a dispozitivelor alimentate cu baterii. Dacă folosim acest dispozitiv la o putere transmisă mai mare, atunci dispozitivul va crea interferențe cu alte dispozitive RF.

    Transmițător și receptor RF

  4. 7805 Regulator de tensiune: Regulatoarele de tensiune au o importanță semnificativă în circuitele electrice. Chiar dacă există fluctuații ale tensiunii de intrare, acest regulator de tensiune asigură o tensiune de ieșire constantă. Aplicația 7805 IC o putem găsi în majoritatea proiectelor. Numele 7805 semnifică două semnificații, „78” înseamnă că este un regulator de tensiune pozitiv și „05” înseamnă că furnizează 5V ca ieșire. Deci regulatorul nostru de tensiune va oferi o tensiune de ieșire de + 5V. Acest IC poate gestiona curentul în jur de 1,5A. Un radiator este recomandat pentru proiectele care consumă mai mult curent. De exemplu, dacă tensiunea de intrare este de 12V și consumați 1A, atunci (12-5) * 1 = 7W. Aceste 7 wați vor fi disipate sub formă de căldură.

    Regulator de voltaj

Pasul 4: Asamblarea circuitului

Va trebui să proiectăm două circuite pentru acest proiect. Primul circuit va fi plasat într-un loc potrivit într-un băț al orbului, iar al doilea va fi un Transmițător RF circuit și va fi folosit pentru a afla circuitul principal. Înainte de a proiecta circuitul pe Proteus, trebuie să includem biblioteca software proteus a receptorului RF în software. Puteți descărca biblioteca de pe Aici și după descărcarea bibliotecii deschideți fișierul Bibliotecă dosar și copiere MODULO_RF.LIB fișierul și lipiți-l în folderul Biblioteca Proteus. În cazul în care nu găsiți folderul bibliotecii, faceți clic pe (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). După ce ați terminat, deschideți folderul MODELS și copiați RX.MDF și lipiți-l în folderul MODELS proteus. În cazul în care nu găsiți folderul modele, faceți clic pe (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional MODELS).

Diagrama circuitului (Amabilitatea imaginii: Circuit Digest)

Microcontrolerul care va fi utilizat pentru a controla toți senzorii din circuit este Arduino Nano. Sursa de alimentare utilizată pentru funcționarea circuitului este bateria de 9V și această tensiune de 9V este scăzută la 5V folosind un 7805 Regulator de voltaj. Se poate vedea în circuit că Senzor cu ultrasunete este alimentat de Vout al regulatorului de tensiune. Pinii de declanșare și ecou ai senzorului sunt conectați la pinul 3 și respectiv la pinul 2 al Arduino. Rezistență dependentă de lumină (LDR) este conectat la potențiometrul cu valoarea 10k și Analogic la Digital pinul de conversie A1 al Arduino este conectat la acel punct pentru a observa diferența de tensiune. Trebuie să cunoaștem semnalul emis de receptorul RF, așa că am conectat pinul ADC A0 pentru a citi semnalul de la receptorul RF. Ieșirea întregului circuit este dată de buzzer deci, pinul pozitiv al soneriei este conectat la pinul 12 al Arduino, iar pinul negativ este conectat la solul senzorului ultrasonic.

Nu am inclus transmițătorul RF în schema noastră de circuite, deoarece îl vom asambla separat pe hardware. Ori de câte ori folosim transmițător și receptor superheterodin de 433 MHz, avem nevoie de un microcontroler pentru a le interfața cu acesta, dar în acest proiect avem nevoie de singurul transmițător care să trimită semnale către receptor, așa că am conectat pinul de date al transmițătorului cu Vcc. Pinul de date al receptorului este trecut prin filtrul RC și apoi conectat la pinul de date A0 al Arduino, respectiv. Vom apăsa în mod repetat butonul apăsat pe transmițător și când butonul este apăsat, receptorul va da orice valoare constantă ca ieșire.

Transmițător RF

Pasul 5: Asamblarea hardware-ului

Pe măsură ce am rulat simularea, suntem în măsură să realizăm un prototip. În timp ce lipiți componentele de pe placa Perf, acordați o atenție deosebită pinilor Arduino Nano. asigurați-vă că știfturile nu se ating unul de altul, altfel Arduino ar putea fi deteriorat. Găsiți un stick la domiciliu și atașați circuitul care cuprinde Arduino și receptor RF pe el. Puteți folosi pistolul cu adeziv fierbinte pentru atașarea circuitului pe stick și este mai bine să puneți adeziv pe bornele pozitive și negative, astfel încât firele sursei de alimentare să nu se detașeze dacă bățul este mângâiat ferm pe sol.

Circuit asamblat pe hardware (Amabilitatea imaginii: Circuit Digest)

Pasul 6: Noțiuni introductive despre Arduino

Dacă nu sunteți familiarizați cu Arduino IDE înainte, nu vă faceți griji, deoarece mai jos puteți vedea pași clari de ardere a codului pe placa microcontrolerului utilizând Arduino IDE. Puteți descărca cea mai recentă versiune a Arduino IDE de la aici și urmați pașii de mai jos:

  1. Când placa Arduino este conectată la computer, deschideți „Panoul de control” și faceți clic pe „Hardware și sunet”. Apoi faceți clic pe „Dispozitive și imprimante”. Găsiți numele portului la care este conectată placa Arduino. În cazul meu, este „COM14”, dar poate fi diferit pe computer.

    Găsirea portului

  2. Faceți clic pe meniul Instrument. și setați tabla la Arduino Nano din meniul derulant.

    Placă de setare

  3. În același meniu Tool, setați portul la numărul de port pe care l-ați observat anterior în Dispozitive și imprimante .

    Setarea portului

  4. În același meniu Instrument, setați procesorul la ATmega328P (Old Bootloader).

    Procesor

  5. Descărcați codul atașat mai jos și lipiți-l în ID-ul dvs. Arduino. Faceți clic pe încărcați butonul pentru a arde codul de pe placa de microcontroler.

    Încărcare

Pentru a descărca codul, Click aici.

Pasul 7: Înțelegerea codului

Codul este bine comentat și se explică de la sine. Dar totuși, este explicat mai jos:

  1. La începutul codului, sunt inițializați toți pinii plăcii Arduino Nano care sunt conectați la senzorul cu ultrasunete și modulul RF.
const int trigger = 3; // Trigger pin of 1st Sensor const int echo = 2; // Pinul de ecou al primului senzor const int Buzz = 13; // Pin pentru a conecta buzzer const int Remote = A0; const int Light = A1; mult timp_ luat; int dist; int Semnal; int Intens; int similar_count;

2. configurare nulă () este o funcție care este utilizată pentru a seta toate pinii utilizați, ca INTRARE și IEȘIRE. Rata Baud este definită în această funcție. Baud Rate este viteza de comunicare prin care placa microcontrolerului comunică cu senzorii integrați cu aceasta.

void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (trigger, OUTPUT); pinMode (ecou, ​​INPUT); }

3. Acum, vom crea o funcție care va calcula distanța.

void calculate_distance (int trigger, int echo) {digitalWrite (trigger, LOW); delayMicroseconds (2); digitalWrite (trigger, HIGH); delayMicroseconds (10); digitalWrite (declanșator, LOW); time_taken = pulseIn (ecou, ​​HIGH); dist = time_taken * 0,034 / 2; dacă (dist> 300) dist = 300; }

Patru. bucla nulă () este o funcție care rulează în mod repetat într-un ciclu. În această funcție, îi spunem plăcii de microcontroler cum și ce operațiuni să efectueze. În bucla principală, vom citi datele senzorilor. Aici, mai întâi, pinul de declanșare este setat pentru a trimite un semnal care va fi detectat de pinul de ecou. Unele condiții sunt aplicate pentru a suna în permanență buzzerul dacă un obiect este detectat la o anumită distanță. Buzzerul va emite un sunet cu o mică pauză dacă detectează întunericul și va emite un sunet ușor mai mare dacă detectează luminozitatea.

void loop () {// bucla infinită calculate_distance (declanșator, ecou); Semnal = analogRead (Remote); Intens = analogRead (Light); // Verificați dacă Remote este apăsat int temp = analogRead (Remote); similar_count = 0; while (Signal == temp) {Signal = analogRead (Remote); similar_count ++; } // Dacă este apăsat de la distanță if (similar_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--) întârziere (10); digitalWrite (Buzz, LOW); for (int i = dist; i> 0; i--) întârziere (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('Similar_count= '); //Serial.println(similar_count); //Serial.print('Intens= '); //Serial.println(Intens); }

Pasul 8: Testare

După cum am înțeles codul, l-am încărcat pe microcontroler și am asamblat și hardware-ul, acum este timpul să ne testăm proiectul. Înainte de testare, asigurați-vă că conexiunile sunt realizate corect și verificați continuitatea circuitului utilizând multimetrul digital. Pentru întoarcere PE ambele circuite utilizează baterie de 9V. Așezați un obiect pe suprafața pe care testați și mutați senzorul cu ultrasunete în fața acestuia și se observă că sunetul sonorului crește pe măsură ce senzorul se apropie de obiect. Există două posibilități dacă LDR este acoperit de întuneric sau dacă testați în lumina soarelui, buzzer-ul va începe să emită un sunet. Dacă este apăsat butonul de pe transmițătorul RF, buzzerul va emite un sunet îndelungat. Dacă buzzerul continuă să bipe mult timp, înseamnă că alarma este declanșată în mod fals. Dacă vă confruntați cu acest tip de eroare, deschideți monitorul serial al IDE-ului Arduino și verificați parametrii care cauzează acest tip de problemă.

Testarea hardware-ului (Amabilitatea imaginii: Circuit Digest)

Acesta a fost cel mai simplu mod de a face un stick inteligent pentru persoanele nevăzătoare care folosesc Arduino. Urmați toți pașii menționați mai sus și după testarea cu succes a proiectului căutați o persoană cu handicap și oferiți-i acest proiect pentru a-i ușura viața.