Tartalomjegyzék:

Perifériás radar látássérülteknek: 14 lépés
Perifériás radar látássérülteknek: 14 lépés

Videó: Perifériás radar látássérülteknek: 14 lépés

Videó: Perifériás radar látássérülteknek: 14 lépés
Videó: O potencial inovador das periferias | Monique Evelle | TEDxMauá 2024, November
Anonim
Perifériás radar látássérülteknek
Perifériás radar látássérülteknek

Egy szörnyű baleset következtében egy barátom nemrég elvesztette látását a jobb szemében. Sokáig munkanélküli volt, és amikor visszajött, azt mondta nekem, hogy az egyik legidegesítőbb dolog, amivel foglalkoznia kell, az, hogy nem tudja, mi van a jobb oldalán. A kevésbé perifériás látás azt jelenti, hogy beleütközik a dolgokba és az emberekbe. Engem ez zavart. Úgy döntöttem, hogy valamit tennünk kell.

Olyan eszközt akartam építeni, amely képes mérni a távolságot a barátom jobb oldalán lévő tárgyaktól. Az a tervem, hogy haptikus motorral rezegtetem az eszközt fordítottan arányban a tárgytól való távolsággal. Aztán ha a tárgyak messze vannak, a motor nem rezeg, és mivel egy tárgy közelebb van, alacsony szinten kezd rezegni. Ha az objektum közel lenne, sokkal magasabb szinten rezegne (vagy bármilyen szinten). A készüléknek elég kicsinek kell lennie ahhoz, hogy a szemüveg oldalára lógjon úgy, hogy az érzékelő jobbra mutasson. A barátom a szemüveg jobb oldalára tette a készüléket, de természetesen másnak ez lehet a bal oldala.

Eszembe jutott, hogy volt otthon néhány akusztikus távolságérzékelőm. De kicsit nagyok és terjedelmesek, kevésbé pontosak, és valószínűleg túl nehézek a szemüvegen való használatra. Mást kezdtem keresni.

Amit találtam, az az ST Electronics VL53L0X repülési idő érzékelője. Ez egy infravörös lézer és infravörös érzékelő egyetlen csomagban. Lézerfény impulzust bocsát ki az ember által látható tartományon (940 nm) kívül, és rögzíti a visszavert impulzus észleléséhez szükséges időt. Ezt az időt elosztja 2 -vel, és megszorozza a fénysebességgel, ami nagyon pontos távolságot ad meg milliméterben. Az érzékelő 2 méter távolságot képes érzékelni, de ahogy láttam, 1 méter optimálisabb.

Ahogy az történik, az Adafruit rendelkezik VL53L0X kitörőtáblával. Szükségem volt tehát egy vibráló motorra, ami náluk is volt, és egy mikrokontrollerre, hogy mindez működjön. Véletlenül volt a kezemben egy PJRC Teensy 3.2. Bár nagyobb volt, mint szerettem volna, képes volt lassú ütemezésre. Az energiatakarékosság érdekében csökkenteni akartam az órajelet. Ami az áramforrást illeti, a szeméttárolómban volt egy Sparkfun boost szabályozó és egy AAA elemtartó. Szinte minden megvolt, amire szükségem volt.

1. lépés: Első prototípus

Első prototípus
Első prototípus
Első prototípus
Első prototípus

Fogtam a kéznél lévő alkatrészeket, és készítettem egy kézi prototípust az általam elképzelt eszközről. 3D -ben kinyomtattam a fogantyút és a rögzítőlemezt, és az összes elektronikát forrasztottam egy Adafruit protoboardra. A rezgőmotort 2N3904 NPN tranzisztoron keresztül csatlakoztattam a Teensy -hez. Hozzáadtam egy potenciométert, amellyel beállítható a maximális távolság, amelyre az eszköz reagál.

A következő hétvégén már futottam (lásd a fenti képet). Nem volt szép, de megmutatta az elvet. A barátom a jobb oldalán tarthatta az eszközt, és tesztelhette, hogy az eszköz hasznos -e vagy sem, és segíthet finomítani, hogy mit szeretne a funkciókkal kapcsolatban.

2. lépés: Prototípus #2

Prototípus 2
Prototípus 2
Prototípus 2
Prototípus 2
Prototípus 2
Prototípus 2

Az első kézi prototípus után elkezdtem egy kisebb verziót készíteni. Közelebb akartam kerülni a célomhoz, hogy olyat készítsek, ami elfér a szemüvegen. A Teensy, amelyet a kézi verzióban használtam, lehetővé tette számomra, hogy az energiatakarékosság érdekében lelassítsam az órát. De a méret fontos tényező volt, ezért áttértem az Adafruit Trinket M0 -ra. Bár az órajele 48 MHz, az ARM processzor, amelyen alapul, lassabban ütemezhető. A belső RC oszcillátor használatával 8, 4 2 és akár 1 MHz -en is képes működni.

A 2 -es prototípus elég gyorsan összeállt, mivel a következő hétvégén már minden összejött. Az áramkör ugyanaz volt, mint az 1. prototípus, kivéve az ARM M0 -t. 3D -ben kinyomtattam egy kis burkolatot, és vezetőket tettem a hátoldalára, hogy a szemüvegre lehessen csúsztatni. Lásd a fenti képet. Kezdetben a frekvenciát 48 MHz -en sugározzák.

3. lépés: Prototípus #3

3. prototípus
3. prototípus

Tehát ez az Instructable valóban itt kezdődik. Úgy döntöttem, készítek egy utolsó prototípust. Úgy döntök, hogy a lehető legkisebbre szorítom az egyéni PWB használatát (ebben biztos vagyok, hogy haladunk). Ennek az utasításnak a többi része arról fog szólni, hogyan kell elkészíteni. Csakúgy, mint az emberek, akik 3D nyomtatott kezeket készítenek fogyatékkal élő gyerekeknek, remélem, hogy az emberek elkészítik ezeket mindenkinek, akinek hasonló a szeme.

Az alkatrészlistát ugyanúgy tartottam, mint a 2. prototípust, de úgy döntöttem, hogy eltávolítom a potenciométert. A barátommal folytatott beszélgetés után úgy döntöttünk, hogy szoftverrel megtesszük a maximális távolságot. Mivel képes vagyok érintőérzékelőt használni a Teensy segítségével, az érintéssel mindig beállíthatjuk a maximális távolságot. Egy érintéssel rövid, vagy több érintés hosszabb távolságot állít be, egy másik érintéssel a leghosszabb távolságot, majd egy további érintéssel tekerje vissza az elejét. De először rögzített távolságot fogunk használni az induláshoz.

4. lépés: Alkatrészek

Alkatrészek
Alkatrészek

Ehhez a prototípushoz szükségem volt egy kisebb táblára. Sparkfun protoboarddal (PRT-12702) mentem, mert kicsi méretei (kb. 1,8 "X 1,3") megfelelő méretűek a felvételhez.

Szükségem volt valami másra is, mint AAA elemre, mint áramforráshoz. A LiPo megfelelő választásnak tűnt, mivel tárolókapacitása és könnyű súlya lenne. Próbáltam egy gombelemmel, de nem volt elég ereje ahhoz, hogy nagyon sokáig kezelje a motort. Egy kis LiPo -t választottam, amelynek kapacitása 150 mAH.

Maradni akartam a Trinket M0 -nál és természetesen a VL53L0X kitörő táblánál.

Most, hogy a részletekhez értünk, íme a prototípus alkatrészeinek listája:

Adafruit VL53L0X Repülési idő távolsági érzékelő - TERMÉK ID: 3317 Adafruit - Vibráló Mini Motor Disc - TERMÉK ID: 1201 Adafruit - Lítium -ion polimer akkumulátor - 3,7 V 150 mAh - TERMÉK ID: 1317 SparkFun - Forrasztható kenyértábla - Mini - PRT -12702 Sparkfun - JST derékszögű csatlakozó - 2 -tűs átmenő lyuk - PRT -09749 10K ohmos ellenállás - Junkbox (nézd meg a padlón)

A LiPo akkumulátor feltöltéséhez fel is vettem:

Adafruit - Micro Lipo - USB LiIon/LiPoly töltő - v1 - TERMÉK ID: 1304

5. lépés: Vázlatos

Vázlatos
Vázlatos

Ennek az eszköznek a vázlata fent látható. Az érintőbemenet egy későbbi verzióhoz lesz, de a vázlatban mindenképpen megjelenik. Továbbá, a 10K ellenállás a Trinket M0 és a 2N3904 alapja között éppen elegendő alapot biztosít ahhoz, hogy bekapcsolja a motort anélkül, hogy túl erősen ütné.

A következőkben az összeszerelés részletes leírása található.

6. lépés: A Protoboard

A Protoboard
A Protoboard

Sokan, akik tapasztaltak, tudják ezt, de ez azoknak szól, akik újak a prototáblák forrasztásában:

A fent bemutatott Sparkfun protoboard (PRT-12702) 17 oszlopból (csoportból) áll, 5 csapból, három tized hüvelyk közötti rés mindkét oldalán. Mindegyik függőleges oszlop, amely 5 csapból áll, a rés két oldalán közös. Ezalatt azt értem, hogy a csoport egy gombjához való minden kapcsolat a csoport minden másik tűjével való kapcsolat. Ennél a táblánál ez nem tűnik kézenfekvőnek, de ezt ellenőrizheti, ha DVM -et (digitális voltmérőt) használ. Ha a hátoldalára nézel, csak a csoportokat összekötő nyomokat láthatod.

7. lépés: Az alkatrészek elhelyezése

Komponens elhelyezés
Komponens elhelyezés
Komponens elhelyezés
Komponens elhelyezés

Valószínűleg tűsávokat kell forrasztani mind a Trinket M0, mind a VL53L0X készülékhez. Mindkettőhöz tartoznak a csíkok, de forrasztani kell őket. Az Adafruit mindkét részre vonatkozóan utasításokat tartalmaz a Tanulmányi Központban. Ha új vagy ebben, kérjük, menjen oda (itt és itt), mielőtt a csíkokat a táblákra forrasztja. A csapszalagok alacsonyabb profilt biztosítanak, mint a foglalat.

Az első dolog, amit figyelembe kell venni, ha valamit forrasztunk egy korlátozott helyű protoboardra, az alkatrészek elhelyezése. A Trinketet és a VL53L0X -et a fenti ábrán látható pozíciókba helyeztem. A csecsebecse a tábla mindkét szélén csapokkal rendelkezik, de a VL53L0X 7 tűvel rendelkezik a tábla egyik szélén. A VL53L0X azon oldalát, amely nem rendelkezik csapokkal, egyes alkatrészek csatlakoztatására használunk … mint látni fogjuk.

A csúszó kapcsolót is a helyére forrasztottam, és a 2N3904 -et forrasztottam. Sötétítettem a lyukakat, ahol ezek az alkatrészek vannak elhelyezve, és a 2N3904 esetében feljegyeztem, hogy mely csapok a gyűjtő, az alap és a kibocsátó. Amikor először forrasztja, hagyja merőlegesen a táblára, hogy forraszthasson más csatlakozásokat. Később képes lesz meghajlítani (óvatosan), így közelebb van ahhoz, hogy egy szintben legyen a táblával.

MEGJEGYZÉS: A JST Battery Breakout jelenleg nem forrasztható a táblához. A lemez hátuljára lesz forrasztva, de csak azután, hogy forrasztjuk a többi csatlakozást. Ez lesz az utolsó, amit forrasztunk.

8. lépés: Vezetékek

Vezetékek
Vezetékek

A fenti diagram ismét a prototáblát mutatja, sötétített lyukakkal, ahol az alkatrészek elhelyezkednek. Hozzáadtam a címkéket a szélekhez, hogy megkönnyítsem a huzalozást. Ne feledje, hogy a vibrációs motor látható, de a tábla hátsó oldalán lesz, és majdnem utoljára lesz csatlakoztatva, egyelőre csak figyelmen kívül hagyja. A JST Battery Breakout -ot szaggatott vonallal is mutatom. Az előző lépésben leírtak szerint ne csatlakoztassa, de hagyja nyitva a tábla tetején található 4 lyukat (azaz ne forrasztjon rájuk).

Feltételezem, hogy ezen a ponton tudja, hogyan kell leválasztani a szigetelést a huzalról, a végeit forrasztással és forrasztással deszkára borítani. Ha nem, kérjük, nézze meg a forrasztással kapcsolatos utasításokat.

Ehhez a lépéshez forrasztja a vezetékeket sárga színnel. A végpontok azok a lyukak, amelyekhez forrasztani kell őket. A 10K ohmos ellenállást is forrasztani kell a táblához, ahogy az látható. A létrejövő kapcsolatok a következők:

1. Csatlakozás az akkumulátor pozitív pólusától a csúszókapcsoló COMmon (középső) csatlakozójához. A csúszókapcsoló egyik oldala érintkezik a csecsebecsék BAT bemenetével. A Trinket fedélzeti szabályozója 3,3 V-ot generál a BAT bemeneti feszültségéből.

2. Csatlakozás az akkumulátor negatív (földelő) kivezetése és a csecsebecset földje között.

3. Csatlakozás az akkumulátor negatív (földelt) csatlakozójáról a 2N3904 emitteréhez

4. Csatlakozás a Trinket 3,3 voltos (3 V) tűjéről a VL53L0X VIN -jéhez. A VL53L0X ezt tovább szabályozza 2,8 voltra saját használatra. Ezt a feszültséget is kihozza egy csapba, de nincs rá szükségünk, így nem lesz csatlakoztatva.

9. lépés: Több vezeték

Több vezeték
Több vezeték

Tehát most hozzáadjuk a vezetékek következő csoportját a fentiek szerint. Itt található az egyes kapcsolatok listája:

1. Csatlakozás a csecsebecse 2 -es jelölésű csapjától a VL53L0X SCL csaphoz. Ez az I2C órajel. A Trinket az I2C soros protokollt használja a VL53L0X kommunikációjához.

2. Csatlakozás a Trinket 0 -ás (nulla) címkéjű tűjéről a VL53L0X SDA -tűhöz. Ez az I2C adatjel.

3. Csatlakozás a VL53L0X GND csapból a protobock résén keresztül a 2N3904 Emitteréhez. Ez talajt biztosít a VL53L0X számára.

4. Csatlakozás a Trinket 4 -es jelzésű csapjától a 10K ellenállásig. Ez a vibrációs motor hajtása. Ezt a vezetéket feltétlenül forrasztani kell a tábla hátsó oldalára, ha a csatlakozási pontomat választja.

Ne feledje, hogy az 5 tűből álló függőleges csoportok közösek egymással, így bárhol csatlakozhat ehhez a csoporthoz, amely kényelmes. Észre fogja venni a táblám képein, hogy megváltoztattam néhány csatlakozási pontomat. Mindaddig, amíg ezek a megfelelő csatlakozók, akkor bármelyik betétet választja.

10. lépés: Rezgő motor

Rezgő motor
Rezgő motor

A vibrációs motor hátsó oldalán matrica található. Ezt lehúzva ragadós anyagot fedhet fel, amely lehetővé teszi a motornak a tábla hátoldalára való ragasztását (de lásd az alábbi megjegyzést, mielőtt ragasztaná). Balra helyeztem (a tábla hátuljára nézve) a JST Battery Breakout táblát, amelyet még nem csatoltunk. Tehát hagyjon egy kis helyet a JST Battery Breakout táblának. Azt is meg akartam győződni arról, hogy a motor fémháza nem zár rövidre a csapokat a protoboard résén. Tehát levágtam egy kis darab kétoldalas szalagot, és ragasztottam a vibrációs motor tapadó oldalának hátuljára. Aztán rányomtam a tábla hátoldalára. Segít abban, hogy a fémtok magasan maradjon és távol legyen a csapoktól. Ennek ellenére ügyeljen arra, hogy úgy helyezze el, hogy NEM zárja rövidre a csapokat.

Forrasztja a vibrációs motor piros vezetékét a Trinket 3 V -os tűjére. A vibrációs motor fekete huzalja a 2N3904 kollektorához van forrasztva. Amikor a szoftver impulzust ad a 2N3904 -nek (az 1. logikát 3.3V -ként adja meg), a tranzisztor bekapcsolja a vibrációs motor fekete vezetékét a földhöz (vagy annak közelében). Ez a motort rezegteti.

Hozzáadhattam volna némi kapacitást a vibrációs motor piros vezetékének csatlakozási pontjánál. De van kapacitás a Trinket 3.3V -os vonalán, ezért biztos vagyok benne, hogy rendben van, de ha további kapacitást szeretne hozzáadni, akkor… amíg be tudja szorítani. Ekkor a piros vezeték csatlakoztatható közvetlenül a LiPo akkumulátor pozitív oldalára. A 3.3V oldalt választottam, hogy állandó legyen a feszültség. Eddig úgy tűnik, hogy jól működik.

11. lépés: Végül, de nem legkevésbé…

Végül, de nem utolsó sorban…
Végül, de nem utolsó sorban…
Végül, de nem utolsó sorban…
Végül, de nem utolsó sorban…

Végül csatlakoztassuk a JST akkumulátor megszakító panelt a protoboard hátsó oldalához. Tüskéket forrasztottam a táblára, és úgy helyeztem el a JST akkumulátor törőlapját, hogy a felső oldala a protoboard felé nézzen, ahogy fent látható. Győződjön meg arról, hogy az akkumulátor elhelyezésekor forrasztotta a pozitív akkumulátor vezetékeit és a földelést a megfelelő csapokhoz. Ha téved, akkor visszafordítja a polaritást az alkatrészekre, és valószínűleg elpusztítja mindegyiket. Ezért kérjük, ellenőrizze és ellenőrizze újra, mielőtt forrasztja és csatlakoztatja az akkumulátort.

12. lépés: Szoftver

Szoftver
Szoftver

A szoftver telepítéséhez és/vagy módosításához szüksége lesz az Arduino IDE -re és a Trinket M0 táblafájljaira, valamint a VL53L0X könyvtáraira. Mindez itt, itt és itt.

Kövesse az Adafruit M0 használatára vonatkozó utasításokat a tanulási oldalon.

A szoftver betöltése után az alaplapnak el kell indulnia és futnia kell az USB soros kapcsolaton. Mozgassa a tábla oldalát a VL53L0X készülékkel közel a falhoz vagy a kezéhez, és éreznie kell, hogy a motor rezeg. A rezgés amplitúdója annál alacsonyabb legyen, minél távolabb van az eszköztől.

Az eszközön tapasztalt viselkedést némileg megmagyarázzák a forráskód megjegyzései. De a mellékelt grafikonnak jól meg kell határoznia ezt a pontot. A készülék csak akkor kezd vibrálni, ha körülbelül 863 mm -re van egy tárgytól. A maximális rezgésszintjét 50 mm -re fogja elérni egy tárgytól. Ha 50 mm -nél közelebb kerül egy tárgyhoz, a készülék nem fog nagyobb rezgést okozni, mint 50 mm -nél.

13. lépés: Melléklet

Burkolat
Burkolat
Burkolat
Burkolat
Burkolat
Burkolat
Burkolat
Burkolat

Megterveztem egy házat, és 3D -ben kinyomtattam ABS műanyagból. Nyomtathatja PLA -ban vagy ABS -ben, vagy bármilyen anyagból. ABS -t használok, mert szükség esetén acetonnal hegeszthetek darabokat a táblára. Az általam tervezett tábla egyszerű, és lyuk van a csecsebecse USB -portjához, és egy lyuk a tápkapcsolóhoz. A két táblát kis karokkal pattintottam össze a doboz oldalán. Nem nagyon szeretem, így valószínűleg megváltoztatom. Természetesen bármilyen változtatást végrehajthat, amit látni szeretne.

Jelenleg ehhez a verzióhoz a dobozt ki kell nyitni, hogy le lehessen választani a LiPo akkumulátort az újratöltéshez. Ha létrehozok egy áramköri lapot ehhez a projekthez, akkor egy másik csatlakozót adok hozzá, hogy az akkumulátor hozzáférhető legyen a doboz kinyitása nélkül. Lehetséges, hogy ezt a protoboard kivitelben megteheti, és lyukat készíthet a csatlakozó számára a töltéshez. Ha szeretné kipróbálni, ossza meg eredményeit.

Sikerült megterveznem egy dobozt, amit nem utáltam teljesen. Ezt használjuk a rendszer tesztelésére. A doboz tetejét és alját STL fájlként csatoltam, valamint a konzolot/útmutatót, az alját. Hozzáadtam egy pár vezetőt acetonnal az alkatrészek kémiai hegesztéséhez. Ha ezt teszi, legyen óvatos. Az összeállítást fent láthatja.

14. lépés: Most mi van?

Most mi?
Most mi?

Ellenőrizze … Öreg vagyok, és lehet, hogy elfelejtettem valamit, vagy elrontottam. Újraolvasom és ellenőrzöm, de még mindig hiányozhatnak a dolgok. Nyugodtan mondd el, amit rosszul csináltam/tettem.

És most, hogy elkészítette a Peripheral Radar kártyát, és betöltötte, és a LiPo akkumulátor egy szép 3D nyomtatott tokban van (amikor befejezem, vagy ha a sajátját csinálta), mi a következő lépés? Szerintem szerezzen tapasztalatot a működésében és módosítsa a szoftvert. A szoftver licencszerződése tartalmazza, hogy használhatja, de ha bármilyen változtatást hajt végre, meg kell osztania azokat. Nem azt mondom, hogy ennek a projektnek a szoftvere valamilyen módon bonyolult vagy elképesztő. Teljesíti céljait, de van hova fejlődni. Segítsen fejleszteni ezt az eszközt, és ossza meg mindannyiunkkal. Ne feledje, ez a projekt az emberek segítéséről szól. Szóval, segíts!

Ajánlott: