Hvordan lage en smart pinne for blinde mennesker som bruker Arduino?

Jeg er sterk troende på et sitat fra Helen Keller som sier 'Det eneste som er verre enn å være blind er å ha syn, men ikke syn'. Teknologien kan hjelpe funksjonshemmede til å leve et normalt liv som andre mennesker gjør. Alle kjenner den indiske jenta som heter Arunima Sinha som mistet beinet i en togulykke, og hun måtte gå på protesebenene resten av livet. Etter et uhell bestemte hun seg for å klatre Mount Everest på proteseben, og den nyeste teknologien banet vei for henne å oppnå drømmen.



Smart Stick

Teknologien kan faktisk nøytralisere menneskelig funksjonshemning; med dette i tankene la oss bruke kraften i Arduino og enkle sensorer for å bygge en blind manns pinne det kan være en livredder for synshemmede. En ultralydssensor vil bli installert i en pinne som vil føle avstanden til en person fra ethvert hinder, en LDR for å oppdage lysforhold og en RF-fjernkontroll som den blinde mannen kan bruke for å finne pinnen sin eksternt. Alle instruksjonene vil bli gitt til den blinde mannen gjennom en summer. Vi kan bruke en vibratormotor i stedet for summer og gå videre mye mer ved hjelp av vår kreativitet.



Smart Stick for blinde mennesker (bilde med tillatelse: Circuit Digest)



Hvordan bruke Arduino til å designe kretsen?

Nå som vi vet sammendraget av prosjektet, la oss gå videre og samle forskjellig informasjon for å begynne å jobbe. Vi vil først lage en liste over komponentene, deretter studere dem kort og deretter sette sammen alle komponentene for å lage et fungerende system.



Trinn 1: Nødvendige komponenter (maskinvare)

  • LDR
  • Summer
  • LED
  • Supperhetrodine sender og mottaker
  • Motstand
  • Trykknapp
  • Veroboard
  • 9V batteri
  • Digitalt multimeter
  • Limpistol

Trinn 2: Brukte komponenter (programvare)

  • Proteus 8 Professional (Kan lastes ned fra Her )

Etter å ha lastet ned Proteus 8 Professional, design kretsen på den. Vi har tatt med programvaresimuleringer her, slik at det kan være praktisk for nybegynnere å designe kretsen og lage passende tilkoblinger på maskinvaren.

Trinn 3: Studere komponentene

Nå som vi har laget en liste over alle komponentene vi skal bruke i dette prosjektet. La oss gå et skritt videre og gå gjennom en kort studie av alle hovedkomponentene.

  1. Arduino Nano: Arduino nano er et mikrokontrollerkort som brukes til å kontrollere eller utføre forskjellige oppgaver i en krets. Vi brenner en C-kode på Arduino Nano for å fortelle mikrokontrollerkortet hvordan og hvilke operasjoner som skal utføres. Arduino Nano har nøyaktig samme funksjonalitet som Arduino Uno, men i ganske liten størrelse. Mikrokontrolleren på Arduino Nano-kortet er ATmega328p.

    Arduino Nano



  2. Ultralydssensor HC-SR04: HC-SR04-kortet er en ultralydssensor som brukes til å bestemme avstanden mellom to objekter. Den består av en sender og en mottaker. Senderen konverterer det elektriske signalet til et ultralydssignal og mottakeren konverterer ultralydsignalet tilbake til det elektriske signalet. Når senderen sender en ultralydbølge, reflekteres den etter kollisjon med en bestemt gjenstand. Avstanden beregnes ved å bruke tiden det tar for ultralydsignalet å gå fra senderen og komme tilbake til mottakeren.

    Ultralydssensor

  3. 433mHz RF-sender og mottaker: Den fungerer på en bestemt frekvens på 433MHz. Det er flere andre radiofrekvente enheter tilgjengelig i markedet, og i forhold til dem vil ytelsen til en RF-modul avhenge av flere faktorer, som når vi øker senderens kraft, vil en stor kommunikasjonsavstand bli samlet. Det vil føre til et høyt strømforbruk på senderen, noe som fører til kortere levetid for batteridrevne enheter. Hvis vi bruker denne enheten med høyere overført effekt, vil enheten skape forstyrrelser med andre RF-enheter.

    RF-sender og mottaker

  4. 7805 Spenningsregulator: Spenningsregulatorer har betydelig betydning i elektriske kretser. Selv om det er svingninger i inngangsspenningen, gir denne spenningsregulatoren en konstant utgangsspenning. Vi finner anvendelsen av 7805 IC i de fleste prosjekter. Navnet 7805 betyr to betydninger, '78' betyr at det er en positiv spenningsregulator og '05' betyr at det gir 5V som utgang. Så vår spenningsregulator vil gi en + 5V utgangsspenning. Denne IC kan håndtere strøm rundt 1,5 A. En kjøleribbe anbefales for prosjekter som bruker mer strøm. For eksempel, hvis inngangsspenningen er 12V og du bruker 1A, så (12-5) * 1 = 7W. Disse 7 wattene blir spredt som varme.

    Spenningsregulator

Trinn 4: Montering av kretsen

Vi må designe to kretser for dette prosjektet. Den første kretsen vil bli plassert på et passende sted i en blind manns pinne, og den andre vil være en RF-sender kretsen, og den vil bli brukt til å finne ut hovedkretsen. Før vi designer kretsen på Proteus, må vi inkludere proteusbiblioteket til RF-mottakeren i programvaren. Du kan laste ned biblioteket fra Her og etter å ha lastet ned biblioteket, åpner du Bibliotek mappe og kopiere MODULO_RF.LIB filen og lim den inn i Biblioteksmappen til Proteus. Hvis du ikke finner bibliotekmappen, klikker du på (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). Når du har gjort dette, åpner du MODELLER-mappen og kopierer RX.MDF og limer den inn i proteus MODELLER-mappen. Hvis du ikke finner modellmappen, klikker du på (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional MODELS).

Kretsdiagram (bilde med tillatelse: Circuit Digest)

Mikrokontrolleren som skal brukes til å kontrollere alle sensorene i kretsen er Arduino Nano. Strømforsyningen som brukes til å arbeide i kretsen er 9V batteri, og denne 9V spenningen faller ned til 5V ved hjelp av en 7805 Spenningsregulator. Det kan sees i kretsen at Ultralydssensor drives av spenningsregulatorens Vout. Utløser- og ekkopinnene til sensoren er koblet til henholdsvis pin 3 og pin 2 på Arduino. De Lysavhengig motstand (LDR) er koblet til potensiometeret med verdi 10k og Analog til digital konverteringsstift A1 av Arduino er koblet til det punktet for å merke spenningsforskjellen. Vi trenger å kjenne signalet som sendes ut av RF-mottakeren, så vi har koblet ADC-pin A0 for å lese signalet fra RF-mottakeren. Effekten av hele kretsen er gitt av summer så er den positive pinnen på summeren koblet til pinnen 12 på Arduino og den negative pinnen er koblet til bakken til ultralydssensoren.

Vi har ikke tatt med RF-senderen i kretsskjemaet vårt fordi vi vil montere den separat på maskinvaren. Når vi bruker 433 MHz superheterodynesender og mottaker, trenger vi en mikrokontroller for å koble dem sammen med det, men i dette prosjektet trenger vi den eneste senderen som sender signaler til mottakeren, så vi har koblet senderen til datapinnen med Vcc. Datamottakeren til mottakeren blir ført gjennom RC-filteret og deretter koblet til datapinnen A0 til henholdsvis Arduino. Vi vil trykke på trykknappen på senderen gjentatte ganger, og når du trykker på knappen vil mottakeren gi en konstant verdi som utgang.

RF-sender

Trinn 5: Montere maskinvaren

Ettersom vi har kjørt simuleringen nei, er vi i stand til å lage en prototype. Mens du lodder komponentene på Perf-kortet, må du være spesielt oppmerksom på pinnene til Arduino Nano. sørg for at pinnene ikke berører hverandre, ellers kan Arduino bli skadet. Finn en pinne hjemme og fest kretsen som består av Arduino og RF-mottaker på den. Du kan bruke varm limpistol for å feste kretsen på pinnen, og det er bedre å sette litt lim på de positive og negative terminalene, slik at ledningene til strømforsyningen ikke kan løsnes hvis pinnen strykes fast på bakken.

Krets montert på maskinvare (bilde med tillatelse: Circuit Digest)

Trinn 6: Komme i gang med Arduino

Hvis du ikke er kjent med Arduino IDE før, ikke bekymre deg, for nedenfor kan du se klare trinn for å brenne kode på mikrokontrollerkortet ved hjelp av Arduino IDE. Du kan laste ned den nyeste versjonen av Arduino IDE fra her og følg trinnene nedenfor:

  1. Når Arduino-kortet er koblet til PC-en, åpner du 'Kontrollpanel' og klikker på 'Maskinvare og lyd'. Klikk deretter på 'Enheter og skrivere'. Finn navnet på porten som Arduino-kortet ditt er koblet til. I mitt tilfelle er det 'COM14', men det kan være annerledes på din PC.

    Finne havn

  2. Klikk på Verktøy-menyen. og sett styret til Arduino Nano fra rullegardinmenyen.

    Sette styret

  3. I samme Verktøy-meny, sett porten til portnummeret du observerte før i Enheter og skrivere .

    Innstilling av port

  4. I samme verktøymeny, sett prosessoren til ATmega328P (gammel bootloader).

    Prosessor

  5. Last ned koden som er vedlagt nedenfor, og lim den inn i Arduino IDE. Klikk på laste opp -knappen for å brenne koden på mikrokontrollerkortet.

    Laste opp

For å laste ned koden, Klikk her.

Trinn 7: Forstå koden

Koden er godt kommentert og selvforklarende. Men fortsatt er det forklart nedenfor:

  1. Ved starten av koden initialiseres alle pinnene på Arduino Nano-kortet som er koblet til ultralydssensoren og RF-modulen.
const int trigger = 3; // Trigger pin of 1st Sensor const int echo = 2; // Ekko pin av 1. sensor const int Buzz = 13; // Pin for å koble til summer const int Remote = A0; const int Lys = A1; lang tid_ tatt; int dist; int Signal; int Intens; int similar_count;

2. ugyldig oppsett () er en funksjon som brukes til å stille inn alle pinnene som brukes, som INNGANG og PRODUKSJON. Baudrate er definert i denne funksjonen. Baud Rate er kommunikasjonshastigheten som mikrokontrollerkortet kommuniserer med sensorene integrert med.

ugyldig oppsett () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (trigger, OUTPUT); pinMode (ekko, INNGANG); }

3. Nå skal vi lage en funksjon som beregner avstanden.

ugyldig beregningsavstand (int utløser, int ekko) {digitalWrite (utløser, LAV); delayMicroseconds (2); digitalWrite (trigger, HIGH); delayMicroseconds (10); digitalWrite (utløser, LAV); time_taken = pulseIn (ekko, HIGH); dist = time_taken * 0,034 / 2; hvis (dist> 300) dist = 300; }

Fire. ugyldig sløyfe () er en funksjon som kjører gjentatte ganger i en syklus. I denne funksjonen forteller vi mikrokontrollerkortet hvordan og hvilke operasjoner som skal utføres. I hovedsløyfen vil vi lese dataene til sensorene. Her er først utløserpinnen satt til å sende et signal som vil bli oppdaget av ekkopinnen. Noen betingelser er brukt for å høre lyden kontinuerlig hvis et objekt oppdages på en bestemt avstand. Summeren piper med et lite brudd i den hvis den oppdager mørke og piper med litt større brudd hvis den oppdager lys.

ugyldig sløyfe () {// uendelig sløyfe beregne avstand (utløser, ekko); Signal = analogRead (ekstern); Intens = analogRead (Light); // Sjekk om Remote trykkes int temp = analogRead (Remote); similar_count = 0; mens (Signal == temp) {Signal = analogRead (Remote); similar_count ++; } // Hvis fjernkontrollen trykkes på hvis (tilsvarende_tall<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); }

Trinn 8: Testing

Som vi har forstått koden, lastet den opp på mikrokontrolleren og satt sammen maskinvaren, er det nå på tide å teste prosjektet vårt. Før testing må du sørge for at tilkoblingene er riktig og kontrollere kretsens kontinuitet ved hjelp av Digital Multi Meter. For å snu begge kretsene bruker 9V batteri. Plasser en gjenstand på overflaten du tester på, og flytt ultralydsensoren foran den, og det blir lagt merke til at lyden fra summeren øker når sensoren beveger seg nærmere objektet. Det er to muligheter hvis LDR er dekket av mørke, eller hvis du tester i sollyset, vil summeren begynne å pippe. Hvis du trykker på trykknappen på RF-senderen, vil alarmen pippe lenge. Hvis summeren piper i lang tid, betyr det at alarmen utløses feilaktig. Hvis du står overfor denne typen feil, åpner du den serielle skjermen på Arduino IDE og ser etter parametrene som forårsaker et slikt problem.

Testing av maskinvaren (bilde med tillatelse: Circuit Digest)

Det var den enkleste måten å lage en smart pinne for blinde mennesker som bruker Arduino. Følg alle trinnene som er nevnt ovenfor, og etter vellykket testing av prosjektet, se etter en deaktivert person og gi ham dette prosjektet for å gjøre livet lettere.