Obsah:
- Krok 1: První prototyp
- Krok 2: Prototyp č. 2
- Krok 3: Prototyp č. 3
- Krok 4: Díly
- Krok 5: Schéma
- Krok 6: Protoboard
- Krok 7: Umístění komponent
- Krok 8: Dráty
- Krok 9: Více vodičů
- Krok 10: Vibrační motor
- Krok 11: Poslední, ale ne nejméně…
- Krok 12: Software
- Krok 13: Příloha
- Krok 14: Co teď?
Video: Periferní radar pro zrakově postižené: 14 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
V důsledku strašlivé nehody můj přítel nedávno ztratil zrak na pravé oko. Dlouho byl bez práce, a když se vrátil, řekl mi, že jednou z nejnervóznějších věcí, se kterou se musí vypořádat, je nedostatek znalosti toho, co je na jeho pravé straně. Méně periferního vidění znamená narážení na věci a lidi. To mi vadilo. Rozhodl jsem se, že musíme něco udělat.
Chtěl jsem postavit zařízení, které by dokázalo měřit vzdálenost k objektům na pravé straně mého přítele. Můj plán je použít haptický motor k vibraci zařízení nepřímo úměrně vzdálenosti k objektu. Pokud by tedy předměty byly daleko, motor by nevibroval a když byl předmět blíže, začal by vibrovat na nízké úrovni. Pokud by byl předmět blízko, vibroval by na mnohem vyšší úrovni (nebo na jakékoli jiné úrovni, kterou byste chtěli). Zařízení by muselo být dostatečně malé, aby mohlo viset na straně brýlí se senzorem směřujícím doprava. Můj přítel by si dal zařízení na pravou stranu brýlí, ale samozřejmě pro někoho jiného to mohla být levá strana.
Pamatoval jsem si, že mám doma nějaké akustické snímače vzdálenosti. Ale jsou trochu velké a objemné, méně přesné a pravděpodobně by byly příliš těžké pro použití na brýlích. Začal jsem hledat něco jiného.
Co jsem našel, byl snímač ST-Electronics VL53L0X Time-of-Flight. Jedná se o infračervený laser a infračervený detektor v jednom balení. Vyzařuje puls laserového světla mimo rozsah viditelný pro člověka (940 nm) a zaznamenává uplynulý čas potřebný k detekci odraženého pulsu. Tento čas vydělí 2 a vynásobí rychlostí světla, čímž vytvoří velmi přesnou vzdálenost v milimetrech. Senzor dokáže detekovat vzdálenost až 2 metry, ale jak jsem viděl, 1 metr je optimálnější.
Jak se to stává, Adafruit má rozbíjecí desku VL53L0X. Potřeboval jsem tedy vibrační motor, který také měli, a mikrokontrolér, aby to všechno běželo. Náhodou jsem měl po ruce PJRC Teensy 3.2. I když byl větší, než jsem chtěl, měl schopnost být taktován nízkou rychlostí. Chtěl jsem snížit rychlost hodin, abych ušetřil energii. A pokud jde o zdroj energie, měl jsem v nevyžádané krabici regulátor Sparkfun boost spolu s držákem baterie AAA. Měl jsem téměř vše, co jsem potřeboval.
Krok 1: První prototyp
Vzal jsem součásti, které jsem měl po ruce, a vytvořil ruční prototyp zařízení, které jsem si představoval. Vytiskl jsem 3D rukojeť a montážní desku a veškerou elektroniku jsem připájel na protoboard Adafruit. Vibrační motor jsem připojil k Teensy přes tranzistor 2N3904 NPN. Přidal jsem potenciometr, který bude použit k nastavení maximální vzdálenosti, na kterou bude zařízení reagovat.
Nechal jsem to běžet do příštího víkendu (viz obrázek výše). Nebylo to hezké, ale demonstrovalo to princip. Můj přítel mohl držet zařízení na pravé straně a vyzkoušet, zda by zařízení bylo užitečné nebo ne, a pomoci upřesnit, co chce pro funkce.
Krok 2: Prototyp č. 2
Po prvním ručním prototypu jsem začal vyrábět menší verzi. Chtěl jsem se přiblížit svému cíli vyrobit něco, co by se vešlo na brýle. Teensy, který jsem použil na ruční verzi, mi umožnil zpomalit hodiny, abych ušetřil energii. Ale velikost byla faktorem, a tak jsem přešel na Adafruit Trinket M0. Zatímco jeho taktovací frekvence je 48 MHz, procesor ARM, na kterém je založen, může být taktován pomaleji. Použitím interního RC oscilátoru může běžet na 8, 4 2 a dokonce 1 MHz.
Prototyp č. 2 se sešel docela rychle, protože jsem měl vše dohromady příští víkend. Obvody byly stejné jako u prototypu č. 1 s výjimkou ARM M0. 3D jsem vytiskl malý výběh a na zadní stranu jsem dal vodítka, aby to šlo nasunout na brýle. Viz obrázek výše. Zpočátku je taktován na frekvenci 48 MHz.
Krok 3: Prototyp č. 3
Tady tedy tento Instructable opravdu začíná. Rozhodl jsem se udělat jeden poslední prototyp. Rozhodl jsem se to zmáčknout tak malé, jak jsem jen mohl, bez použití vlastního PWB (což je místo, kde jsem si jistý, že míříme). Zbytek tohoto Instructable bude o tom, jak vám ukázat, jak si jej vytvořit. Stejně jako lidé, kteří vyrábějí 3D tištěné ruce pro děti s postižením, doufám, že je lidé vyrobí pro kohokoli s podobnou ztrátou zraku v oku.
Seznam dílů jsem ponechal stejný jako prototyp č. 2, ale rozhodl jsem se odstranit potenciometr. Po rozhovoru s mým přítelem jsme se rozhodli nastavit maximální vzdálenost pomocí softwaru. Protože mám možnost používat dotykový senzor pomocí Teensy, maximální vzdálenost můžeme vždy nastavit dotykem. Jedním dotykem nastavíte krátkou vzdálenost nebo více dotykem delší vzdálenost, dalším dotknete nejdelší vzdálenost a pak se pro další dotek zabalíte zpět na začátek. Nejprve však použijeme pevnou vzdálenost.
Krok 4: Díly
Pro tento prototyp jsem potřeboval menší desku. Šel jsem s protoboardem Sparkfun (PRT-12702), protože malé rozměry (asi 1,8 "x 1,3") by byly vhodnou velikostí pro fotografování.
Jako zdroj energie jsem také potřeboval použít něco jiného než baterii AAA. LiPo vypadal jako správná volba, protože bude mít skladovací kapacitu a nízkou hmotnost. Zkoušel jsem knoflíkový článek, ale neměl dost síly na to, aby zvládl motor tak dlouho. Vybral jsem malý LiPo, který má kapacitu 150 mAH.
Chtěl jsem zůstat u Trinket M0 a samozřejmě ulomené desky VL53L0X.
Když už jsme u podrobností, zde je seznam dílů pro tento prototyp:
Senzor vzdálenosti letu Adafruit VL53L0X - ID PRODUKTU: 3317 Adafruit - vibrační mini motorový disk - ID PRODUKTU: 1201 Adafruit - lithium -iontová polymerová baterie - 3,7v 150mAh - ID PRODUKTU: 1317 SparkFun - pájecí prkénko - Mini - PRT -12702 Sparkfun - JST pravoúhlý konektor - průchozí otvor 2pinový - PRT -09749 10K ohmový odpor - Junkbox (podívejte se na podlahu) 2N3904 NPN tranzistor - Junkbox (nebo telefon příteli) Nějaký propojovací drát (použil jsem lanko o průměru 22)
K nabíjení baterie LiPo jsem také nabral:
Adafruit - Micro Lipo - USB LiIon/LiPoly nabíječka - v1 - ID PRODUKTU: 1304
Krok 5: Schéma
Schéma tohoto zařízení je uvedeno výše. Dotykový vstup bude pro budoucí verzi, ale stejně je zobrazen ve schématu. Rezistor 10K mezi Trinket M0 a základnou 2N3904 také poskytuje dostatek základny pro zapnutí motoru, aniž by jej příliš tvrdě zabouchl.
Následuje podrobný popis montáže.
Krok 6: Protoboard
Mnoho z vás, kteří mají zkušenosti, to ví, ale toto je pro ty, kteří mohou být noví v pájení protoboardů:
Výše zobrazený protoboard Sparkfun (PRT-12702) má 17 sloupců (skupin) po 5 pinech na každé straně mezery tři desetiny palce. Každý svislý sloupek 5 kolíků na obou stranách mezery je navzájem společný. Tím mám na mysli, že jakékoli připojení k pinu ve skupině je připojením ke každému jinému pinu ve skupině. U této desky se to nezdá zřejmé, ale můžete to ověřit, pokud používáte DVM (Digital Volt Meter). Pokud se podíváte na zadní stranu, můžete jen rozeznat stopy spojující skupiny.
Krok 7: Umístění komponent
Pravděpodobně budete muset připájet kolíkové lišty k Trinketu M0 a VL53L0X. Oba jsou dodávány s proužky, ale je třeba je pájet. Společnost Adafruit má ve svém výukovém centru pokyny pro obě tyto části. Pokud jste v tom noví, jděte tam (zde a zde) před pájením pásků na desky. Kolíkové lišty poskytují nižší profil než zásuvka.
První věc, kterou je třeba zvážit při pájení něčeho na protoboard s omezeným prostorem, je umístění komponent. Trinket a VL53L0X jsem umístil do poloh zobrazených na obrázku výše. Trinket má kolíky na obou okrajích desky, ale VL53L0X má 7 kolíků na jednom okraji desky. Strana VL53L0X, která nemá piny, použijeme k připojení některých komponent … jak uvidíme.
Také jsem připájel posuvný spínač do polohy a připájel jsem 2N3904. Zatemnil jsem otvory, kde jsou tyto části umístěny, a u 2N3904 jsem zaznamenal, které piny jsou sběratel, základna a vysílač. Při prvním pájení byste jej měli nechat kolmo na desku, abyste mohli pájet další spoje. Později ho budete moci (opatrně) ohnout, takže bude blíže tomu, aby byl v jedné rovině s deskou.
POZNÁMKA: JST Battery Breakout se v tuto chvíli NEPOJUJE na desku. Bude připájen na zadní stranu desky, ale až PO pájení ostatních našich spojů. Bude to poslední věc, kterou pájíme.
Krok 8: Dráty
Výše uvedený diagram ukazuje protoboard opět se zatemněnými otvory, kde budou umístěny součásti. Štítky jsem k nim přidal podél okrajů, aby bylo snadnější navlékání. Všimněte si vibračního motoru, ale bude umístěn na zadní straně desky a bude připojen téměř naposledy, takže prozatím jej ignorujte. Ukazuji také JST Battery Breakout s přerušovanou čarou. Jak je uvedeno v předchozím kroku, nepřipojujte jej, ale prosím ponechte 4 otvory v horní části desky otevřené (tj. Nepájejte je).
V tomto bodě předpokládám, že víte, jak odizolovat izolaci z drátu, pocínovat konce pájkou a pájkou na desku. Pokud ne, podívejte se prosím na jeden z instrukčních pokynů o pájení.
V tomto kroku pájejte vodiče, jak je znázorněno žlutě. Koncovými body jsou otvory, do kterých byste je měli pájet. Měli byste také připojit desku 10K ohmového rezistoru k desce jako show. Provádí se tato připojení:
1. Připojení od kladného pólu baterie ke svorce COMmon (uprostřed) posuvného přepínače. Jedna strana posuvného přepínače bude v kontaktu se vstupem BAT do cetky. Integrovaný regulátor Trinket generuje 3,3 V ze vstupního napětí BAT.
2. Připojení od záporného (uzemňovacího) pólu baterie k zemi Trinketu.
3. Připojení od záporného (uzemňovacího) pólu baterie k emitoru 2N3904
4. Připojení z 3,3 voltového (3V) pinu Trinketu k VIN VL53L0X. VL53L0X to bude dále regulovat na 2,8 voltů pro vlastní použití. Také toto napětí přivede na pin, ale nepotřebujeme ho, takže zůstane ponecháno bez připojení.
Krok 9: Více vodičů
Nyní tedy přidáme další skupinu vodičů, jak je uvedeno výše. Zde je seznam jednotlivých připojení:
1. Připojení z pinu Trinketu označeného jako 2 na pin SC53 VL53L0X. Toto je hodinový signál I2C. Trinket ke komunikaci s VL53L0X používá sériový protokol I2C.
2. Připojení z pinu Trinketu označeného jako 0 (nula) ke kolíku SDA VL53L0X. Toto je datový signál I2C.
3. Připojení od kolíku GND VL53L0X přes mezeru na protoboardu k vysílači 2N3904. To poskytuje VL53L0X uzemnění.
4. Připojení z pinu Trinketu označeného jako 4 na 10K odpor. Toto je pohon vibračního motoru. Tento drát by měl být určitě připájen na zadní stranu desky, pokud zvolíte můj bod připojení.
Pamatujte si, že každá vertikální skupina 5 pinů je navzájem společná, takže se můžete připojit kamkoli z této skupiny, což je výhodné. Na fotografiích mé desky si všimnete, že jsem změnil několik svých bodů připojení. Dokud jsou správným spojením, pak jakákoli podložka, kterou si vyberete, je v pořádku.
Krok 10: Vibrační motor
Vibrační motor je na zadní straně vybaven samolepkou, kterou lze oddělit. Vytáhnete to, abyste odhalili lepkavý materiál, který umožňuje přilepení motoru na zadní stranu desky (ale před nalepením si přečtěte komentář níže). Umístil jsem to vlevo (při pohledu na zadní stranu desky) desky JST Battery Breakout, kterou jsme ještě nepřipojili. Ponechte tedy místo pro desku JST Battery Breakout. Také jsem se chtěl ujistit, že kovové pouzdro motoru nezkratuje žádné kolíky přes mezeru protoboardu. Uřízl jsem tedy malý kousek oboustranné pásky a nalepil ji na zadní stranu lepivé strany vibračního motoru. Pak jsem to natlačil na zadní stranu desky. Pomáhá udržovat kovové pouzdro vysoko a mimo jakékoli kolíky. Ale přesto dávejte pozor, abyste jej umístili tak, aby nezkratoval žádné piny.
Pájejte červený vodič vibračního motoru na 3V kolík Trinketu. Černý vodič vibračního motoru je připájen ke kolektoru 2N3904. Když software pulzuje 2N3904 (poskytuje logiku 1 jako 3,3 V), zapne se tranzistor připojením černého vodiče vibračního motoru k zemi (nebo blízko ní). Díky tomu motor vibruje.
Mohl jsem přidat nějakou kapacitu do bodu připojení červeného drátu vibračního motoru. Ale na lince 3,3 V Trinket je kapacita, takže jsem si jistý, že je to v pořádku, ale pokud chcete přidat nějakou jinou kapacitu, můžete … tak dlouho, jak ji můžete stlačit dovnitř. Z tohoto důvodu by se mohl červený vodič připojit přímo na kladnou stranu baterie LiPo. Vybral jsem stranu 3,3 V, aby bylo napětí konstantní. Zatím to vypadá, že to funguje dobře.
Krok 11: Poslední, ale ne nejméně…
Nakonec připojíme desku pro odpojení baterie JST k zadní straně protoboardu. Na desku jsem připájel kolíky a umístil desku pro rozbití baterie JST horní stranou směrem k protoboardu, jak je uvedeno výše. Když umístíte tuto část, ujistěte se, že jste připájili vodiče pro kladnou baterii a uzemnění na správné kolíky. Pokud se mýlíte, obrátíte polaritu částí a pravděpodobně je zničíte. Před pájením a připojením baterie proto prosím zkontrolujte a znovu zkontrolujte.
Krok 12: Software
K instalaci a/nebo úpravě softwaru budete potřebovat Arduino IDE a soubory desek pro Trinket M0 a také knihovny pro VL53L0X. To vše je tady, tady a tady.
Postupujte podle pokynů k používání Adafruit M0 na jejich výukovém webu zde.
Jakmile je software načten, deska by se měla spustit a běžet na sériovém připojení USB. Přesuňte stranu desky pomocí VL53L0X blízko zdi nebo ruky a měli byste cítit, jak motor vibruje. Vibrace by se měly v amplitudě snižovat, čím dále od zařízení je předmět.
Chování pozorované v zařízení je poněkud vysvětleno v komentářích ve zdrojovém kódu. Přiložený graf by však měl tento bod dobře uvést. Zařízení by nemělo začít vibrovat, dokud není od předmětu přibližně 863 mm. Maximální úrovně vibrací dosáhne 50 mm od předmětu. Pokud se přiblížíte k předmětu blíže než 50 mm, zařízení nebude vydávat žádné větší vibrace než při 50 mm.
Krok 13: Příloha
Navrhl jsem skříň a 3D vytiskl ji v ABS plastu. Můžete jej vytisknout v PLA nebo ABS nebo z jakéhokoli materiálu, který chcete. Používám ABS, protože v případě potřeby mohu na desku přivařit kousky acetonu. Deska, kterou jsem navrhl, je jednoduchá a má otvor pro port USB na Trinketu a otvor pro vypínač. Udělal jsem, aby se dvě desky zacvakly k sobě pomocí ručiček na bocích krabice. Moc se mi to nelíbí, takže to pravděpodobně změním. Samozřejmě můžete provést jakékoli změny, které byste chtěli vidět.
Právě teď pro tuto verzi musí být krabice otevřena, aby se baterie LiPo odpojila a dobila. Pokud pro tento projekt vytvořím desku s obvody, přidám další konektor, aby byla baterie přístupná bez otevření krabice. Na tomto protoboardovém designu je možné to udělat a udělat otvor pro konektor pro nabíjení. Pokud to chcete vyzkoušet, podělte se o své výsledky.
Podařilo se mi navrhnout krabici, kterou jsem úplně nesnášel. Ten použijeme k otestování systému. Připojil jsem horní a dolní část krabice jako soubory STL, stejně jako držák/vodítko, které jsem přidal dole. Přidal jsem pár vodítek pomocí acetonu k chemickému svařování dílů dohromady. Pokud to uděláte, buďte opatrní. Sestavu můžete vidět výše.
Krok 14: Co teď?
Zkontrolujte mě … Jsem starý a možná jsem na něco zapomněl nebo se zmátl. Znovu to čtu a kontroluji, ale stále mi mohou něco chybět. Klidně mi řekněte, co jsem udělal/udělal špatně.
A teď, když jste sestrojili desku Peripheral Radar a vložili ji a LiPo baterie je v pěkném 3D tištěném pouzdře (až ji dokončím, nebo pokud jste udělali vlastní), co budete dělat dál? Myslím, že byste měli získat zkušenosti s jeho fungováním a provádět úpravy softwaru. Licenční smlouva v softwaru uvádí, že ji můžete použít, ale pokud provedete jakékoli změny, budete je muset sdílet. Neříkám, že software pro tento projekt je nějakým způsobem komplikovaný nebo úžasný. Splňuje své cíle, ale existuje prostor pro zlepšení. Pomozte nám toto zařízení vylepšit a sdílejte ho s námi všemi. Pamatujte, že tento projekt je o pomoci lidem. Takže pomoc!
Doporučuje:
Hmatová bota pro zrakově postižené: 12 kroků
Hmatová obuv pro zrakově postižené: Na celém světě je více než 37 milionů lidí se zrakovým postižením. Většina z těchto lidí používá k dojíždění hůl, klacek nebo je závislá na nějaké jiné osobě. Snižuje to nejen jejich nezávislost, ale také v některých případech poškozuje jejich vlastní
Průvodce pro zlepšení mobility zrakově postižených: 6 kroků
Pěší průvodce pro zlepšení mobility zrakově postižených: Cílem instruktážního kurzu je vyvinout průvodce, který by mohli používat zdravotně postižení lidé, zejména zrakově postižení. Instructable má v úmyslu prozkoumat, jak lze pěší průvodce efektivně využívat, aby požadavky na design
Vylepšený zážitek z autobusu pro zrakově postižené s Arduino a 3D tiskem: 7 kroků
Vylepšená zkušenost s autobusem pro zrakově postižené s Arduinem a 3D tiskem: Jak lze zjednodušit dojíždění veřejnou dopravou pro osoby se zhoršeným zrakem? Data v reálném čase na mapových službách jsou při využívání veřejné dopravy často nespolehlivá. zrakově postižení jedinci. T
Digitální hřiště - Inclusive pro zrakově postižené děti: 13 kroků (s obrázky)
Digitální hřiště - Inkluzivní pro zrakově postižené děti: Tento návod začíná předchozím projektem - vybudováním jediné tlakové podložky - a poté pokračuje dále, aby ukázal, jak lze tento jednoduchý technologický projekt rozšířit tak, aby bylo celé hřiště digitální! Tato technologie již existuje ve formě
Zařízení pro zrakově postižené: 4 kroky
Zařízení pro zrakově postižené: Tento tutoriál je založen na open source projektu Arduino pro Smart Cane a telefon, který pomáhá nevidomým chodit samostatně kamkoli pomocí vstupů poskytovaných přes snímač překážek a poskytování zpětné vazby prostřednictvím haptiky (vibrační motor). T