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 vejen for hende til at nå sin drøm.
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 lokalisere 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.
Sådan bruges Arduino til at designe kredsløbet?
Nu som vi kender abstraktet af projektet, 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)
Trin 2: Brugte komponenter (software)
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.
- 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 mikrocontroller-tavlen, 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.
- 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.
- 433mHz RF-sender og modtager: Det fungerer på en bestemt frekvens på 433MHz. Der er flere andre radiofrekvente enheder til rådighed på markedet, og sammenlignet med dem afhænger et RF-moduls ydeevne 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 ved højere transmitteret effekt, vil enheden skabe interferens med andre RF-enheder.
- 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 spredes som varme.
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 i RF-modtageren i softwaren. Du kan downloade biblioteket herfra og åbne biblioteket efter download af biblioteket 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).
Den mikrocontroller, der skal bruges til at styre 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 forbundet til potentiometeret med værdi 10k og Analog til digital konverteringsstift A1 af Arduino er forbundet til det 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 stift på summeren forbundet med stiften 12 på Arduino, og den negative stift 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 Arduino's 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.
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å strømforsyningens ledninger muligvis ikke løsnes, hvis pinden stryges fast på jorden.
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å mikrocontrolerkortet ved hjælp af Arduino IDE. Du kan downloade den nyeste version af Arduino IDE herfra og følge nedenstående trin:
- 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.
- Klik på værktøjsmenuen. og sæt tavlen til Arduino Nano fra rullemenuen.
- I den samme værktøjsmenu skal du indstille porten til det portnummer, du tidligere har observeret i Enheder og printere.
- I den samme værktøjsmenu skal du indstille processoren til ATmega328P (gammel bootloader).
- Download koden, der er vedhæftet nedenfor, og indsæt den i din Arduino IDE. Klik på upload knap til at brænde koden på dit mikrocontrollerkort.
Klik her for at downloade koden.
Trin 7: Forstå koden
Koden er godt kommenteret og selvforklarende. Men alligevel forklares det nedenfor:
- 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 mikrokontrolkortet 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 trigger, int echo) {digitalWrite (trigger, LOW); 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; }
4.ugyldig sløjfe () er en funktion, der kører gentagne gange i en cyklus. I denne funktion fortæller vi microcontroller-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, der vil blive detekteret 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); tilsvarende_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); forsinkelse (3000); digitalWrite (Buzz, LOW); } // Hvis det er meget mørkt, hvis (Intens <200) {Serial.print (Intens); Serial.println ("Bright Light"); digitalWrite (Buzz, HIGH); forsinkelse (200); digitalWrite (Buzz, LOW); forsinkelse (200); digitalWrite (Buzz, HIGH); forsinkelse (200); digitalWrite (Buzz, LOW); forsinkelse (200); forsinkelse (500); } // Hvis det er meget lyst, hvis (Intens> 800) {Serial.print (Intens); Serial.println ("Svagt lys"); digitalWrite (Buzz, HIGH); forsinkelse (500); digitalWrite (Buzz, LOW); forsinkelse (500); digitalWrite (Buzz, HIGH); forsinkelse (500); digitalWrite (Buzz, LOW); forsinkelse (500); } hvis (dist <50) {Serial.print (dist); Serial.println ("Objektadvarsel"); 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
Som 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 Digital Multi Meter. Til drejning PÅ begge kredsløb bruger 9V batteri. Placer en genstand på overfladen, hvor du tester, og flyt ultralydssensoren foran den, og det bemærkes, at summerens lyd øges, når sensoren bevæger sig tættere på objektet. Der er to muligheder, hvis LDR er dækket i 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 for de parametre, der forårsager sådan en slags problem.
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 en vellykket test af projektet skal du kigge efter en handicappet person og tilbyde ham dette projekt for at gøre hans / hendes liv lettere.