Sadržaj:

Periferni radar za osobe sa oštećenim vidom: 14 koraka
Periferni radar za osobe sa oštećenim vidom: 14 koraka

Video: Periferni radar za osobe sa oštećenim vidom: 14 koraka

Video: Periferni radar za osobe sa oštećenim vidom: 14 koraka
Video: ČUDNE VIJESTI TJEDNA - 55 | Tajanstveni | Svemir | NLO | Paranormalno 2024, Novembar
Anonim
Periferni radar za osobe sa oštećenim vidom
Periferni radar za osobe sa oštećenim vidom

Kao rezultat užasne nesreće, moj prijatelj je nedavno izgubio vid na desno oko. Dugo je bio bez posla, a kad se vratio rekao mi je da je jedna od najneugodnijih stvari s kojima se mora suočiti nedostatak znanja o tome šta mu je s desne strane. Manje perifernog vida znači nalet na stvari i ljude. Ovo mi je zasmetalo. Odlučio sam da moramo nešto učiniti.

Htio sam izgraditi uređaj koji bi mogao mjeriti udaljenost do objekata na desnoj strani mog prijatelja. Moj plan je koristiti haptički motor za vibriranje uređaja obrnuto proporcionalno udaljenosti do objekta. Tada, ako su objekti bili daleko, motor ne bi vibrirao, a kako je objekt bliže, počeo bi vibrirati na niskom nivou. Da je objekt blizu, on bi vibrirao na mnogo višem nivou (ili na kojem god nivou želite). Uređaj bi morao biti dovoljno mali da visi na naočalama sa senzorom okrenutim nadesno. Moj prijatelj bi uređaj stavio na desnu stranu naočara, ali naravno za nekog drugog, to bi mogla biti lijeva strana.

Sjetio sam se da sam kod kuće imao neke akustične senzore udaljenosti. Ali, oni su malo veliki i glomazni, manje precizni i vjerojatno bi bili preteški za upotrebu na naočalama. Počeo sam tražiti nešto drugo.

Ono što sam pronašao je ST Electronics VL53L0X osjetnik vremena leta. Ovo je infracrveni laser i infracrveni detektor u jednom paketu. Emitira impuls laserske svjetlosti izvan ljudskog vidljivog raspona (940 nm) i bilježi proteklo vrijeme potrebno za otkrivanje reflektiranog impulsa. On dijeli ovo vrijeme sa 2 i množi sa brzinom svjetlosti stvarajući vrlo preciznu udaljenost u milimetrima. Senzor može otkriti udaljenost do 2 metra, ali kao što sam vidio, 1 metar je optimalniji.

Čini se da Adafruit ima VL53L0X ploču za razbijanje. Pa mi je trebao vibrirajući motor, koji su također imali, i mikrokontroler za sve to. Slučajno sam imao PJRC Teensy 3.2 pri ruci. Iako je bio veći nego što sam želio, mogao je raditi na maloj brzini. Htio sam smanjiti brzinu sata radi uštede energije. Što se tiče izvora napajanja, imao sam Sparkfun regulator za pojačavanje u mojoj kutiji za smeće zajedno sa AAA držačem baterije. Imao sam skoro sve što mi je trebalo.

Korak 1: Prvi prototip

Prvi prototip
Prvi prototip
Prvi prototip
Prvi prototip

Uzeo sam dijelove koje sam imao pri ruci i napravio ručni prototip uređaja koji sam zamislio. 3D sam odštampao ručku i montažnu ploču i lemio svu elektroniku na Adafruit protoboard. Spojio sam vibracijski motor na Teensy preko 2N3904 NPN tranzistora. Dodao sam potenciometar koji će se koristiti za postavljanje maksimalne udaljenosti na koju će uređaj reagirati.

Uradio sam ga do sljedećeg vikenda (pogledajte gornju sliku). Nije bilo lijepo, ali pokazalo je princip. Moj prijatelj je mogao držati uređaj na desnoj strani i testirati da li će mu uređaj biti koristan ili ne, te mu pomoći da precizira ono što želi za funkcije.

Korak 2: Prototip #2

Prototip #2
Prototip #2
Prototip #2
Prototip #2
Prototip #2
Prototip #2

Nakon prvog ručnog prototipa počeo sam praviti manju verziju. Htio sam se približiti svom cilju da napravim nešto što bi stalo na čaše. Teensy koji sam koristio na ručnoj verziji omogućio mi je da usporim sat radi uštede energije. Ali veličina će biti faktor, pa sam prešao na Adafruit Trinket M0. Iako mu je takt 48 MHz, ARM procesor na kojem se temelji može raditi sporije. Korištenjem internog RC oscilatora može raditi na 8, 4 2, pa čak i 1 MHz.

Prototip #2 se brzo sastavio jer sam sve to sastavio do sljedećeg vikenda. Kola su bila ista kao prototip #1 osim ARM M0. Odštampao sam 3D kućište i stavio vođice na poleđinu tako da se mogu staviti na stakla. Pogledajte gornju sliku. U početku se radi na frekvenciji od 48 MHz.

Korak 3: Prototip #3

Prototip #3
Prototip #3

Dakle, ovaj Instructable zaista počinje ovdje. Odlučio sam napraviti posljednji prototip. Odlučujem da ga iscijedim što je manje moguće bez korištenja prilagođenog PWB -a (kamo sam siguran da smo krenuli). Ostatak ovog uputstva će vam pokazati kako ga napraviti. Baš kao i ljudi koji izrađuju 3D štampane ruke za djecu s invaliditetom, nadam se da će ih ljudi izraditi za svakoga sa sličnim gubitkom vida.

Zadržao sam popis dijelova isti kao prototip #2, ali sam odlučio ukloniti potenciometar. Nakon razgovora s mojim prijateljem odlučili smo pomoću softvera odrediti maksimalnu udaljenost. Budući da mogu koristiti senzor dodira pomoću Teensyja, uvijek bismo mogli postaviti maksimalnu udaljenost dodirom. Jedan dodir postavlja kratku udaljenost, ili više dodira veću udaljenost, drugi dodir najdužu udaljenost, a zatim za još jedan dodir premotajte unatrag na početak. Ali u početku ćemo za kretanje koristiti fiksnu udaljenost.

Korak 4: Dijelovi

Delovi
Delovi

Za ovaj prototip trebala mi je manja ploča. Otišao sam sa Sparkfun protoboard-om (PRT-12702) jer bi njene male dimenzije (oko 1,8 "X 1,3") bile dobre veličine za snimanje.

Morao sam koristiti i nešto drugo osim AAA baterije kao izvor napajanja. LiPo se činio kao pravi izbor jer bi imao skladišni kapacitet i malu težinu. Pokušao sam s novčanicom, ali nije imala dovoljno snage da dugo rukuje motorom. Odabrao sam mali LiPo koji ima kapacitet od 150 mAH.

Nameravao sam da ostanem kod Trinket M0 i naravno, VL53L0X ploče za razbijanje.

Sada kada smo do detalja, evo popisa dijelova za ovaj prototip:

Adafruit VL53L0X Senzor udaljenosti leta - ID PROIZVODA: 3317 Adafruit - Vibrirajući mini motorni disk - ID PROIZVODA: 1201 Adafruit - Litijum -jonska polimerna baterija - 3.7v 150mAh - ID PROIZVODA: 1317 SparkFun - Lemna ploča - Mini - PRT -12702 Sparkfun - JST -pravokutni konektor - 2 -pinski kroz rupu - PRT -09749 10K ohmski otpornik - Junkbox (pogledajte na svom podu) 2N3904 NPN tranzistor - Junkbox (ili telefonirajte prijatelju) Neka žica za spajanje (koristio sam 22 žice na žicu)

Za punjenje LiPo baterije također sam uzeo:

Adafruit - Micro Lipo - USB LiLon/LiPoly punjač - v1 - ID PROIZVODA: 1304

Korak 5: Shema

Shematski
Shematski

Shema ovog uređaja prikazana je gore. Dodirni unos će biti za buduću verziju, ali je ionako prikazan na shemi. Također, 10K otpornik između Trinket M0 i baze 2N3904 pruža taman dovoljno osnove za uključivanje motora, a da ga ne udarite prejako.

Slijedi opis montaže korak po korak.

Korak 6: Protoboard

Protoboard
Protoboard

Mnogi od vas s iskustvom to znaju, ali ovo je za one koji su možda tek počeli s lemljenjem protoboarda:

Sparkfun protoboard (PRT-12702) prikazan gore ima 17 stupaca (grupa) od 5 pinova sa svake strane u razmaku od tri desetine inča. Svaki okomiti stup sa 5 igala sa obje strane razmaka zajednički su jedan drugom. Pod ovim mislim na to da je svaka veza sa pinom u grupi veza sa svakim drugim pinom u grupi. Za ovu ploču to ne izgleda očigledno, ali to možete provjeriti ako koristite DVM (digitalni voltmetar). Ako pogledate straga, možete samo razabrati tragove koji povezuju grupe.

Korak 7: Postavljanje komponenti

Postavljanje komponenti
Postavljanje komponenti
Postavljanje komponenti
Postavljanje komponenti

Vjerovatno morate lemiti pin trake i na Trinket M0 i na VL53L0X. Oboje dolaze s trakama, ali ih je potrebno zalemiti. Adafruit ima upute u svom centru za učenje za oba ova dijela. Ako ste tek počeli s ovim, idite tamo (ovdje i ovdje) prije lemljenja traka na ploče. Pin igle pružaju niži profil od utičnice.

Prva stvar koju treba uzeti u obzir pri lemljenju nečega na protoboard s ograničenim prostorom je postavljanje komponenti. Postavio sam Trinket i VL53L0X na položaje prikazane na gornjoj slici. Trinket ima igle na obje ivice ploče, ali VL53L0X ima 7 pinova na jednoj ivici ploče. Strana VL53L0X koja nema pinove ćemo koristiti za povezivanje nekih komponenti … kao što ćemo vidjeti.

Lemio sam i klizni prekidač u položaj i lemio sam 2N3904. Zatamnio sam rupe na kojima su ti dijelovi postavljeni, a za 2N3904 zabilježio sam koje su igle sakupljač, baza i odašiljač. Kada ga prvi put lemite, trebali biste ga ostaviti okomito na ploču kako biste mogli lemiti druge priključke. Kasnije ćete je moći (pažljivo) saviti tako da bude bliže ravni sa daskom.

NAPOMENA: JST prekidač baterije se trenutno NE lemi na ploču. Bit će lemljen na stražnjoj strani ploče, ali tek NAKON što smo lemili naše ostale veze. To će biti posljednje što smo lemili.

Korak 8: Žice

Žice
Žice

Gornji dijagram prikazuje protoboard sa zatamnjenim rupama u kojima će se nalaziti komponente. Dodao sam im oznake uz rubove kako bih olakšao ožičenje. Imajte na umu da je vibracijski motor prikazan, ali će se nalaziti na stražnjoj strani ploče i bit će spojen gotovo posljednji, pa ga za sada samo zanemarite. Takođe prikazujem JST baterijsko pucanje isprekidanom linijom. Kao što je identificirano u prethodnom koraku, nemojte ga spajati, ali ostavite 4 rupe na vrhu ploče otvorene (tj. Nemojte ih lemiti).

Pretpostavljam da u ovom trenutku znate izolirati izolaciju sa žice, zalijepiti krajeve lemljenjem i lemiti na ploču. Ako nije, posjetite jedan od instruktora o lemljenju.

Za ovaj korak lemite žice kao što je prikazano žutom bojom. Krajnje točke su rupe na koje ih trebate lemiti. Također biste trebali lemiti 10K ohmski otpornik na ploču kao što je prikazano. Uspostavljene veze su:

1. Povezivanje s pozitivnog priključka baterije na COM zajednički (središnji) terminal kliznog prekidača. Jedna strana kliznog prekidača će stupiti u kontakt s ulazom BAT -a na Trinket. Trinket-ov ugrađeni regulator generira 3.3V iz ulaznog napona BAT.

2. Veza sa negativnog (uzemljenog) terminala baterije na masu sitnice.

3. Veza sa negativnog (uzemljenog) terminala baterije na odašiljač 2N3904

4. Povezivanje sa Trinket -ovog pina od 3,3 V (3V) na VIN VL53L0X. VL53L0X će dodatno regulirati ovo na 2,8 volti za vlastitu upotrebu. On također dovodi ovaj napon na pin, ali nam nije potreban pa će ostati nepovezan.

Korak 9: Više žica

Više žica
Više žica

Dakle, sada dodajemo sljedeću grupu žica kao što je prikazano gore. Evo popisa svake veze:

1. Veza sa Trinket pina označenog kao 2 sa SCL pinom VL53L0X. Ovo je signal sata I2C. I2C serijski protokol je ono što Trinket koristi za komunikaciju s VL53L0X.

2. Povezivanje sa Trinket pina označenog kao 0 (nula) sa VL53L0X SDA pinom. Ovo je signal podataka I2C.

3. Povezivanje sa pina VL53L0X GND preko proreza na matičnoj ploči sa odašiljačem 2N3904. Ovo daje uzemljenje VL53L0X.

4. Veza sa trinket pina označenog sa 4 na 10K otpornik. Ovo je pogon motora za vibracije. Ovu žicu svakako treba zalemiti na stražnju stranu ploče ako odaberete moju vezu.

Zapamtite da su sve vertikalne grupe od 5 pinova zajedničke jedna drugoj tako da se možete povezati bilo gdje u ovoj grupi što vam odgovara. Primijetit ćete na fotografijama moje ploče da sam promijenio nekoliko svojih tačaka povezivanja. Sve dok su ispravne veze, bilo koji jastučić koji odaberete je u redu.

Korak 10: Vibracijski motor

Vibracijski motor
Vibracijski motor

Vibracijski motor dolazi s naljepnicom na poleđini koja se može oguliti. Povučete ovo kako biste otkrili ljepljiv materijal koji omogućuje da se motor zalijepi za stražnju stranu ploče (ali pogledajte komentar ispod prije nego što ga zalijepite). Postavio sam ga lijevo (gledajući na stražnju stranu ploče) JST ploče za izbacivanje baterije koju još nismo pričvrstili. Dakle, ostavite malo prostora za JST ploču za razbijanje baterije. Takođe sam želeo da budem siguran da metalno kućište motora ne krati igle preko razmaka ploče. Tako sam izrezao mali komad dvostrane trake i zalijepio je za stražnju stranu ljepljive strane motora za vibracije. Zatim sam to gurnuo na stražnju stranu ploče. Pomaže u držanju metalnog kućišta visoko i dalje od igle. No ipak, budite oprezni pri postavljanju na način da NE Krate kratke iglice.

Lemite crvenu žicu vibracionog motora na 3V iglu trinketa. Crna žica vibracijskog motora lemljena je na kolektoru 2N3904. Kada softver impulsira 2N3904 (daje logiku 1 kao 3.3V), tranzistor se uključuje spajanjem crne žice vibracijskog motora na masu (ili blizu nje). Zbog toga motor vibrira.

Mogao sam dodati neki kapacitet na mjestu spajanja crvene žice Vibracijskog motora. No, na Trinket -ovoj liniji od 3,3 V postoji kapacitet pa sam siguran da je u redu, ali ako želite dodati neki drugi kapacitet možete … sve dok ga možete ugurati. U tom slučaju crvena žica bi se mogla spojiti direktno na pozitivnu stranu LiPo baterije. Odabrao sam stranu od 3,3 V kako bi napon bio konstantan. Za sada izgleda da radi dobro.

Korak 11: Posljednji, ali ne i najmanje…

Zadnji ali ne i posljednji…
Zadnji ali ne i posljednji…
Zadnji ali ne i posljednji…
Zadnji ali ne i posljednji…

Na kraju povezujemo ploču za probijanje JST baterije na stražnju stranu protobora. Lemio sam pinove na ploču i postavio JST bateriju za razbijanje baterije sa gornjom stranom okrenutom prema protoboru, kao što je prikazano gore. Provjerite jeste li lemili žice za pozitivnu bateriju i uzemljili ih na desne pinove kada postavljate ovaj dio. Ako griješite, promijenit ćete polaritet dijelova i vjerovatno ih sve uništiti. Zato vas molim da provjerite i provjerite prije lemljenja i priključivanja baterije.

Korak 12: Softver

Softver
Softver

Za instalaciju i/ili izmjenu softvera trebat će vam Arduino IDE i datoteke ploče za Trinket M0, kao i biblioteke za VL53L0X. Sve je to ovde, ovde i ovde.

Slijedite upute za upotrebu Adafruit M0 na njihovom web mjestu za učenje ovdje.

Nakon učitavanja softvera ploča bi se trebala pokrenuti i raditi na USB serijskoj vezi. Pomaknite stranu ploče s VL53L0X blizu zida ili ruke i trebali biste osjetiti kako motor vibrira. Amplituda vibracije bi trebala biti manja što je udaljeniji predmet od uređaja.

Ponašanje koje se vidi na uređaju donekle je objašnjeno u komentarima u izvornom kodu. Ali priloženi grafikon trebao bi ovo dobro istaknuti. Uređaj ne bi trebao početi vibrirati tek oko 863 mm od predmeta. Maksimalni nivo vibracije dostići će na 50 mm od objekta. Ako se pomaknete bliže objektu od 50 mm, uređaj neće proizvesti više vibracija nego na 50 mm.

Korak 13: Ograđivanje

Enclosure
Enclosure
Enclosure
Enclosure
Enclosure
Enclosure
Enclosure
Enclosure

Dizajnirao sam kućište i 3D ga odštampao u ABS plastici. Možete ga odštampati u PLA ili ABS -u ili bilo kom materijalu koji želite. Koristim ABS jer mogu aceton zavariti komade na ploču ako je potrebno. Ploča koju sam dizajnirao je jednostavna i ima otvor za USB port na Trinketu i otvor za prekidač za napajanje. Napravio sam da se dvije ploče spoje zajedno s malim rukama na stranama kutije. Ne sviđa mi se mnogo pa ću ga vjerovatno promijeniti. Naravno, možete napraviti sve promjene koje želite vidjeti.

Trenutno se za ovu verziju kutija mora otvoriti da biste odspojili LiPo bateriju kako biste je napunili. Ako ipak napravim ploču za ovaj projekt, dodat ću još jedan konektor kako bi baterija bila dostupna bez otvaranja kutije. Možda je to moguće učiniti na ovom dizajnu protobora i napraviti rupu za konektor za punjenje. Ako želite ovo isprobati, podijelite svoje rezultate.

Uspio sam dizajnirati kutiju koju nisam potpuno mrzio. Ovo ćemo koristiti za testiranje sistema. Priložio sam gornji i donji dio kutije kao STL datoteke, kao i zagradu/vodič koji sam dodao na dno. Dodao sam par vodilica pomoću acetona za kemijsko zavarivanje dijelova. Ako to učinite, budite oprezni. Sastav možete vidjeti gore.

Korak 14: Šta sad?

Šta sad?
Šta sad?

Provjerite … Star sam i možda sam zaboravio nešto ili sam zabrljao. Ponovo čitam i provjeravam ovo, ali i dalje mi mogu nedostajati stvari. Slobodno mi recite šta sam uradio/uradio pogrešno.

A sada, kada ste konstruirali ploču za periferne radare i umetnuli je, a LiPo baterija je u lijepoj 3D štampanoj futroli (kad je završim ili ako ste sami napravili), što ćete sljedeće učiniti? Mislim da biste trebali steći iskustvo o tome kako radi i izmijeniti softver. Ugovor o licenciranju u softveru navodi da ga možete koristiti, ali ako napravite bilo kakve promjene, morate ih podijeliti. Ne kažem da je softver za ovaj projekt kompliciran ili na neki način nevjerojatan. Ostvaruje svoje ciljeve, ali ima prostora za poboljšanja. Pomozite nam da poboljšamo ovaj uređaj i podijelite to sa svima nama. Upamtite, ovaj projekt služi samo pomaganju ljudima. Dakle, pomozite!

Preporučuje se: