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 for å oppnå drømmen.
Teknologien kan faktisk nøytralisere menneskelig funksjonshemning; med dette i tankene la oss bruke kraften i Arduino og enkle sensorer for å bygge en blindmannspinne 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 til å 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 å bruke kreativiteten vår.
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)
Trinn 2: Komponenter som brukes (programvare)
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.
- 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.
- Ultralydssensor HC-SR04: HC-SR04-kort 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.
- 433mHz RF-sender og mottaker: Den fungerer på en spesifikk 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å transmitteren, 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.
- 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.
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 krets, og den vil bli brukt til å finne ut hovedkretsen. Før vi utformer kretsen på Proteus, må vi inkludere proteusbiblioteket til RF-mottakeren i programvaren. Du kan laste ned biblioteket herfra 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).
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øseren og ekkopinnene til sensoren er koblet til henholdsvis pinne 3 og pinne 2 på Arduino. De Lysavhengig motstand (LDR) er koblet til potensiometeret med verdi 10k og Analog til Digital konvertering pin 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. Utgangen fra hele kretsen er gitt av summer så er den positive pinnen til 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 på maskinvare separat. 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. Datapinnen til mottakeren blir ført gjennom RC-filteret og deretter koblet til datapinnen A0 til henholdsvis Arduino. Vi vil trykke trykknappen på senderen gjentatte ganger, og når du trykker på knappen vil mottakeren gi en konstant verdi som utgang.
Trinn 5: Montering av 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 varmlimpistol 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.
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 herfra og følge trinnene nedenfor:
- 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.
- Klikk på Verktøy-menyen. og sett styret til Arduino Nano fra rullegardinmenyen.
- I samme Verktøy-meny, sett porten til portnummeret du observerte før i Enheter og skrivere.
- I samme verktøymeny, sett prosessoren til ATmega328P (gammel bootloader).
- Last ned koden som er vedlagt nedenfor, og lim den inn i Arduino IDE. Klikk på laste opp -knappen for å brenne koden på mikrokontrollerkortet.
Klikk her for å laste ned koden.
Trinn 7: Forstå koden
Koden er godt kommentert og selvforklarende. Men fortsatt er det forklart nedenfor:
- 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; // Ekkopinne av 1. sensor const int Buzz = 13; // Pin for å koble 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 vil beregne 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; }
4.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 forhold 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 (similar_count <100) {Serial.print (similar_count); Serial.println ("Fjernpresset"); digitalWrite (Buzz, HIGH); forsinkelse (3000); digitalWrite (Buzz, LOW); } // Hvis det er veldig mørkt hvis (Intens <200) {Serial.print (Intens); Serial.println ("Bright Light"); digitalWrite (Buzz, HIGH); forsinkelse (200); digitalWrite (Buzz, LAV); forsinkelse (200); digitalWrite (Buzz, HIGH); forsinkelse (200); digitalWrite (Buzz, LOW); forsinkelse (200); forsinkelse (500); } // Hvis det er veldig lyst hvis (Intens> 800) {Serial.print (Intens); Serial.println ("Lite lys"); digitalWrite (Buzz, HIGH); forsinkelse (500); digitalWrite (Buzz, LAV); forsinkelse (500); digitalWrite (Buzz, HIGH); forsinkelse (500); digitalWrite (Buzz, LOW); forsinkelse (500); } hvis (dist <50) {Serial.print (dist); Serial.println ("Objektvarsling"); 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 kontinuiteten til kretsen ved hjelp av Digital Multi Meter. For å snu PÅ 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 lyden pippe i lang tid. Hvis summeren piper i lang tid, betyr det at alarmen utløses feilaktig. Hvis du står overfor denne typen feil, åpne den serielle skjermen til Arduino IDE og se etter parametrene som forårsaker et slikt problem.
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.