- Nødvendige materialer:
- Blind Stick Circuit Diagram:
- Arduino-program for smart blindpinne:
- Arduino blindpinne i aksjon:
Har du noen gang hørt om Hugh Herr? Han er en kjent amerikansk fjellklatrer som har knust begrensningene for hans funksjonshemninger; han er en sterk tro på at teknologi kan hjelpe funksjonshemmede til å leve et normalt liv. I en av TED-foredragene sa Herr ” Mennesker er ikke funksjonshemmede. En person kan aldri bli ødelagt. Det bygde miljøet vårt, teknologiene våre, er ødelagt og deaktivert. Vi folket trenger ikke akseptere våre begrensninger, men kan overføre funksjonshemming gjennom teknologisk innovasjon ”. Dette var ikke bare ord, men han levde livet sitt til dem, i dag bruker han protetiske ben og hevder å leve til det normale livet. Så ja, teknologi kan virkelig nøytralisere menneskelig funksjonshemning; med dette i bakhodet, la oss bruke noen enkle devlopment-tavler og sensorer til å bygge en ultralyds blindpinne med Arduino som kan utføre mer enn bare en pinne for synshemmede.
Denne smarte pinnen vil ha en ultralydssensor for å føle avstand fra ethvert hinder, LDR for å oppdage lysforhold og en RF-fjernkontroll som bruker den blinde mannen til å lokalisere pinnen sin. Alle tilbakemeldingene vil bli gitt til den blinde mannen gjennom en summer. Selvfølgelig kan du bruke en vibratormotor i stedet for summer og avansere mye mer ved å bruke kreativiteten din.
Nødvendige materialer:
- Arduino Nano (hvilken som helst versjon vil fungere)
- Ultralydssensor HC-SR04
- LDR
- Summer og LED
- 7805
- 433MHz RF-sender og mottaker
- Motstander
- Kondensatorer
- Trykknapp
- Perf brett
- Loddesett
- 9V batterier
Du kan kjøpe alle nødvendige komponenter for dette smarte blindpinne- prosjektet herfra.
Blind Stick Circuit Diagram:
Dette Arduino Smart Blind Stick Project krever to separate kretser. Den ene er hovedkretsen som skal monteres på blindmannens pinne. Den andre er en liten ekstern RF-senderkrets som vil bli brukt til å lokalisere hovedkretsen. Hovedkortets kretsskjema for å bygge en blindpinne ved hjelp av ultralydssensor er vist nedenfor:
Som vi kan se, brukes en Arduino Nano til å kontrollere alle sensorene, men du kan også bygge denne Smart blindpinnen ved hjelp av arduino uno, men følger samme pinouts og program. Hele kortet drives av et 9V batteri som reguleres til + 5V ved hjelp av en 7805 spenningsregulator. Den ultrasonisk sensor er drevet av 5V og avtrekkeren og Echo tapp er koblet til Arduino nano pin 3 og 2, som vist ovenfor. Den LDR er forbundet med en motstand på 10 K verdi for å danne en spenningsdeler, og forskjellen i spenning blir lest av Arduino ADC tapp A1. ADC-pinnen A0 brukes til å lese signalet fra RF-mottakeren. Utgangen på brettet er gitt av summeren som er koblet til pin 12.
Den RF fjernkontroll Kretsen er vist nedenfor. Dens arbeid er også nærmere forklart.
Jeg har brukt et lite hack for å få denne RF-fjernkontrollkretsen til å fungere. Når du bruker denne 433 MHz RF-modulen, krever det normalt at en koder og dekoder eller to MCU fungerer, som i vår forrige RF-sender- og mottakerkrets, brukte vi henholdsvis HT12D og HT12E, dekoder og koderen IC. Men i søknaden vår trenger vi bare mottakeren for å oppdage om senderen sender noen signaler. Så datapinnen til senderen er koblet til jord eller Vcc for forsyningen.
Datamottakeren til mottakeren føres gjennom et RC-filter og blir deretter gitt til Arduino som vist nedenfor. Hver gang du trykker på knappen, sender mottakeren en konstant ADC-verdi gjentatte ganger. Denne repetisjonen kan ikke observeres når du ikke trykker på knappen. Så vi skriver Arduino-programmet for å se etter gjentatte verdier for å oppdage om knappen trykkes. Så det er slik en blind person kan spore pinnen sin. Du kan sjekke her: hvordan RF-sender og mottaker fungerer.
Jeg har brukt et perf-kort for å lodde alle tilkoblingene slik at det blir intakt med pinnen. Men du kan også lage dem på et brødbrett. Dette er tavlene jeg laget for dette blindpinne-prosjektet ved hjelp av arduino.
Arduino-program for smart blindpinne:
Når vi er klare med maskinvaren, kan vi koble Arduino til datamaskinen og begynne å programmere. Den komplette koden som brukes til denne siden finner du nederst på denne siden, du kan laste den opp direkte til Arduino-kortet. Men hvis du er nysgjerrig på å vite hvordan koden fungerer, kan du lese videre.
Som alle programmer starter vi med ugyldig oppsett () for å initialisere Input Output pins. I vårt program er Buzzer og Trigger pin en utgangsenhet og Echo pin er en Input-enhet. Vi initialiserer også den serielle skjermen for feilsøking.
ugyldig oppsett () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (trigger, OUTPUT); pinMode (ekko, INNGANG); }
Inne i hovedsløyfen leser vi alle sensorer data. Vi begynner med å lese sensordataene til Ultralydssensor for avstand, LDR for lysintensitet og RF-signal for å sjekke om knappen trykkes. Alle disse dataene lagres i en variabel som vist nedenfor for fremtidig bruk.
beregne avstand (utløser, ekko); Signal = analogRead (ekstern); Intens = analogRead (Light);
Vi begynner med å se etter Remote signalet. Vi bruker en variabel kalt similar_count for å sjekke hvor mange ganger de samme verdiene blir gjentatt fra RF-mottakeren. Denne repetisjonen vil bare skje når du trykker på knappen. Så vi utløser alarmen for fjernkontroll hvis telleren overstiger verdien 100.
// 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); }
Du kan også sjekke det på Serial Monitor på datamaskinen din:
Deretter sjekker vi for lysintensiteten rundt den blinde mannen. Hvis LDR gir en verdi på mindre enn 200 antas det å være veldig mørkt, og vi gir ham advarselen gjennom summer med en spesifikk tone med forsinkelse på 200 ms. Hvis intensiteten er veldig lys som er mer enn 800, gir vi også en advarsel med en annen tone. Alarmtonen og intensiteten kan enkelt varieres ved å endre den respektive verdien i koden nedenfor.
// Hvis det er veldig 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 veldig lyst hvis (Intens> 800) {Serial.print (Intens); Serial.println ("Lite lys"); digitalWrite (Buzz, HIGH); forsinkelse (500); digitalWrite (Buzz, LOW); forsinkelse (500); digitalWrite (Buzz, HIGH); forsinkelse (500); digitalWrite (Buzz, LOW); forsinkelse (500); }
Til slutt begynner vi å måle avstanden fra et hvilket som helst hinder. Det vil ikke være noen alarm hvis den målte avstanden er mer enn 50 cm. Men hvis det er mindre enn 50 cm, vil alarmen starte med å pippe lyden. Når objektet kommer nærmere summeren, vil også pipetoneintervallet reduseres. Jo nærmere objektet er, desto raskere vil summeren pippe. Dette kan gjøres ved å skape en forsinkelse som er proporsjonal med den målte avstanden. Siden forsinkelsen () i Arduino ikke kan akseptere variabler, må vi bruke en for loop som loop basert på den målte avstanden som vist nedenfor.
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); }
Lær mer om å måle avstanden ved hjelp av ultralydssensor og Arduino.
Programmet kan enkelt tilpasses applikasjonen din ved å endre verdien som vi bruker til å sammenligne. Du bruker den serielle skjermen til å feilsøke hvis en falsk alarm utløses. Hvis du har problemer, kan du bruke kommentarseksjonen nedenfor til å legge ut spørsmålene dine
Arduino blindpinne i aksjon:
Endelig er det på tide å teste vårt blindpinne-arduino- prosjekt. Forsikre deg om at tilkoblingene er utført i henhold til kretsskjemaet, og at programmet er lastet opp. Nå, strøm begge kretsene med et 9V batteri, og du bør begynne å se resultater. Flytt Ultra Sonic-sensoren nærmere objektet, og du vil merke at summeren piper, og denne pipefrekvensen øker når pinnen kommer nærmere objektet. Hvis LDR er dekket av mørke, eller hvis det er for mye lys, piper lyden. Hvis alt er normalt, vil ikke lydsignalet pippe.
Når du trykker på knappen på fjernkontrollen, vil summeren gi et langt pip. Fullstendig bearbeiding av denne Smart Stick for blinde ved hjelp av Arduino er vist i videoen gitt på slutten av denne siden. Jeg bruker også en liten pinne for å montere hele monteringen. Du kan bruke en større eller en faktisk blindpinne og sette den i aksjon.
Hvis summeren alltid piper, betyr det at alarmen blir falsk utløst. Du kan åpne den serielle skjermen for å se etter parametrene og kontrollere hvilke som faller i kritisk retning og justere det. Som alltid kan du legge inn problemet ditt i kommentarseksjonen for å få hjelp. Håper du forsto prosjektet og likte å bygge noe.