- Material som krävs:
- Blind Stick Circuit Diagram:
- Arduino-program för Smart Blind Stick:
- Arduino Blind Stick i aktion:
Har du någonsin hört talas om Hugh Herr? Han är en berömd amerikansk bergsklättrare som har krossat begränsningarna för sina funktionshinder. han tror starkt på att teknik kan hjälpa funktionshindrade att leva ett normalt liv. I ett av hans TED-samtal sa Herr ” Människor är inte funktionshindrade. En person kan aldrig brytas. Vår byggda miljö, vår teknik är trasig och inaktiverad. Vi folket behöver inte acceptera våra begränsningar utan kan överföra funktionshinder genom teknisk innovation ”. Det här var inte bara ord utan han levde sitt liv för dem, idag använder han protetiska ben och hävdar att han lever till det normala livet. Så ja, teknik kan verkligen neutralisera människors funktionshinder. med detta i åtanke, låt oss använda några enkla devlopment-kort och sensorer för att bygga en ultraljudspindel med hjälp av Arduino som kan utföra mer än bara en pinne för synskadade.
Denna smarta pinne kommer att ha en ultraljudssensor för att känna avstånd från alla hinder, LDR för att känna av ljusförhållanden och en RF-fjärrkontroll med vilken den blinda fjärrkontrollen kan hitta sin pinne. Alla återkopplingar kommer att ges till den blinda mannen via en summer. Naturligtvis kan du använda en vibratormotor istället för summern och avancera mycket mer med din kreativitet.
Material som krävs:
- Arduino Nano (vilken version som helst fungerar)
- Ultraljudsensor HC-SR04
- LDR
- Summer och LED
- 7805
- 433MHz RF-sändare och mottagare
- Motstånd
- Kondensatorer
- Tryckknapp
- Perf styrelse
- Lödkit
- 9V batterier
Du kan köpa alla nödvändiga komponenter för smarta blinda stick projekt härifrån.
Blind Stick Circuit Diagram:
Detta Arduino Smart Blind Stick Project kräver två separata kretsar. En är huvudkretsen som kommer att monteras på den blinda mans pinne. Den andra är en liten fjärr RF-sändarkrets som kommer att användas för att lokalisera huvudkretsen. Huvudkortets kretsschema för att bygga en blindpinne med ultraljudssensor visas nedan:
Som vi kan se används en Arduino Nano för att styra alla sensorer, men du kan också bygga denna Smarta blindpinne med hjälp av arduino uno men följer samma pinouts och program. Hela kortet drivs av ett 9V batteri som regleras till + 5V med en 7805 spänningsregulator. Den Ultraljudssensor drivs av 5V och avtryckaren och Echo stift är ansluten till Arduino nano stift 3 och 2, såsom visas ovan. Den LDR är förbunden med ett motstånd med värdet 10K för att bilda en spänningsdelare och skillnaden i spänning läses av Arduino ADC stift A1. ADC-stift A0 används för att läsa signalen från RF-mottagaren. Brädans utgång ges av summern som är ansluten till stift 12.
Den RF-fjärrkrets visas nedan. Dess arbete förklaras också ytterligare.
Jag har använt ett litet hack för att få denna RF-fjärrkontroll att fungera. När du använder den här 433 MHz RF-modulen krävs normalt en kodare och avkodare eller två MCU för att fungera, som i vår tidigare RF-sändar- och mottagarkrets använde vi HT12D respektive HT12E, avkodare och kodare IC. Men i vår applikation behöver vi bara mottagaren för att upptäcka om sändaren skickar några signaler. Så sändarens datapinne är ansluten till jord eller Vcc på matningen.
Mottagarens datapinne passeras genom ett RC-filter och ges sedan till Arduino som visas nedan. Varje gång du trycker på knappen matar Mottagaren ut ett konstant ADC-värde upprepade gånger. Denna upprepning kan inte observeras när du inte trycker på knappen. Så vi skriver Arduino-programmet för att söka efter upprepade värden för att upptäcka om knappen trycks in. Så det är så en blind person kan spåra sin pinne. Du kan kontrollera här: hur RF-sändare och mottagare fungerar.
Jag har använt ett perf-kort för att lödda alla anslutningar så att det blir intakt med pinnen. Men du kan också göra dem på en bräda. Det här är brädorna som jag skapade för detta blindpinne-projekt med arduino.
Arduino-program för Smart Blind Stick:
När vi är redo med vår hårdvara kan vi ansluta Arduino till vår dator och börja programmera. Den kompletta koden som används för den här sidan hittar du längst ner på den här sidan, du kan ladda upp den direkt till ditt Arduino-kort. Men om du är nyfiken på att veta hur koden fungerar läs vidare.
Som alla program börjar vi med ogiltig installation () för att initialisera ingångsutgångsstift. I vårt program är Summer och Trigger-stift en utgångsenhet och Echo-stift är en inmatningsenhet. Vi initialiserar också den seriella bildskärmen för felsökning.
ogiltig installation () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (trigger, OUTPUT); pinMode (eko, INPUT); }
Inne i huvudslingan vi läser alla sensorer uppgifter. Vi börjar med att läsa sensordata för ultraljudssensor för avstånd, LDR för ljusintensitet och RF-signal för att kontrollera om knappen trycks in. Alla dessa data sparas i en variabel enligt nedan för framtida bruk.
beräkna avstånd (utlösare, eko); Signal = analogRead (Remote); Intens = analogRead (Light);
Vi börjar med att söka efter fjärrsignalen. Vi använder en variabel som heter similar_count för att kontrollera hur många gånger samma värden upprepas från RF-mottagaren. Denna upprepning kommer bara att inträffa när du trycker på knappen. Så vi utlöser fjärrtryckt alarm om räkningen överstiger värdet 100.
// Kontrollera om Remote är intryckt int temp = analogRead (Remote); likartat antal = 0; medan (Signal == temp) {Signal = analogRead (Remote); similar_count ++; } // Om fjärrkontrollen trycks ned om (similar_count <100) {Serial.print (similar_count); Serial.println ("Remote Pressed"); digitalWrite (Buzz, HIGH); fördröjning (3000); digitalWrite (Buzz, LOW); }
Du kan också kontrollera det på Serial Monitor på din dator:
Därefter kontrollerar vi ljusintensiteten runt den blinda mannen. Om LDR ger ett värde mindre än 200 antas det vara mycket mörkt och vi varnar honom genom en summer med en specifik fördröjningston på 200 ms. Om intensiteten är mycket ljus som är mer än 800 så ger vi också en varning med en annan ton. Larmtonen och intensiteten kan enkelt varieras genom att ändra respektive värde i nedanstående kod.
// Om det är mycket mörkt om (Intens <200) {Serial.print (Intens); Serial.println ("Bright Light"); digitalWrite (Buzz, HIGH); fördröjning (200); digitalWrite (Buzz, LOW); fördröjning (200); digitalWrite (Buzz, HIGH); fördröjning (200); digitalWrite (Buzz, LOW); fördröjning (200); fördröjning (500); } // Om det är mycket ljust om (Intens> 800) {Serial.print (Intens); Serial.println ("svagt ljus"); digitalWrite (Buzz, HIGH); fördröjning (500); digitalWrite (Buzz, LOW); fördröjning (500); digitalWrite (Buzz, HIGH); fördröjning (500); digitalWrite (Buzz, LOW); fördröjning (500); }
Slutligen börjar vi mäta avståndet från något hinder. Det larmas inte om det uppmätta avståndet är mer än 50 cm. Men om det är mindre än 50 cm börjar larmet med att pipa summern. När föremålet närmar sig summern minskar också pipintervallet. Ju närmare objektet är desto snabbare hörs en ljudsignal. Detta kan göras genom att skapa en fördröjning som är proportionell mot det uppmätta avståndet. Eftersom fördröjningen () i Arduino inte kan acceptera variabler måste vi använda en for- loop vilken loop baserat på det uppmätta avståndet som visas nedan.
if (dist <50) {Serial.print (dist); Serial.println ("Objektvarning"); digitalWrite (Buzz, HIGH); för (int i = dist; i> 0; i--) fördröjning (10); digitalWrite (Buzz, LOW); för (int i = dist; i> 0; i--) fördröjning (10); }
Lär dig mer om att mäta avståndet med ultraljudssensor och Arduino.
Programmet kan enkelt anpassas för din applikation genom att ändra det värde som vi använder för att jämföra. Du använder den seriella bildskärmen för att felsöka om ett falskt larm utlöses. Om du har några problem kan du använda kommentarsektionen nedan för att skicka dina frågor
Arduino Blind Stick i aktion:
Äntligen är det dags att testa vårt arduino- projekt med blindpinne. Se till att anslutningarna görs enligt kretsschemat och att programmet laddas upp. Nu ska du driva båda kretsarna med ett 9V batteri och du bör börja se resultat. Flytta Ultra Sonic-sensorn närmare objektet så märker du att summern piper och den här pipfrekvensen ökar när pinnen kommer närmare objektet. Om LDR är mörkt täckt eller om det är för mycket ljus kommer en summer att ljuda. Om allt är normalt hörs ingen ljudsignal.
När du trycker på knappen på fjärrkontrollen kommer summern att ge ett långt pip. Hela arbetet med denna Smart Stick för blinda med Arduino visas i videon i slutet av denna sida. Jag använder också en liten pinne för att montera hela enheten, du kan använda en större eller en verklig blindpinne och sätta den i handling.
Om din summer alltid piper betyder det att larmet utlöses falskt. Du kan öppna den seriella bildskärmen för att kontrollera parametrarna och kontrollera vilka som faller i kritisk vikt och justera det. Som alltid kan du lägga upp ditt problem i kommentarsektionen för att få hjälp. Hoppas att du förstod projektet och gillade att bygga något.