Obsah:

Periférny radar pre zrakovo postihnutých: 14 krokov
Periférny radar pre zrakovo postihnutých: 14 krokov

Video: Periférny radar pre zrakovo postihnutých: 14 krokov

Video: Periférny radar pre zrakovo postihnutých: 14 krokov
Video: Михрютка в России ► 3 Прохождение Destroy All Humans! 2: Reprobed 2024, November
Anonim
Periférny radar pre zrakovo postihnutých
Periférny radar pre zrakovo postihnutých

V dôsledku strašnej nehody môj priateľ nedávno stratil zrak na pravé oko. Bol dlho bez práce a keď sa vrátil, povedal mi, že jednou z najnervóznejších vecí, s ktorými sa musí vyrovnať, je nedostatok vedomia, čo je na jeho pravej strane. Menej periférneho videnia znamená narážanie na veci a ľudí. Toto mi vadilo Rozhodol som sa, že musíme niečo urobiť.

Chcel som postaviť zariadenie, ktoré by dokázalo merať vzdialenosť k objektom na pravej strane môjho priateľa. Môj plán je použiť haptický motor na vibrovanie zariadenia nepriamo úmerne vzdialenosti k objektu. Ak by boli predmety ďaleko, motor by nevibroval a keď bol predmet bližšie, začal by vibrovať na nízkej úrovni. Ak by bol predmet blízko, vibroval by na oveľa vyššej úrovni (alebo na akejkoľvek úrovni, ktorú by ste chceli). Zariadenie by muselo byť dostatočne malé, aby mohlo visieť na boku okuliarov a snímač smerovať doprava. Môj priateľ by si zariadenie položil na pravú stranu okuliarov, ale samozrejme pre niekoho iného to mohla byť ľavá strana.

Pamätal som si, že mám doma niekoľko akustických senzorov vzdialenosti. Sú však trochu veľké a objemné, menej presné a pravdepodobne by boli príliš ťažké na použitie na okuliaroch. Začal som hľadať niečo iné.

To, čo som našiel, bol snímač času letu ST Electronics VL53L0X. Jedná sa o infračervený laser a infračervený detektor v jednom balení. Vydáva impulz laserového svetla mimo rozsah viditeľný pre človeka (940 nm) a zaznamenáva uplynulý čas, ktorý je potrebný na detekciu odrazeného impulzu. Rozdelí tento čas na 2 a vynásobí sa rýchlosťou svetla, čím sa vytvorí veľmi presná vzdialenosť v milimetroch. Senzor dokáže detekovať vzdialenosť až 2 metre, ale ako som videl, optimálnejší je 1 meter.

Ako sa to stáva, Adafruit má oddeľovaciu dosku VL53L0X. Potreboval som teda vibračný motor, ktorý tiež mali, a mikrokontrolér, aby to všetko bežalo. Náhodou som mal po ruke PJRC Teensy 3.2. Aj keď bol väčší, ako som chcel, mal schopnosť taktovať nízkou rýchlosťou. Chcel som znížiť hodiny, aby som šetril energiu. A pokiaľ ide o zdroj energie, mal som v nevyžiadanej schránke regulátor zosilnenia Sparkfun spolu s držiakom batérie AAA. Mal som takmer všetko, čo som potreboval.

Krok 1: Prvý prototyp

Prvý prototyp
Prvý prototyp
Prvý prototyp
Prvý prototyp

Vzal som súčiastky, ktoré som mal poruke, a vyrobil som ručný prototyp zariadenia, ktoré som si predstavoval. Vytlačil som 3D rukoväť a montážnu dosku a všetku elektroniku som spájkoval na protoboard Adafruit. Vibračný motor som k Teensy pripojil cez tranzistor 2N3904 NPN. Pridal som potenciometer, ktorý sa použije na nastavenie maximálnej vzdialenosti, na ktorú bude zariadenie reagovať.

Nechal som to bežať do budúceho víkendu (pozri obrázok vyššie). Nebolo to pekné, ale ukázalo to princíp. Môj priateľ mohol držať zariadenie na pravej strane a vyskúšať, či by bolo zariadenie užitočné alebo nie, a pomohlo by mu to spresniť funkcie.

Krok 2: Prototyp č. 2

Prototyp č. 2
Prototyp č. 2
Prototyp č. 2
Prototyp č. 2
Prototyp č. 2
Prototyp č. 2

Po prvom ručnom prototype som začal vytvárať menšiu verziu. Chcel som sa dostať bližšie k svojmu cieľu vyrobiť niečo, čo sa zmestí na okuliare. Teensy, ktorý som použil v ručnej verzii, mi umožnil spomaliť hodiny, aby sa šetrila energia. Ale veľkosť mala byť faktorom, a tak som prešiel na Adafruit Trinket M0. Aj keď má takt 48 MHz, procesor ARM, na ktorom je založený, môže byť taktovaný pomalšie. Použitím interného RC oscilátora môže pracovať na 8, 4 2 a dokonca 1 MHz.

Prototyp č. 2 sa spojil veľmi rýchlo, pretože som to mal všetko dohromady budúci víkend. Obvody boli rovnaké ako v prototype č. 1 okrem ARM M0. 3D som vytlačil malý kryt a na zadnú stranu som dal vodítka, aby sa dali nasunúť na okuliare. Pozrite sa na obrázok vyššie. Pôvodne bol taktovaný na frekvenciu 48 MHz.

Krok 3: Prototyp č. 3

Prototyp č. 3
Prototyp č. 3

Tento návod sa teda skutočne začína tu. Rozhodol som sa vyrobiť posledný prototyp. Rozhodol som sa ho stlačiť tak malý, ako som len mohol, a to bez použitia vlastného PWB (kde som si istý, že smerujeme). Vo zvyšku tohto návodu sa dozviete, ako si ho vytvoriť. Rovnako ako ľudia, ktorí vyrábajú 3D vytlačené ruky pre deti so zdravotným postihnutím, dúfam, že ich vyrobia aj ľudia s podobnou stratou zraku v oku.

Zoznam dielov som ponechal rovnaký ako prototyp č. 2, ale rozhodol som sa odstrániť potenciometer. Po rozhovore s priateľom sme sa rozhodli pomocou softvéru nastaviť maximálnu vzdialenosť. Pretože mám možnosť používať dotykový senzor pomocou Teensy, maximálnu vzdialenosť by sme mohli vždy nastaviť dotykom. Jeden dotyk nastaví krátku vzdialenosť alebo viac dotykov dlhšiu vzdialenosť, ďalší dotyk najdlhšiu vzdialenosť a potom sa pre ďalší dotyk zabaľte späť na začiatok. Najprv však na cestu použijeme pevnú vzdialenosť.

Krok 4: Diely

Časti
Časti

Na tento prototyp som potreboval menšiu dosku. Išiel som s protoboardom Sparkfun (PRT-12702), pretože malé rozmery (asi 1,8 "x 1,3") by boli vhodnou veľkosťou na fotografovanie.

Ako zdroj energie som tiež potreboval použiť niečo iné ako batériu AAA. LiPo sa javil ako správna voľba, pretože bude mať úložnú kapacitu a nízku hmotnosť. Skúsil som gombíkový článok, ale nemal dostatok energie na to, aby vydržal s motorom dlho. Vybral som malý LiPo, ktorý má kapacitu 150 mAh.

Chcel som zostať pri Trinket M0 a samozrejme pri odpočinkovej doske VL53L0X.

Teraz, keď sme sa dostali k podrobnostiam, tu je zoznam dielov pre tento prototyp:

Senzor vzdialenosti letu Adafruit VL53L0X - ID PRODUKTU: 3317 Adafruit - vibračný mini motorový disk - ID PRODUKTU: 1201 Adafruit - lítium -iónová polymérová batéria - 3,7 v 150 mAh Sparkfun - JST pravouhlý konektor - 2 -kolíkový otvor - PRT -09749 10K ohmový odpor - Junkbox (pozrite sa na svoju podlahu) 2N3904 NPN tranzistor - Junkbox (alebo telefón priateľovi) Nejaký prepojovací drôt (použil som lanko s priemerom 22)

Na nabitie batérie LiPo som tiež nabral:

Adafruit - Micro Lipo - USB LiIon/LiPoly nabíjačka - v1 - ID PRODUKTU: 1304

Krok 5: Schéma

Schematický
Schematický

Schéma tohto zariadenia je uvedená vyššie. Dotykový vstup bude pre budúcu verziu, ale aj tak je schematicky zobrazený. 10K odpor medzi Trinket M0 a základňou 2N3904 tiež poskytuje dostatok základne na zapnutie motora bez toho, aby ste ho príliš silno buchli.

Nasleduje podrobný popis montáže.

Krok 6: Protoboard

Protoboard
Protoboard

Mnohí z vás, ktorí majú skúsenosti, to vedia, ale je to pre tých, ktorí môžu byť s spájkovaním protoboardov úplní nováčikovia:

Protoboard Sparkfun (PRT-12702) zobrazený vyššie má 17 stĺpcov (skupín) po 5 kolíkoch na každej strane s medzerou tri desatiny palca. Každý zvislý stĺpik 5 kolíkov na oboch stranách medzery je navzájom spoločný. Tým chcem povedať, že akékoľvek spojenie s pinom v skupine je prepojením s každým ďalším pinom v skupine. V prípade tejto dosky sa to nezdá zrejmé, ale môžete to overiť pomocou DVM (digitálneho voltmetra). Ak sa pozriete zozadu, môžete len rozoznať stopy spájajúce skupiny.

Krok 7: Umiestnenie komponentu

Umiestnenie komponentov
Umiestnenie komponentov
Umiestnenie komponentov
Umiestnenie komponentov

Pravdepodobne budete musieť spájkovať kolíkové pásy k Trinket M0 a VL53L0X. Oba sú dodávané s prúžkami, ale je potrebné ich spájkovať. Spoločnosť Adafruit má vo svojom vzdelávacom centre pokyny pre obe tieto časti. Ak ste v tom noví, choďte tam (tu a tu) pred spájkovaním pásikov na dosky. Kolíkové lišty poskytujú nižší profil ako zásuvka.

Prvá vec, ktorú je potrebné zvážiť pri spájkovaní niečoho na protoboard s obmedzeným priestorom, je umiestnenie komponentov. Trinket a VL53L0X som umiestnil do polôh uvedených na obrázku vyššie. Trinket má kolíky na oboch okrajoch dosky, ale VL53L0X má 7 kolíkov na jednom okraji dosky. Strana VL53L0X, ktorá nemá kolíky, použijeme na pripojenie niektorých komponentov … ako uvidíme.

Tiež som spájkoval posuvný prepínač do polohy a spájkoval som 2N3904. Stmavil som otvory, kde sú tieto časti umiestnené, a pre 2N3904 som poznamenal, ktoré kolíky sú zberač, základňa a vysielač. Pri prvom spájkovaní by ste ho mali nechať kolmo na dosku, aby ste mohli spájkovať ďalšie spojenia. Neskôr ho budete môcť (opatrne) prehnúť, aby bol bližšie k rovine s doskou.

POZNÁMKA: Zariadenie JST Battery Breakout sa v súčasnej dobe NIPOJUJE s doskou. Bude spájkovaný na zadnú stranu dosky, ale až PO spájkovaní našich ostatných spojení. Bude to posledná vec, ktorú spájkujeme.

Krok 8: Drôty

Drôty
Drôty

Diagram vyššie zobrazuje protoboard opäť so zatemnenými otvormi, kde budú umiestnené súčiastky. Pridal som k nim štítky pozdĺž okrajov, aby bolo jednoduchšie prevliekanie. Upozorňujeme, že vibračný motor je zobrazený, ale bude umiestnený na zadnej strane dosky a bude zapojený takmer posledný, takže ho zatiaľ ignorujte. Tiež ukazujem prerušovaný riadok JST Battery Breakout. Ako je uvedené v predchádzajúcom kroku, nepripájajte ho, ale ponechajte 4 otvory v hornej časti dosky otvorené (t. J. Nepájajte ich).

V tomto mieste predpokladám, že viete, ako odstrániť izoláciu z drôtu, pocínovať konce spájkou a spájkou na dosku. Ak nie, navštívte jeden z návodov na spájkovanie.

V tomto kroku spájkujte drôty, ako je znázornené žltou farbou. Koncové body sú otvory, do ktorých by ste ich mali spájkovať. Na dosku by ste mali tiež spájkovať 10K ohmový odpor, ako ukazuje. Vykonávajú sa tieto spojenia:

1. Pripojenie od kladného pólu batérie k terminálu COMmon (v strede) posuvného spínača. Jedna strana posuvného prepínača bude v kontakte so vstupom BAT na drobnosť. Palubný regulátor Trinket generuje 3,3 V zo vstupného napätia BAT.

2. Pripojenie zo záporného (uzemňovacieho) pólu batérie k zemi Trinketu.

3. Pripojenie zo záporného (uzemňovacieho) pólu batérie k emitoru 2N3904

4. Pripojenie z 3,3 voltového (3V) kolíka Trinketu na VIN VL53L0X. VL53L0X to bude ďalej regulovať na 2,8 voltov pre vlastnú potrebu. Toto napätie tiež privádza na kolík, ale nepotrebujeme ho, takže zostane nepripojený.

Krok 9: Viac drôtov

Viac drôtov
Viac drôtov

Teraz teda pridáme ďalšiu skupinu drôtov, ako je to znázornené vyššie. Tu je zoznam jednotlivých spojení:

1. Pripojenie z pinu Trinket označeného ako 2 na pin SC53 VL53L0X. Toto je hodinový signál I2C. Trinket používa na komunikáciu s VL53L0X sériový protokol I2C.

2. Pripojenie z pinu Trinket označeného ako 0 (nula) ku kolíku SDA VL53L0X. Toto je dátový signál I2C.

3. Pripojenie od kolíka GN53 VL53L0X cez medzeru na protoboarde k vysielaču 2N3904. To poskytuje VL53L0X uzemnenie.

4. Pripojenie z pinu Trinketu označeného ako 4 na 10K odpor. Toto je pohon vibračného motora. Tento drôt by mal byť určite spájkovaný na zadnú stranu dosky, ak zvolíte môj bod pripojenia.

Nezabudnite, že každá vertikálna skupina 5 pinov je navzájom spoločných, takže sa môžete pripojiť kdekoľvek v tejto skupine, čo je výhodné. Na fotografiách mojej tabule si všimnete, že som zmenil niekoľko svojich bodov pripojenia. Pokiaľ sú správnym spojením, potom je v poriadku akákoľvek podložka, ktorú si vyberiete.

Krok 10: Vibračný motor

Vibračný motor
Vibračný motor

Vibračný motor je na zadnej strane vybavený samolepkou, ktorá sa dá odlepiť. Odtiahnutím odhalíte lepkavý materiál, ktorý umožní prilepenie motora na zadnú stranu dosky (ale skôr, ako ho nalepíte, si pozrite komentár nižšie). Umiestnil som ho vľavo (pri pohľade na zadnú stranu dosky) dosky JST Battery Breakout, ktorú sme ešte nepripojili. Nechajte teda priestor pre dosku JST Battery Breakout. Tiež som sa chcel uistiť, že kovové puzdro motora neskratuje žiadne kolíky cez medzeru protoboardu. Odrezal som teda malý kúsok obojstrannej pásky a prilepil ju na zadnú stranu lepivej strany vibračného motora. Potom som to natlačil na zadnú stranu dosky. Pomáha držať kovové puzdro vysoko a mimo akýchkoľvek kolíkov. Ale napriek tomu dávajte pozor, aby ste ho umiestnili tak, aby NEZKRATILO žiadne piny.

Pripojte červený vodič vibračného motora k 3V kolíku Trinket. Čierny drôt vibračného motora je spájkovaný s kolektorom 2N3904. Keď softvér pulzuje 2N3904 (poskytuje logiku 1 ako 3,3 V), tranzistor sa zapne a pripojí čierny vodič vibračného motora k zemi (alebo blízko nej). Vďaka tomu motor vibruje.

Mohol som pridať väčšiu kapacitu v mieste pripojenia červeného vodiča vibračného motora. Ale na linke Trinket 3,3 V je kapacita, takže som si istý, že je to v poriadku, ale ak chcete pridať inú kapacitu, môžete … pokiaľ ju môžete stlačiť. Na to záleží, že červený vodič sa môže pripojiť priamo na kladnú stranu batérie LiPo. Vybral som stranu 3,3 V, aby bolo napätie konštantné. Zatiaľ sa zdá, že to funguje dobre.

Krok 11: Naposledy, ale nie najmenej…

V neposlednom rade…
V neposlednom rade…
V neposlednom rade…
V neposlednom rade…

Nakoniec pripojíme odpájaciu dosku JST Battery k zadnej strane protoboardu. Spájkoval som kolíky na dosku a položil som oddeľovaciu dosku batérie JST tak, aby horná strana smerovala k protoboardu, ako je to znázornené vyššie. Pri umiestňovaní tejto časti skontrolujte, či ste spájkovali vodiče pre plusovú batériu a uzemnenie k správnym kolíkom. Ak sa mýlite, obrátite polaritu dielov a pravdepodobne ich zničíte. Pred spájkovaním a zapojením batérie preto prosím skontrolujte a znova skontrolujte.

Krok 12: Softvér

Softvér
Softvér

Na inštaláciu a/alebo úpravu softvéru budete potrebovať Arduino IDE a súbory dosky pre Trinket M0, ako aj knižnice pre VL53L0X. To všetko je tu, tu a tu.

Postupujte podľa pokynov na používanie Adafruit M0 na ich vzdelávacom webe tu.

Akonáhle je softvér načítaný, doska by sa mala spustiť a bežať na sériovom pripojení USB. Presuňte bočnú stranu dosky pomocou VL53L0X blízko steny alebo ruky a mali by ste cítiť, ako motor vibruje. Vibrácie by mali byť v amplitúde nižšie, čím ďalej od zariadenia je predmet.

Správanie sa v zariadení je do istej miery vysvetlené v komentároch v zdrojovom kóde. Priložený graf by však mal tento bod dobre uviesť. Zariadenie by nemalo vibrovať skôr, ako asi 863 mm od predmetu. Maximálnu úroveň vibrácií dosiahne 50 mm od predmetu. Ak sa priblížite k predmetu menšiemu ako 50 mm, zariadenie nebude vytvárať viac vibrácií ako pri 50 mm.

Krok 13: Príloha

Ohrada
Ohrada
Ohrada
Ohrada
Ohrada
Ohrada
Ohrada
Ohrada

Navrhol som skriňu a 3D vytlačil ju z ABS plastu. Môžete ho vytlačiť z PLA alebo ABS alebo z akéhokoľvek materiálu, ktorý chcete. Používam ABS, pretože v prípade potreby môžem na dosku zvárať kúsky acetónom. Doska, ktorú som navrhol, je jednoduchá a má otvor pre port USB na Trinket a otvor pre vypínač. Dve dosky som prichytil k sebe pomocou krátkych ramienok po stranách škatule. Nemám to veľmi rád, takže to pravdepodobne zmením. Samozrejme môžete vykonať akékoľvek zmeny, ktoré by ste chceli vidieť.

Práve teraz pre túto verziu musí byť krabica otvorená, aby sa batéria LiPo odpojila a nabila. Ak pre tento projekt vytvorím obvodovú dosku, pridám ďalší konektor, aby bola batéria prístupná bez otvorenia krabice. Na tomto dizajne protoboardu je možné to urobiť a vytvoriť konektor pre nabíjanie. Ak to chcete skúsiť, podeľte sa o svoje výsledky.

Podarilo sa mi navrhnúť krabicu, ktorú som úplne neznášal. Ten použijeme na testovanie systému. Pripojil som hornú a dolnú časť škatule ako súbory STL, ako aj konzolu/vodítko, ku ktorej som pridal dno. Pridal som pár vodítok pomocou acetónu na chemické zvarenie dielov k sebe. Ak to robíte, buďte opatrní. Zostavu môžete vidieť vyššie.

Krok 14: Čo teraz?

Teraz čo?
Teraz čo?

Skontrolujte ma … Som starý a možno som na niečo zabudol alebo som to pokazil. Prečítam si to znova a skontrolujem to, ale stále mi niečo chýba. Neváhajte mi povedať, čo som urobil/urobil zle.

A teraz, keď ste skonštruovali dosku periférneho radaru, vložili ju a batéria LiPo je v peknom 3D tlačenom kufríku (keď ho dokončím alebo, ak ste urobili svoj vlastný), čo budete robiť ďalej? Myslím si, že by ste mali získať skúsenosti s jeho fungovaním a vykonávať úpravy softvéru. Licenčná zmluva v softvéri uvádza, že ho môžete používať, ale ak vykonáte akékoľvek zmeny, musíte ich zdieľať. Netvrdím, že softvér pre tento projekt je nejakým spôsobom komplikovaný alebo úžasný. Plní svoje ciele, ale je čo zlepšovať. Pomôžte vylepšiť toto zariadenie a podeľte sa o to s nami všetkými. Pamätajte si, že tento projekt je o pomoci ľuďom. Takže, pomôžte!

Odporúča: