Kazalo:
- 1. korak: Prvi prototip
- 2. korak: Prototip #2
- 3. korak: Prototip #3
- 4. korak: Deli
- 5. korak: Shema
- 6. korak: Protoboard
- 7. korak: Postavitev komponent
- 8. korak: Žice
- 9. korak: Več žic
- 10. korak: Vibracijski motor
- 11. korak: Zadnji, a ne najmanj …
- 12. korak: Programska oprema
- 13. korak: ohišje
- 14. korak: Kaj pa zdaj?
Video: Periferni radar za slabovidne: 14 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Zaradi grozljive nesreče je moj prijatelj pred kratkim izgubil vid na desno oko. Dolgo je bil brez službe in ko se je vrnil, mi je povedal, da je ena najbolj vznemirjajočih stvari, s katerimi se mora spopasti, to, da ne ve, kaj je na njegovi desni strani. Manj perifernega vida pomeni naleteti na stvari in ljudi. To me je motilo. Odločil sem se, da moramo nekaj narediti.
Želel sem zgraditi napravo, ki bi lahko merila razdaljo do predmetov na desni strani mojega prijatelja. Moj načrt je, da z haptičnim motorjem vibriram napravo obratno sorazmerno z razdaljo do predmeta. Če bi bili predmeti daleč, motor ne bi vibriral in ko bi bil predmet bližje, bi začel vibrirati na nizki ravni. Če bi bil predmet blizu, bi vibriral na veliko višji ravni (ali na kateri koli ravni, ki jo želite). Naprava bi morala biti dovolj majhna, da bi visela na stran očala s senzorjem, usmerjenim v desno. Moj prijatelj bi napravo postavil na desno stran očal, za nekoga drugega pa je to seveda leva stran.
Spomnil sem se, da imam doma nekaj akustičnih senzorjev razdalje. So pa nekoliko velike in obsežne, manj natančne in bi bile verjetno pretežke za uporabo na očalih. Začel sem iskati nekaj drugega.
Ugotovil sem senzor časa letenja ST Electronics VL53L0X. To je infrardeči laser in infrardeči detektor v enem paketu. Oddaja impulz laserske svetlobe zunaj vidnega območja človeka (940 nm) in beleži pretečeni čas, potreben za zaznavanje odbitega impulza. Ta čas deli z 2 in pomnoži s hitrostjo svetlobe, ki ustvari zelo natančno razdaljo v milimetrih. Senzor lahko zazna razdaljo do 2 metra, vendar je, kot sem videl, 1 meter bolj optimalen.
Kot se zgodi, ima Adafruit ploščo za prekinitev VL53L0X. Zato sem potreboval vibrirajoči motor, ki so ga imeli tudi oni, in mikrokrmilnik za vse to. Slučajno sem imel pri roki PJRC Teensy 3.2. Čeprav je bil večji, kot sem si želel, je bil sposoben delati pri počasni hitrosti. Zaradi varčevanja z energijo sem želel znižati uro. Kar zadeva vir napajanja, sem imel v škatli za smeti skupaj z držalom za baterije AAA Sparkfun regulator za povečanje moči. Imel sem skoraj vse, kar sem potreboval.
1. korak: Prvi prototip
Vzel sem dele, ki sem jih imel pri roki, in izdelal ročni prototip naprave, ki sem si jo zamislil. 3D sem natisnil ročaj in montažno ploščo ter vso elektroniko spajkal na proto ploščo Adafruit. Vibracijski motor sem priključil na Teensy prek tranzistorja 2N3904 NPN. Dodal sem potenciometer, s katerim nastavim največjo razdaljo, na katero bi se naprava odzvala.
Tekel sem do naslednjega vikenda (glej zgornjo sliko). Ni bilo lepo, vendar je pokazalo načelo. Moj prijatelj je lahko držal napravo na desni strani in preizkusil, ali bi bila naprava uporabna ali ne, ter mu pomagal izboljšati, kar želi za funkcije.
2. korak: Prototip #2
Po prvem ročnem prototipu sem začel izdelovati manjšo različico. Želel sem se približati svojemu cilju, da naredim nekaj, kar bi lahko pristalo na očalih. Teensy, ki sem ga uporabil v ročni različici, mi je omogočil upočasnitev ure, da sem prihranil energijo. Toda velikost bo pomemben dejavnik, zato sem prešel na Adafruit Trinket M0. Čeprav je takt 48 MHz, lahko procesor ARM, na katerem temelji, deluje počasneje. Z uporabo notranjega RC oscilatorja lahko deluje pri 8, 4 2 in celo 1 MHz.
Prototip #2 se je sestavil precej hitro, saj sem do naslednjega vikenda imel vse skupaj. Vezje je bilo enako prototipu št. 1, razen ARM M0. 3D sem natisnil majhno ohišje in na zadnjo stran postavil vodila, da ga je mogoče pritrditi na stekla. Oglejte si zgornjo sliko. Sprva deluje na frekvenci 48 MHz.
3. korak: Prototip #3
Torej, ta Instructable se res začne tukaj. Odločil sem se narediti še zadnji prototip. Odločim se, da ga stisnem čim manj, če ne uporabim prilagojenega PWB (tja sem prepričan, da smo na poti). Preostanek tega navodila bo pokazal, kako ga narediti. Tako kot ljudje, ki izdelujejo 3D -natisnjene roke za otroke s posebnimi potrebami, tudi jaz upam, da jih bodo ljudje naredili za vsakogar s podobno izgubo vida.
Seznam delov sem ohranil enako kot prototip #2, vendar sem se odločil odstraniti potenciometer. Po pogovoru s prijateljem smo se odločili, da z uporabo programske opreme določimo največjo razdaljo. Ker lahko uporabljam senzor na dotik s pomočjo Teensyja, lahko z dotikom vedno nastavimo največjo razdaljo. Z enim dotikom nastavite kratko razdaljo ali več dotikov na daljšo razdaljo, z drugim dotikom na najdaljšo razdaljo in nato za en dotik zavijte nazaj na začetek. Toda sprva bomo za premik uporabili fiksno razdaljo.
4. korak: Deli
Za ta prototip sem potreboval manjšo ploščo. Šel sem s protoboardom Sparkfun (PRT-12702), ker bi bile njegove majhnosti (približno 1,8 "X 1,3") primerne za streljanje.
Kot vir energije sem moral uporabiti tudi kaj drugega kot baterijo AAA. LiPo se je zdel prava izbira, saj bi imel zmogljivost shranjevanja in majhno težo. Poskusil sem s kovanico, vendar ni imela dovolj moči za dolgotrajno rokovanje z motorjem. Izbral sem majhen LiPo, ki ima kapaciteto 150 mAH.
Nameraval sem ostati pri Trinket M0 in seveda prelomni plošči VL53L0X.
Zdaj, ko smo pri podrobnostih, je tukaj seznam delov za ta prototip:
Senzor časa letenja Adafruit VL53L0X - ID izdelka: 3317 Adafruit - Vibracijski mini motorni disk - ID PROIZVODA: 1201 Adafruit - Litij -ionska polimerna baterija - 3.7v 150mAh - ID PROIZVODA: 1317 SparkFun - Spajkalna deska - Mini - PRT -12702 Sparkfun - Pravokotni konektor JST - 2 -polni skozi luknjo - PRT -09749 10K ohmski upor - Junkbox (poglejte na tla) 2N3904 NPN tranzistor - Junkbox (ali pokličite prijatelja) Nekaj priključne žice (uporabil sem 22 -metrski nased)
Za polnjenje baterije LiPo sem pobral tudi:
Adafruit - Micro Lipo - USB LiIon/LiPoly polnilec - v1 - ID PROIZVODA: 1304
5. korak: Shema
Shema za to napravo je prikazana zgoraj. Vnos na dotik bo namenjen prihodnji različici, vendar je vseeno prikazan v shemi. Poleg tega 10K upor med Trinket M0 in podnožjem 2N3904 zagotavlja ravno dovolj osnove za vklop motorja, ne da bi ga močno udaril.
Sledi opis sestave po korakih.
6. korak: Protoboard
Mnogi od vas, ki imate izkušnje, to veste, vendar je to za tiste, ki morda niste seznanjeni s spajkanjem protoboardov:
Zgoraj prikazana protokolarna plošča Sparkfun (PRT-12702) ima 17 stolpcev (skupin) po 5 zatičev na vsaki strani v razmiku treh desetin palcev. Vsak navpični stolpec s 5 zatiči na obeh straneh vrzeli je med seboj skupen. S tem mislim, da je vsaka povezava z zatičem v skupini povezava z vsakim drugim zatičem v skupini. Za to ploščo se to ne zdi očitno, vendar lahko to preverite, če uporabljate DVM (digitalni voltmeter). Če pogledate na zadnjo stran, lahko razberete sledi, ki povezujejo skupine.
7. korak: Postavitev komponent
Najverjetneje boste morali spajati zatiče na Trinket M0 in VL53L0X. Oba imata trakove, vendar jih je treba spajkati. Adafruit ima v svojem učnem centru navodila za oba dela. Če ste novi pri tem, pojdite tja (tukaj in tukaj), preden spajkate trakove na plošče. Zatiči zagotavljajo nižji profil kot vtičnica.
Prva stvar, ki jo morate upoštevati pri spajkanju na protoboard z omejenim prostorom, je namestitev komponent. Trinket in VL53L0X sem postavil na položaje, prikazane na zgornji sliki. Trinket ima na obeh robovih plošče zatiče, vendar ima VL53L0X 7 zatičev na enem robu plošče. Stran VL53L0X, ki nima zatičev, bomo uporabili za povezavo nekaterih komponent … kot bomo videli.
Spajkal sem tudi drsno stikalo in spajkal 2N3904. Zatemnil sem luknje, kjer so ti deli nameščeni, in za 2N3904 sem zapisal, kateri zatiči so zbiralnik, podnožje in oddajnik. Ko ga prvič spajkate, ga pustite pravokotno na ploščo, da lahko spajkate druge povezave. Kasneje ga boste lahko (previdno) upognili, da bo bližje ravni plošči.
OPOMBA: JST akumulator se trenutno ne spajka na ploščo. Spajkano bo na zadnji strani plošče, vendar šele PO tem, ko spajamo druge priključke. To bo zadnja stvar, ki jo spajkamo.
8. korak: Žice
Zgornji diagram prikazuje protoboard z zatemnjenimi luknjami, kjer bodo komponente. Za lažje ožičenje sem jim dodal oznake ob robovih. Upoštevajte, da je vibracijski motor prikazan, vendar se bo nahajal na zadnji strani plošče in bo skoraj zadnji priključen, zato ga zaenkrat preprosto prezrite. S črtkano črto prikažem tudi JST Battery Breakout. Kot je bilo ugotovljeno v prejšnjem koraku, ga ne priključite, vendar pustite odprte 4 luknje na vrhu plošče (torej jih ne spajkajte).
Predvidevam, da na tej točki veste, kako izolirati izolacijo z žice, pokončati konce s spajkanjem in spajkati na ploščo. V nasprotnem primeru si oglejte eno od navodil za spajkanje.
Za ta korak spajkajte žice, kot je prikazano rumeno. Končne točke so luknje, na katere jih morate spajkati. Kot je prikazano, morate spajati 10K ohmski upor na ploščo. Vzpostavljene povezave so:
1. Povezava pozitivnega priključka baterije s skupnim (srednjim) priključkom drsnega stikala. Ena stran drsnega stikala bo v stiku z vhodom BAT v Trinket. Vgrajeni regulator Trinket generira 3,3 V iz vhodne napetosti BAT.
2. Povezava negativnega (ozemljitvenega) priključka akumulatorja z maso okrasja.
3. Povezava negativnega (ozemljitvenega) priključka akumulatorja z oddajnikom 2N3904
4. Priključek iz 3,3 voltnega (3V) zatiča Trinket na VIN VL53L0X. VL53L0X bo to dodatno reguliral na 2,8 voltov za lastno uporabo. To napetost tudi pripelje na pin, vendar je ne potrebujemo, zato ostane brez povezave.
9. korak: Več žic
Zdaj dodamo naslednjo skupino žic, kot je prikazano zgoraj. Tu je seznam vsake povezave:
1. Povezava z zatičem Trinket, označenim kot 2, z vtičem SCL VL53L0X. To je signal ure I2C. Serijski protokol I2C je tisto, kar Trinket uporablja za komunikacijo z VL53L0X.
2. Povezava z zatičem Trinket, označenim kot 0 (nič), z zatičem SDL VL53L0X SDA. To je podatkovni signal I2C.
3. Povezava z zatičem VL53L0X GND preko reže na protoboard -u z oddajnikom 2N3904. To zagotavlja ozemljitev VL53L0X.
4. Povezava z zatičem Trinket z oznako 4 do 10K upora. To je pogon za vibracijski motor. To žico morate zagotovo spajkati na zadnjo stran plošče, če izberete mojo priključno točko.
Ne pozabite, da je vsaka navpična skupina s 5 zatiči skupna drug drugemu, tako da se lahko povežete kjer koli v tej skupini, kar vam ustreza. Na fotografijah moje plošče boste opazili, da sem spremenil nekaj svojih priključnih točk. Dokler so pravilne povezave, je ne glede na to, katero blazinico izberete.
10. korak: Vibracijski motor
Vibracijski motor ima na hrbtni strani nalepko, ki se lahko odlepi. To potegnete, da razkrijete lepljiv material, ki omogoča, da se motor prilepi na zadnjo stran plošče (vendar glejte komentar spodaj, preden ga prilepite). Postavil sem ga levo (gledano na zadnji strani plošče) plošče JST Battery Breakout, ki je še nismo pritrdili. Zato pustite nekaj prostora za ploščo JST Battery Breakout. Prav tako sem se želel prepričati, da kovinsko ohišje motorja ne bo prekinilo zatičev v reži protoboard -a. Tako sem odrezal majhen košček dvostranskega traku in ga prilepil na zadnjo stran lepljive strani vibracijskega motorja. Potem sem to potisnil na zadnjo stran deske. Pomaga pri ohranjanju kovinskega ohišja visoko in stran od zatičev. Vseeno pa pazite, da ga postavite tako, da NE skrajša nožic.
Rdečo žico vibracijskega motorja spajkajte na 3V pin Trinket. Črna žica vibracijskega motorja je spajkana na zbiralnik 2N3904. Ko programska oprema utripa 2N3904 (zagotavlja logiko 1 kot 3,3 V), se tranzistor vklopi in poveže črno žico vibracijskega motorja z maso (ali blizu nje). Zaradi tega motor vibrira.
Lahko bi dodal nekaj kapacitivnosti na priključni točki rdeče žice vibracijskega motorja. Toda na 3.3 -voltni liniji Trinket je kapacitivnost, zato sem prepričan, da je v redu, če pa želite dodati še kakšno drugo kapacitivnost, lahko… dokler jo lahko stisnete. V tem primeru se lahko priklopi rdeča žica neposredno na pozitivno stran LiPo baterije. Za vzdrževanje konstantne napetosti sem se odločil za stran 3.3V. Zaenkrat se zdi, da deluje dobro.
11. korak: Zadnji, a ne najmanj …
Nazadnje povežemo odklopno ploščo JST Battery na zadnjo stran protobora. Zataknil sem zatiče na ploščo in položil izklopno ploščo JST Battery tako, da je njena zgornja stran obrnjena proti protoboardu, kot je prikazano zgoraj. Ko nameščate ta del, se prepričajte, da ste žice za pozitivno baterijo spajkali in ozemljili na desne zatiče. Če se motite, boste obrnili polarnost na dele in jih verjetno uničili. Zato prosimo, da pred spajkanjem in priklopom baterije preverite in ponovno preverite.
12. korak: Programska oprema
Za namestitev in/ali spreminjanje programske opreme potrebujete Arduino IDE in datoteke plošč za Trinket M0 ter knjižnice za VL53L0X. Vse to je tukaj, tukaj in tukaj.
Sledite navodilom za uporabo Adafruit M0 na njihovem učnem mestu tukaj.
Ko je programska oprema naložena, se mora plošča zagnati in zagnati prek serijske povezave USB. Premaknite stran plošče z VL53L0X blizu stene ali roke in začutili boste, da motor vibrira. Amplituda vibracij mora biti nižja, čim dlje od naprave je predmet.
Vedenje v napravi je nekoliko pojasnjeno v komentarjih v izvorni kodi. Toda priloženi graf bi moral to dobro povedati. Naprava ne sme začeti vibrirati šele približno 863 mm od predmeta. Največjo raven vibracij bo dosegel pri 50 mm od predmeta. Če se približate predmetu, ki je manjši od 50 mm, naprava ne bo proizvedla več vibracij kot pri 50 mm.
13. korak: ohišje
Oblikoval sem ohišje in ga 3D natisnil v ABS plastiki. Lahko ga natisnete v PLA ali ABS ali katerem koli drugem materialu. Uporabljam ABS, ker lahko po potrebi acetone zvarim na ploščo. Plošča, ki sem jo oblikoval, je preprosta in ima luknjo za vrata USB na Trinketu in luknjo za stikalo za vklop. Dve deski sem naredil skupaj z ročicami na straneh škatle. Ni mi všeč, zato ga bom verjetno spremenil. Seveda lahko naredite vse spremembe, ki jih želite videti.
Zdaj za to različico je treba odpreti škatlo, da odklopite LiPo baterijo in jo napolnite. Če ustvarim vezje za ta projekt, bom dodal še en priključek, da bo baterija dostopna, ne da bi odprli škatlo. Na tej zasnovi protobora je to mogoče narediti in narediti luknjo za priključek za polnjenje. Če želite to preizkusiti, delite svoje rezultate.
Uspelo mi je oblikovati škatlo, ki je nisem popolnoma sovražil. To bomo uporabili za preizkus sistema. Zgornji in spodnji del škatle sem priložil kot datoteke STL, kot tudi nosilec/vodnik, ki sem ga dodal na dno. Dodal sem par vodil z uporabo acetona za kemično varjenje delov. Če to storite, bodite previdni. Zgornjo montažo si lahko ogledate.
14. korak: Kaj pa zdaj?
Preveri me … Star sem in morda sem kaj pozabil ali zmešal. To berem in preverjam, vendar še vedno lahko pogrešam stvari. Prosim, povejte mi, kaj sem naredil/naredil narobe.
In zdaj, ko ste izdelali ploščo za periferne radarje in jo naložili, LiPo -baterija pa je v lepi 3D natisnjeni torbici (ko jo končam ali če ste naredili sami), kaj naredite naslednje? Mislim, da bi morali imeti izkušnje z delovanjem in spremeniti programsko opremo. Licenčna pogodba v programski opremi navaja, da jo lahko uporabljate, če pa naredite kakršne koli spremembe, jih morate dati v skupno rabo. Ne pravim, da je programska oprema za ta projekt na nek način zapletena ali neverjetna. Dosega svoje cilje, vendar obstaja prostor za izboljšave. Pomagajte izboljšati to napravo in jo delite z nami. Ne pozabite, da gre pri tem projektu za pomoč ljudem. Torej, pomagajte!
Priporočena:
ScanUp NFC bralnik/pisatelj in snemalnik zvoka za slepe, slabovidne in vse ostale: 4 koraki (s slikami)
ScanUp NFC bralnik/pisatelj in snemalnik zvoka za slepe, slabovidne in vse ostale: Študiram industrijsko oblikovanje in projekt je delo mojega semestra. Cilj je podpreti slabovidne in slepe osebe z napravo, ki omogoča snemanje zvoka v formatu. WAV na kartico SD in klic teh podatkov z oznako NFC. Torej v
Čevlji za slabovidne: 12 korakov
Haptični čevelj za slabovidne: Po vsem svetu je več kot 37 milijonov slabovidnih. Večina teh ljudi za vožnjo uporablja palico, palico ali je odvisna od druge osebe. Ne zmanjšuje samo njihove samostojnosti, ampak v nekaterih primerih škoduje njihovi samopodobi
Izboljšane izkušnje z avtobusi za slabovidne osebe z Arduino in 3D tiskanjem: 7 korakov
Izboljšane izkušnje z avtobusi za osebe z motnjami vida z Arduinom in 3D -tiskanjem: Kako lahko poenostavite vožnjo v javnem prevozu za osebe z okvaro vida? Podatki o zemljevidih v realnem času so pogosto nezanesljivi, medtem ko je na voljo javni prevoz. slabovidne osebe. T
Digitalna igrišča - vključujoče za slabovidne otroke: 13 korakov (s slikami)
Digitalna igrišča - vključujoče za slabovidne otroke: Ta navodila se začnejo s prejšnjim projektom - zgraditi eno samo tlačno ploščico - in nato še dodatno pokažejo, kako je mogoče ta preprost tehnološki projekt razširiti na digitalno celotno igrišče! Ta tehnologija že obstaja v obliki
Periferni nadzor napajanja s ohranjevalnikom zaslona: 3 koraki (s slikami)
Periferni nadzor napajanja s ohranjevalnikom zaslona: Prvič: ta projekt se priključi na vrata tiskalnika v računalniku. Ne bom odgovarjal za to, da bo nekdo prižgal matično ploščo. Prosim, bodite previdni in trikrat preverite vse svoje povezave, če boste poskusili kaj takega