Hvordan laver man en smart stick til blinde mennesker, der bruger Arduino?

Jeg tror stærkt på et citat fra Helen Keller, der siger ”Det eneste, der er værre end at være blind, er at have syn, men ikke have noget syn”. Teknologien kan hjælpe handicappede med at leve et normalt liv som andre mennesker gør. Alle kender den indiske pige ved navn Arunima Sinha der mistede sit ben i en togulykke, og hun måtte gå på protesebenene resten af ​​sit liv. Efter et uheld besluttede hun at bestige Mount Everest på proteseben og dermed banede den nyeste teknologi for hende for at nå sin drøm.



Smart Stick

Teknologien kan faktisk neutralisere menneskelig handicap; med dette i tankerne, lad os bruge kraften i Arduino og enkle sensorer til at bygge en blind mandspind det kunne være en livredder for synshandicappede. En ultralydssensor vil blive installeret i en pind, der vil registrere en persons afstand fra enhver forhindring, en LDR til at føle lysforhold og en RF-fjernbetjening, som den blinde mand kunne bruge til at finde sin pind eksternt. Alle anvisninger vil blive givet til den blinde mand gennem en summer. Vi kan bruge en vibratormotor i stedet for summer og gå meget mere frem ved hjælp af vores kreativitet.



Smart Stick til blinde mennesker (billede med tilladelse: Circuit Digest)



Hvordan bruges Arduino til at designe kredsløbet?

Nu som vi kender projektets abstrakt, lad os gå videre og samle forskellige oplysninger for at begynde at arbejde. Vi vil først oprette en liste over komponenterne, derefter studere dem kort og derefter samle alle komponenterne for at skabe et fungerende system.



Trin 1: Nødvendige komponenter (hardware)

  • LDR
  • Summer
  • LED
  • Supperhetrodine sender og modtager
  • Modstand
  • Trykknap
  • Veroboard
  • 9V batteri
  • Digitalt multimeter
  • Limpistol

Trin 2: Brugte komponenter (software)

  • Proteus 8 Professional (kan downloades fra Her )

Efter download af Proteus 8 Professional skal du designe kredsløbet på den. Vi har inkluderet softwaresimuleringer her, så det kan være praktisk for begyndere at designe kredsløbet og foretage passende forbindelser på hardwaren.

Trin 3: Studere komponenterne

Nu da vi har lavet en liste over alle de komponenter, som vi skal bruge i dette projekt. Lad os gå et skridt videre og gennemgå en kort undersøgelse af alle hovedkomponenterne.

  1. Arduino Nano: Arduino nano er et mikrocontrollerkort, der bruges til at styre eller udføre forskellige opgaver i et kredsløb. Vi brænder en C-kode på Arduino Nano for at fortælle mikrocontrolbrættet, hvordan og hvilke operationer der skal udføres. Arduino Nano har nøjagtig den samme funktionalitet som Arduino Uno, men i en ganske lille størrelse. Mikrocontrolleren på Arduino Nano-kortet er ATmega328p.

    Arduino Nano



  2. Ultralydssensor HC-SR04: HC-SR04-kort er en ultralydssensor, der bruges til at bestemme afstanden mellem to objekter. Den består af en sender og en modtager. Senderen konverterer det elektriske signal til et ultralydssignal, og modtageren konverterer ultralydssignalet tilbage til det elektriske signal. Når senderen sender en ultralydsbølge, reflekteres den efter kollision med en bestemt genstand. Afstanden beregnes ved hjælp af den tid, det tager ultralydssignal at gå fra senderen og komme tilbage til modtageren.

    Ultralydssensor

  3. 433mhz RF-sender og modtager: Det fungerer på en bestemt frekvens på 433MHz. Der er adskillige andre radiofrekvente enheder tilgængelige på markedet, og sammenlignet med dem afhænger ydeevnen af ​​et RF-modul af flere faktorer, som når vi øger transmitterens effekt, samles der en stor kommunikationsafstand. Det vil medføre et stort elektrisk afløb på transmitterenheden, hvilket medfører en kortere levetid for de batteridrevne enheder. Hvis vi bruger denne enhed med højere transmitteret effekt, vil enheden skabe interferens med andre RF-enheder.

    RF-sender og modtager

  4. 7805 Spændingsregulator: Spændingsregulatorer har betydelig betydning i elektriske kredsløb. Selvom der er udsving i indgangsspændingen, giver denne spændingsregulator en konstant udgangsspænding. Vi kan finde anvendelsen af ​​7805 IC i de fleste projekter. Navnet 7805 betyder to betydninger, '78' betyder, at det er en positiv spændingsregulator, og '05' betyder, at det giver 5V som output. Så vores spændingsregulator vil give en + 5V udgangsspænding. Denne IC kan håndtere strøm omkring 1,5 A. En køleplade anbefales til projekter, der bruger mere strøm. For eksempel, hvis indgangsspændingen er 12V, og du bruger 1A, så (12-5) * 1 = 7W. Disse 7 watt vil blive spredt som varme.

    Strøm regulator

Trin 4: Samling af kredsløbet

Vi bliver nødt til at designe to kredsløb til dette projekt. Det første kredsløb placeres et passende sted i en blind mands pind, og det andet vil være et RF-sender kredsløb, og det vil blive brugt til at finde ud af hovedkredsløbet. Før vi designer kredsløbet på Proteus, skal vi medtage proteusbiblioteket for RF-modtageren i softwaren. Du kan downloade biblioteket fra Her og efter download af biblioteket skal du åbne Bibliotek mappe og kopi MODULO_RF.LIB fil, og indsæt den i biblioteksmappen i Proteus. Hvis du ikke finder biblioteksmappen, skal du klikke på (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). Når du har gjort dette, skal du åbne MODELS-mappen og kopiere RX.MDF og indsætte den i proteus MODELS-mappen. Hvis du ikke finder modelmappen, skal du klikke på (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional MODELS).

Kredsløbsdiagram (billede med tilladelse: Circuit Digest)

Mikrocontrolleren, der vil blive brugt til at kontrollere alle sensorerne i kredsløbet, er Arduino Nano. Strømforsyningen, der bruges til at arbejde på kredsløbet, er 9V batteri, og denne 9V spænding sænkes ned til 5V ved hjælp af en 7805 Strøm regulator. Det kan ses i kredsløbet, at Ultralydssensor er drevet af spændingsregulatorens Vout. Udløser- og ekko-stifterne på sensoren er forbundet med henholdsvis pin 3 og pin 2 i Arduino. Det Lysafhængig modstand (LDR) er tilsluttet potentiometeret med værdi 10k og Analog til digital konverteringsstift A1 af Arduino er forbundet til dette punkt for at bemærke spændingsforskellen. Vi har brug for at kende signalet, der udsendes af RF-modtager, så vi har tilsluttet ADC-pin A0 for at læse signalet fra RF-modtager. Outputtet fra hele kredsløbet er givet af summer så er den positive pin i summeren forbundet med pin 12 i Arduino, og den negative pin er forbundet til jorden af ​​ultralydssensoren.

Vi har ikke medtaget RF-senderen i vores kredsløbsdiagram, fordi vi samler den separat på hardware. Når vi bruger 433 MHz superheterodyne sender og modtager, har vi brug for en mikrocontroller til at interface dem med det, men i dette projekt har vi brug for den eneste sender, der sender signaler til modtageren, så vi har forbundet datapinnen på senderen med Vcc. Modtagerens datapind føres gennem RC-filteret og forbindes derefter til henholdsvis Arduinos datapind A0. Vi trykker gentagne gange på trykknappen på senderen, og når der trykkes på knappen, vil modtageren give en konstant værdi som output.

RF-sender

Trin 5: Samling af hardwaren

Da vi har kørt simuleringen nej, er vi i stand til at lave en prototype. Mens du lodder komponenterne på Perf-kortet, skal du være særlig opmærksom på stifterne på Arduino Nano. Sørg for, at stifterne ikke rører hinanden, ellers kan Arduino blive beskadiget. Find en pind hjemme og fastgør kredsløbet bestående af Arduino og RF-modtager på den. Du kan bruge varm limpistol til at fastgøre kredsløbet på pinden, og det er bedre at lægge lidt lim på de positive og negative terminaler, så ledningerne til strømforsyningen muligvis ikke løsnes, hvis pinden stryges fast på jorden.

Kredsløb monteret på hardware (Billede med tilladelse: Circuit Digest)

Trin 6: Kom godt i gang med Arduino

Hvis du ikke er bekendt med Arduino IDE før, skal du ikke bekymre dig, for nedenfor kan du se klare trin til at brænde kode på mikrocontrollerkortet ved hjælp af Arduino IDE. Du kan downloade den nyeste version af Arduino IDE fra her og følg nedenstående trin:

  1. Når Arduino-kortet er tilsluttet din pc, skal du åbne 'Kontrolpanel' og klikke på 'Hardware og lyd'. Klik derefter på “Enheder og printere”. Find navnet på den port, som dit Arduino-kort er tilsluttet. I mit tilfælde er det 'COM14', men det kan være anderledes på din pc.

    Find port

  2. Klik på værktøjsmenuen. og sæt tavlen til Arduino Nano fra rullemenuen.

    Indstillingsbræt

  3. I den samme værktøjsmenu skal du indstille porten til det portnummer, du tidligere har observeret i Enheder og printere .

    Indstilling af port

  4. I samme værktøjsmenu skal du indstille processoren til ATmega328P (gammel bootloader).

    Processor

  5. Download koden nedenfor, og indsæt den i din Arduino IDE. Klik på upload knap for at brænde koden på dit mikrocontrollerkort.

    Upload

For at downloade koden, Klik her.

Trin 7: Forstå koden

Koden er godt kommenteret og selvforklarende. Men alligevel forklares det nedenfor:

  1. I starten af ​​koden initialiseres alle benene på Arduino Nano-kortet, der er forbundet til ultralydssensoren og RF-modulet.
const int trigger = 3; // Trigger pin of 1st Sensor const int echo = 2; // Echo pin af 1. sensor const int Buzz = 13; // Pin for at forbinde summer const int Remote = A0; const int Lys = A1; lang tid_taget; int dist; int Signal; int Intens; int similar_count;

2. ugyldig opsætning () er en funktion, der bruges til at indstille alle benyttede ben, som INDGANG og PRODUKTION. Baudrate er defineret i denne funktion. Baudrate er den kommunikationshastighed, hvormed mikrocontrolkortet kommunikerer med de sensorer, der er integreret med det.

ugyldig opsætning () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (trigger, OUTPUT); pinMode (ekko, INPUT); }

3. Nu opretter vi en funktion, der beregner afstanden.

ugyldig beregningsafstand (int-udløser, int-ekko) {digitalWrite (udløser, LAV); forsinkelseMikrosekunder (2); digitalWrite (trigger, HIGH); forsinkelseMikrosekunder (10); digitalWrite (trigger, LOW); time_taken = pulseIn (ekko, HIGH); dist = time_taken * 0,034 / 2; hvis (dist> 300) dist = 300; }

Fire. ugyldig sløjfe () er en funktion, der kører gentagne gange i en cyklus. I denne funktion fortæller vi mikrocontroller-kortet, hvordan og hvilke operationer der skal udføres. I hovedsløjfen læser vi sensorernes data. Her er først udløsertappen indstillet til at sende et signal, som detekteres af ekkotappen. Nogle betingelser gælder for at lyde summeren kontinuerligt, hvis et objekt registreres i en bestemt afstand. Summeren bipper med en lille pause i den, hvis den registrerer mørke, og bipper med en lidt større pause, hvis den registrerer lys.

ugyldig sløjfe () {// uendelig sløjfe beregne afstand (trigger, ekko); Signal = analogRead (Remote); Intens = analogLæs (lys); // Kontroller, om Remote trykkes int temp = analogRead (Remote); lignende_antal = 0; mens (Signal == temp) {Signal = analogRead (Remote); lignende_tælling ++; } // Hvis fjernbetjening trykkes hvis (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--) forsinkelse (10); digitalWrite (Buzz, LOW); for (int i = dist; i> 0; i--) forsinkelse (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('Similar_count= '); //Serial.println(similar_count); //Serial.print('Intens= '); //Serial.println(Intens); }

Trin 8: Test

Da vi har forstået koden, uploadet den til mikrocontrolleren og samlet hardwareen, er det nu tid til at teste vores projekt. Før test skal du sikre dig, at forbindelserne er foretaget korrekt, og kontrollere kontinuiteten i kredsløbet ved hjælp af det digitale multimeter. Til drejning begge kredsløb bruger 9V batteri. Placer en genstand på overfladen, hvor du tester, og flyt ultralydssensoren foran den, og det bemærkes, at lyden fra summeren øges, når sensoren bevæger sig tættere på objektet. Der er to muligheder, hvis LDR er dækket af mørke, eller hvis du tester i sollyset, vil summeren begynde at bippe. Hvis der trykkes på trykknappen på RF-senderen, bipper summeren i lang tid. Hvis summeren fortsætter med at bippe i lang tid, betyder det, at alarmen falsk udløses. Hvis du står over for denne form for fejl, skal du åbne den serielle skærm på Arduino IDE og kontrollere de parametre, der forårsager en sådan slags problemer.

Afprøvning af hardware (billedhilsen: kredsløbsfordøjelse)

Det var den enkleste måde at lave en smart stick til blinde mennesker, der bruger Arduino. Følg alle ovennævnte trin, og efter vellykket test af projektet skal du kigge efter en handicappet person og tilbyde ham dette projekt for at gøre hans / hendes liv lettere.