Turinys:
- 1 žingsnis: Pirmasis prototipas
- 2 žingsnis: 2 prototipas
- 3 žingsnis: 3 prototipas
- 4 žingsnis: dalys
- 5 žingsnis: schema
- 6 žingsnis: „Protoboard“
- 7 žingsnis: komponentų išdėstymas
- 8 žingsnis: laidai
- 9 žingsnis: daugiau laidų
- 10 žingsnis: vibracinis variklis
- 11 žingsnis: paskutinis, bet ne mažesnis…
- 12 veiksmas: programinė įranga
- 13 žingsnis: gaubtas
- 14 žingsnis: O kas dabar?
Video: Periferinis radaras silpnaregiams: 14 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Dėl siaubingos avarijos mano draugas neseniai prarado regėjimą dešine akimi. Jis ilgą laiką buvo be darbo ir grįžęs man pasakė, kad vienas iš labiausiai nervinančių dalykų, su kuriais tenka susidurti, yra nežinojimas, kas yra jo dešinėje pusėje. Mažiau periferinis regėjimas reiškia atsitrenkti į daiktus ir žmones. Tai mane trikdė. Nusprendžiau, kad turime ką nors padaryti.
Norėjau sukurti prietaisą, galintį išmatuoti atstumą iki objektų, esančių mano draugo dešinėje pusėje. Mano planas yra naudoti haptinį variklį, kad prietaisas vibruotų atvirkščiai proporcingai atstumui iki objekto. Tada, jei objektai būtų toli, variklis nesivibruotų, o kai objektas būtų arčiau, jis pradėtų vibruoti žemu lygiu. Jei objektas būtų arti, jis vibruotų daug aukštesniame lygyje (ar kokiame norimame lygyje). Įrenginys turėtų būti pakankamai mažas, kad galėtų kabėti ant akinių šono, o jutiklis nukreiptas į dešinę. Mano draugas įdėjo prietaisą į dešinę akinių pusę, bet, žinoma, kam nors kitam, tai gali būti kairėje pusėje.
Prisiminiau, kad namuose turėjau keletą akustinių atstumo jutiklių. Tačiau jie yra šiek tiek dideli ir didelių gabaritų, mažiau tikslūs ir greičiausiai būtų per sunkūs naudoti ant akinių. Pradėjau ieškoti kažko kito.
Radau „ST Electronics VL53L0X“skrydžio laiko jutiklį. Tai infraraudonųjų spindulių lazeris ir infraraudonųjų spindulių detektorius vienoje pakuotėje. Jis skleidžia lazerio šviesos impulsą už žmogaus matomo diapazono ribų (940 nm) ir registruoja prabėgusį laiką, kurio reikia aptikti atsispindėjusį impulsą. Šį laiką jis padalija iš 2 ir padaugina iš šviesos greičio, todėl atstumas milimetrais yra labai tikslus. Jutiklis gali aptikti atstumą iki 2 metrų, tačiau, kaip mačiau, 1 metras yra optimalesnis.
Kaip atsitinka, „Adafruit“turi „VL53L0X“pertraukimo lentą. Taigi man reikėjo vibruojančio variklio, kurį jie taip pat turėjo, ir mikrovaldiklio, kad visa tai veiktų. Turėjau rankoje „PJRC Teensy 3.2“. Nors jis buvo didesnis nei norėjau, jis galėjo būti rodomas lėtai. Norėjau sumažinti laikrodžio greitį, kad sutaupyčiau energijos. Kalbant apie energijos šaltinį, šiukšlių dėžėje turėjau „Sparkfun“padidinimo reguliatorių ir AAA baterijos laikiklį. Turėjau beveik viską, ko man reikėjo.
1 žingsnis: Pirmasis prototipas
Aš paėmiau turimas dalis ir sukūriau rankinį prototipą mano numatyto prietaiso. Aš 3D atspausdinau rankeną ir tvirtinimo plokštę ir litavau visą elektroniką ant „Adafruit“protobooto. Vibracinį variklį prijungiau prie „Teensy“per 2N3904 NPN tranzistorių. Pridėjau potenciometrą, kuris bus naudojamas maksimaliam atstumui, į kurį prietaisas reaguos, nustatyti.
Kitą savaitgalį jį pradėjau veikti (žr. Paveikslėlį aukščiau). Tai nebuvo gražu, bet parodė principą. Mano draugas galėjo laikyti prietaisą dešinėje pusėje ir patikrinti, ar prietaisas bus naudingas, ar ne, ir padėti patikslinti, ko jis norėjo dėl funkcijų.
2 žingsnis: 2 prototipas
Po pirmojo rankinio prototipo pradėjau kurti mažesnę versiją. Norėjau priartėti prie savo tikslo padaryti kažką, kas tilptų ant akinių. „Teensy“, kurį naudoju rankinėje versijoje, leido man sulėtinti laikrodį, kad sutaupyčiau energijos. Tačiau dydis turėjo būti veiksnys, todėl perėjau prie „Adafruit Trinket M0“. Nors jo laikrodžio dažnis yra 48 MHz, ARM procesorius, kuriuo jis pagrįstas, gali būti lėtesnis. Naudojant vidinį RC osciliatorių, jis gali veikti 8, 4 2 ir net 1 MHz dažniu.
2 prototipas susidėjo gana greitai, nes visą savaitgalį turėjau viską kartu. Grandinė buvo tokia pati kaip 1 prototipas, išskyrus ARM M0. Aš 3D atspausdinau nedidelį korpusą ir uždėjau kreipiklius ant nugaros, kad jį būtų galima nustumti ant akinių. Žiūrėkite paveikslėlį aukščiau. Iš pradžių jis yra skleidžiamas 48 MHz dažniu.
3 žingsnis: 3 prototipas
Taigi, šis „Instructable“tikrai prasideda čia. Aš nusprendžiau sukurti paskutinį prototipą. Nusprendžiu suspausti jį kuo mažesnį, kad galėčiau nenaudoti pasirinktinio PWB (šiuo atveju esu tikras, kad einame). Likusi šios instrukcijos dalis bus skirta parodyti, kaip tai padaryti. Tikiuosi, kad žmonės, gaminantys 3D spausdintas rankas neįgaliems vaikams, tikiuosi, kad žmonės tai padarys visiems, turintiems panašų regėjimo praradimą akyje.
Aš išlaikiau dalių sąrašą kaip ir prototipą Nr. 2, bet nusprendžiau pašalinti potenciometrą. Pasikalbėję su savo draugu, nusprendėme maksimalų atstumą nustatyti naudodami programinę įrangą. Kadangi naudodamas „Teensy“turiu galimybę naudoti jutiklinį jutiklį, palietę visada galėjome nustatyti maksimalų atstumą. Vienas prisilietimas nustato trumpą atstumą arba daugiau paliečia ilgesnį atstumą, kitas paliečia ilgiausią atstumą, o dar vienu prisilietimu apvyniokite atgal į pradžią. Tačiau iš pradžių mes naudosime fiksuotą atstumą.
4 žingsnis: dalys
Šiam prototipui man reikėjo mažesnės plokštės. Važiavau su „Sparkfun“protoboardu (PRT-12702), nes jis yra nedidelių matmenų (apie 1,8 colio x 1,3 colio) būtų tinkamas šaudyti.
Taip pat kaip energijos šaltinį turėjau naudoti ką nors kitą, išskyrus AAA bateriją. „LiPo“atrodė tinkamas pasirinkimas, nes jis turėtų talpyklos ir lengvo svorio. Išbandžiau monetų elementą, tačiau jis neturėjo pakankamai galios, kad galėtų ilgai valdyti variklį. Aš pasirinkau mažą LiPo, kurio talpa yra 150 mAH.
Aš ketinau likti su „Trinket M0“ir, žinoma, su „VL53L0X“prasiveržimo lenta.
Dabar, kai susipažinome su detalėmis, pateikiame šio prototipo dalių sąrašą:
„Adafruit VL53L0X“skrydžio laiko jutiklis - PRODUKTO ID: 3317 „Adafruit“- vibruojantis mini variklio diskas - PRODUKTO ID: 1201 „Adafruit“- ličio jonų polimerų baterija - 3.7v 150mAh - PRODUKTO ID: 1317 „SparkFun“- su lydmetaliu sujungta duonos lenta - Mini - PRT -12702 „Sparkfun“- JST stačiakampė jungtis - per 2 skylių skylę - PRT -09749 10 K omų rezistorius - „Junkbox“(žiūrėkite ant grindų)
Norėdami įkrauti „LiPo“akumuliatorių, taip pat surinkau:
Adafruit - Micro Lipo - USB LiIon/LiPoly įkroviklis - v1 - PRODUKTO ID: 1304
5 žingsnis: schema
Šio įrenginio schema parodyta aukščiau. Jutiklinis įvestis bus skirta būsimai versijai, tačiau ji vis tiek rodoma schemoje. Be to, 10K rezistorius tarp „Trinket M0“ir „2N3904“pagrindo suteikia tik tiek pagrindo, kad įjungtų variklį, jo per stipriai nespaudžiant.
Toliau pateikiamas žingsnis po žingsnio surinkimo aprašymas.
6 žingsnis: „Protoboard“
Daugelis iš jūsų, kurie yra patyrę, tai žino, bet tai tiems, kurie gali būti nauji lituoti protoboards:
Aukščiau parodyta „Sparkfun“protoboard (PRT-12702) turi 17 stulpelių (grupių) po 5 kaiščius kiekvienoje trijų dešimtųjų colių tarpo pusėje. Kiekvienas vertikalus 5 kaiščių stulpelis abiejose tarpo pusėse yra bendras vienas kitam. Turiu omenyje, kad bet koks ryšys su grupės kaiščiu yra ryšys su kiekvienu kitu grupės kaiščiu. Šios plokštės atveju tai neatrodo akivaizdu, tačiau tai galite patikrinti, jei naudojate DVM (skaitmeninį voltų matuoklį). Jei pažvelgsite į nugarą, galite tiesiog nustatyti pėdsakus, jungiančius grupes.
7 žingsnis: komponentų išdėstymas
Tikriausiai turite lituoti kaiščių juostas tiek prie „Trinket M0“, tiek prie „VL53L0X“. Abu jie yra su juostelėmis, tačiau juos reikia lituoti. „Adafruit“savo mokymosi centre turi instrukcijas dėl abiejų šių dalių. Jei nesate naujokas, eikite ten (čia ir čia) prieš lituodami juosteles ant lentų. Smeigtukų juostelės suteikia žemesnį profilį nei lizdas.
Pirmas dalykas, į kurį reikia atsižvelgti lituojant kažką ant ribotos erdvės protobooto, yra komponentų išdėstymas. Aš įdėjau „Trinket“ir „VL53L0X“į tokias pozicijas, kaip parodyta aukščiau esančiame paveikslėlyje. „Trinket“turi kaiščius abiejuose plokštės kraštuose, tačiau „VL53L0X“turi 7 kaiščius viename plokštės krašte. VL53L0X pusę, kurioje nėra kaiščių, naudosime kai kuriems komponentams prijungti … kaip matysime.
Aš taip pat lituodavau slankiklį į padėtį ir lituodavau 2N3904. Aš užtamsinau skyles, kuriose tos dalys dedamos, ir 2N3904 pažymėjau, kurie kaiščiai yra surinkėjas, pagrindas ir skleidėjas. Pirmą kartą lituodami palikite statmenai plokštei, kad galėtumėte lituoti kitas jungtis. Vėliau galėsite jį sulenkti (atsargiai), kad jis būtų arčiau plokštumos.
PASTABA: „JST Battery Breakout“šiuo metu NĖRA lituojamas prie plokštės. Jis bus lituojamas ant lentos galo, bet tik po to, kai lituosime kitas jungtis. Tai bus paskutinis dalykas, kurį lituosime.
8 žingsnis: laidai
Aukščiau pateiktoje schemoje vėl parodyta prototipas su patamsėjusiomis skylėmis, kuriose bus komponentai. Pridedu jiems etiketes išilgai kraštų, kad būtų lengviau viela. Atkreipkite dėmesį, kad vibracinis variklis yra parodytas, tačiau jis bus užpakalinėje plokštės pusėje ir bus prijungtas beveik paskutinį kartą, todėl kol kas nekreipkite dėmesio. Taip pat rodau „JST Battery Breakout“su punktyrine linija. Kaip nurodyta ankstesniame žingsnyje, nejunkite jo, bet palikite 4 skyles plokštės viršuje atidarytas (t. Y. Nelituokite prie jų).
Aš manau, kad šiuo metu jūs žinote, kaip nuimti izoliaciją nuo vielos, galus išlydyti lydmetaliu ir lydmetaliu prie lentos. Jei ne, eikite į vieną iš litavimo instrukcijų.
Norėdami tai padaryti, lituokite laidus, kaip parodyta geltonai. Galutiniai taškai yra skylės, į kurias turėtumėte lituoti. Taip pat turėtumėte lituoti 10K omo rezistorių prie plokštės, kaip parodyta. Sujungimai yra šie:
1. Ryšys iš teigiamo akumuliatoriaus gnybto į slankiklio jungiklio COMmon (centrinį) gnybtą. Viena šliaužiklio jungiklio pusė paliečia GPGB įvestį į „Trinket“. „Trinket“borto reguliatorius generuoja 3,3 V iš GPGB įėjimo įtampos.
2. Jungtis iš neigiamo akumuliatoriaus (įžeminimo) gnybto į „Trinket“įžeminimą.
3. Jungtis iš neigiamo akumuliatoriaus (įžeminimo) gnybto į 2N3904 emiterį
4. Jungtis iš „Trinket“3,3 voltų (3 V) kaiščio prie VL53L0X VIN. VL53L0X toliau reguliuos tai iki 2,8 voltų savo reikmėms. Ši įtampa taip pat išvedama į kaištį, bet mums to nereikia, todėl ji bus neprijungta.
9 žingsnis: daugiau laidų
Taigi dabar pridedame kitą laidų grupę, kaip parodyta aukščiau. Čia yra kiekvieno ryšio sąrašas:
1. „Trinket“kaiščio, pažymėto kaip 2, prijungimas prie VL53L0X SCL kaiščio. Tai yra I2C laikrodžio signalas. „I2C“serijinis protokolas yra tas, kurį „Trinket“naudoja bendravimui su VL53L0X.
2. „Trinket“kaiščio, pažymėto 0 (nulis), prijungimas prie „VL53L0X SDA“kaiščio. Tai yra I2C duomenų signalas.
3. Jungtis iš VL53L0X GND kaiščio per protoboard tarpą prie 2N3904 skleidėjo. Tai suteikia pagrindą VL53L0X.
4. Jungtis iš „Trinket“kaiščio, pažymėto kaip 4, prie 10K rezistoriaus. Tai yra vibracinio variklio pavara. Ši viela tikrai turėtų būti lituojama ant galinės plokštės pusės, jei pasirinksite mano prijungimo tašką.
Atminkite, kad bet kuri vertikali 5 kaiščių grupė yra bendra viena kitai, todėl galite prisijungti bet kurioje šios grupės vietoje. Mano lentos nuotraukose pastebėsite, kad pakeičiau keletą ryšio taškų. Kol jie yra tinkami ryšiai, tada bet kuri pasirinkta pagalvėlė yra tinkama.
10 žingsnis: vibracinis variklis
Vibracinis variklis turi lipduką ant nugaros. Ištraukę tai atskleisite lipnią medžiagą, leidžiančią variklį pritvirtinti prie lentos galo (tačiau prieš klijuodami žiūrėkite žemiau esantį komentarą). Padėjau jį į kairę (žiūrėdamas į plokštės galą) nuo „JST Battery Breakout“plokštės, kurios dar nepridėjome. Taigi, palikite šiek tiek vietos „JST Battery Breakout“plokštei. Taip pat norėjau įsitikinti, kad metalinis variklio korpusas netrumpino kaiščių per protoboardo tarpą. Taigi, aš nukirpau nedidelį dvipusės juostos gabalėlį ir priklijavau prie vibracinio variklio lipniosios pusės galo. Tada nustūmiau jį ant lentos galo. Tai padeda išlaikyti metalinį dėklą aukštai ir toli nuo kaiščių. Tačiau vis tiek būkite atsargūs ir padėkite jį taip, kad netrumpintų kaiščių.
Lituokite raudoną vibracinio variklio laidą prie „Trinket“3V kaiščio. Vibracinio variklio juoda viela yra lituojama prie 2N3904 kolektoriaus. Kai programinė įranga impulsuoja 2N3904 (pateikia logiką 1 kaip 3,3 V), tranzistorius įjungia vibracinio variklio juodos vielos prijungimą prie žemės (arba arti jo). Dėl to variklis vibruoja.
Aš galėjau pridėti šiek tiek talpos prie vibracinio variklio raudonojo laido prijungimo taško. Bet „Trinket“3.3V linijoje yra talpa, todėl esu įsitikinęs, kad viskas gerai, bet jei norite pridėti dar vieną talpą, galite… kol galite ją įspausti. Šiuo atveju raudona viela gali būti prijungta tiesiai į teigiamą „LiPo“akumuliatoriaus pusę. Aš pasirinkau 3.3V pusę, kad įtampa būtų pastovi. Kol kas atrodo, kad tai veikia gerai.
11 žingsnis: paskutinis, bet ne mažesnis…
Galiausiai prijungiame „JST Battery“pertraukimo plokštę prie galinės protoboard pusės. Lituodavau kaiščius ant plokštės ir uždėdavau „JST Battery“pertraukimo plokštę viršutine puse į protobo, kaip parodyta aukščiau. Įsitikinkite, kad, įdėdami šią dalį, laidus teigiamam akumuliatoriui ir įžeminote prie tinkamų kaiščių. Jei klystate, pakeisite dalių poliškumą ir greičiausiai jas sunaikinsite. Taigi, prieš litavimą ir akumuliatoriaus prijungimą, patikrinkite ir patikrinkite dar kartą.
12 veiksmas: programinė įranga
Norėdami įdiegti ir (arba) modifikuoti programinę įrangą, jums reikės „Arduino IDE“ir „Trinket M0“lentos failų, taip pat VL53L0X bibliotekų. Visa tai yra čia, čia ir čia.
Vykdykite „Adafruit M0“naudojimo instrukcijas jų mokymosi svetainėje čia.
Įkėlus programinę įrangą, plokštė turėtų būti paleista ir paleista naudojant USB nuoseklųjį ryšį. Perkelkite lentos šoną su VL53L0X prie sienos ar rankos ir pajusite, kaip variklis vibruoja. Kuo toliau nuo prietaiso yra objektas, vibracijos amplitudė turėtų mažėti.
Prietaiso elgesys šiek tiek paaiškinamas šaltinio kodo komentaruose. Tačiau pridėtas grafikas turėtų gerai parodyti šį tašką. Prietaisas turi pradėti vibruoti tik maždaug 863 mm atstumu nuo objekto. Maksimalų vibracijos lygį jis pasieks 50 mm atstumu nuo objekto. Jei judate arčiau nei 50 mm objekto, prietaisas nesukels didesnės vibracijos nei 50 mm.
13 žingsnis: gaubtas
Sukūriau korpusą ir 3D atspausdinau jį iš ABS plastiko. Galite atspausdinti jį PLA arba ABS arba bet kokia medžiaga. Aš naudoju ABS, nes prireikus ant plokštės galiu suvirinti acetono detales. Mano suprojektuota plokštė yra paprasta ir turi skylę „Trinket“USB prievadui ir skylę maitinimo jungikliui. Aš padariau, kad dvi lentos būtų suspaudžiamos kartu su mažomis rankomis dėžutės šonuose. Man tai labai nepatinka, todėl greičiausiai pakeisiu. Žinoma, galite atlikti bet kokius pakeitimus, kuriuos norėtumėte matyti.
Šiuo metu šios versijos dėklas turi būti atidarytas, kad būtų atjungtas „LiPo“akumuliatorius, kad jį būtų galima įkrauti. Jei šiam projektui sukursiu plokštę, pridėsiu kitą jungtį, kad baterija būtų prieinama neatidarant dėžutės. Tai gali būti įmanoma padaryti naudojant šią protoboard konstrukciją ir padaryti skylę jungčiai įkrauti. Jei norite tai išbandyti, pasidalykite savo rezultatais.
Man pavyko sukurti dėžutę, kurios visiškai nekenčiau. Mes naudosime tai, kad išbandytume sistemą. Aš pridėjau dėžutės viršutinę ir apatinę dalis kaip STL failus, taip pat laikiklį/vadovą, kurį pridėjau apačioje. Aš pridėjau porą kreiptuvų, naudodami acetoną, kad dalys būtų chemiškai suvirintos. Jei tai padarysite, būkite atsargūs. Surinkimą galite pamatyti aukščiau.
14 žingsnis: O kas dabar?
Patikrinkite mane … Aš senas ir galbūt kažką pamiršau arba suklydau. Aš vėl skaitau ir tikrinu, bet vis tiek galiu praleisti dalykus. Nesivaržykite man pasakyti, ką padariau/padariau neteisingai.
O dabar, kai sukūrėte periferinio radaro plokštę ir ją įkėlėte, o „LiPo“baterija yra gražiame 3D atspausdintame dėkle (kai ją baigiu arba, jei padarėte savo), ką daryti toliau? Manau, turėtumėte įgyti patirties, kaip ji veikia, ir pakeisti programinę įrangą. Programinės įrangos licencijos sutartyje teigiama, kad galite ja naudotis, tačiau jei atliksite kokių nors pakeitimų, privalote jais pasidalyti. Aš nesakau, kad šio projekto programinė įranga yra kažkuo sudėtinga ar nuostabi. Jis pasiekia savo tikslus, tačiau yra kur tobulėti. Padėkite patobulinti šį įrenginį ir pasidalykite juo su visais. Atminkite, kad šis projektas skirtas padėti žmonėms. Taigi, padėk!
Rekomenduojamas:
„Haptic“batai silpnaregiams: 12 žingsnių
„Haptic“batai regėjimo negalią turintiems žmonėms: visame pasaulyje yra daugiau nei 37 mln. Dauguma šių žmonių važinėja naudodamiesi cukranendrėmis, lazda ar priklausomi nuo kito asmens. Tai ne tik sumažina jų priklausomybę nuo savęs, bet ir kai kuriais atvejais kenkia jų pačių
Ultragarso radaras naudojant „Arduino Nano“ir serijinį braižytuvą: 10 žingsnių
Ultragarso radaras naudojant „Arduino Nano“ir serijinį braižytuvą: Šioje instrukcijoje sužinosime apie servo bibliotekos pagrindus, taip pat nustatysime ultragarso jutiklį ir naudosime jį kaip radarą. šio projekto išvestis bus matoma serijinio braižytuvo monitoriuje
Stacionarus radaras (LIDAR) su „Arduino“: 10 žingsnių (su nuotraukomis)
Stacionarių radarų (LIDAR) masyvas su Arduino: Kai kuriu dvikojį robotą, visada galvojau turėti kokią nors šaunią programėlę, kuri galėtų atsekti mano priešininką ir su juo atlikti puolimo judesius. Čia jau yra radarų/„lidar“projektų grupių. Tačiau mano tikslui yra keletas apribojimų
„Sonar“, „Lidar“ir „Computer Vision“naudojimas mikrovaldikliuose, kad padėtų silpnaregiams: 16 žingsnių
„Sonar“, „Lidar“ir „Computer Vision“naudojimas mikrovaldikliuose, kad padėtų silpnaregiams: noriu sukurti protingą „cukranendrę“, kuri gali padėti žmonėms, turintiems regėjimo negalią, daug labiau nei esami sprendimai. Lazdelė galės pranešti vartotojui apie objektus priekyje arba šonuose, sukeldama triukšmą erdvinio garso tipo ausinėse
Periferinis maitinimo valdymas su ekrano užsklanda: 3 žingsniai (su paveikslėliais)
Išorinis maitinimo valdymas naudojant ekrano užsklandą: Pirma: šis projektas prijungiamas prie kompiuterio spausdintuvo prievado. Aš nebūsiu atsakingas už tai, kad kas nors sugedo savo pagrindinę plokštę. Prašau, būkite atsargūs ir tris kartus patikrinkite visus savo ryšius, jei ketinate bandyti kažką panašaus