Inhoudsopgave:

Radarbril: 14 stappen (met afbeeldingen)
Radarbril: 14 stappen (met afbeeldingen)

Video: Radarbril: 14 stappen (met afbeeldingen)

Video: Radarbril: 14 stappen (met afbeeldingen)
Video: Dubai 2024, November
Anonim
Radarbril
Radarbril

Afgelopen zomer, toen we op vakantie waren in Maine, ontmoetten we nog een stel: Mike en Linda. Linda was blind en was blind sinds de geboorte van (denk ik) hun eerste kind. Ze waren erg aardig en we hebben veel gelachen samen. Toen we thuiskwamen, bleef ik maar denken aan hoe het zou zijn om blind te zijn. Blinden hebben ziende honden en wandelstokken en ik weet zeker dat er nog veel andere dingen zijn om hen te helpen. Maar toch moeten er veel uitdagingen zijn. Ik probeerde me voor te stellen hoe het zou zijn en vroeg me af of ik als elektronica-nerd iets kon doen.

Ik verbrandde mijn ogen op een zomer met een lasser toen ik ongeveer 20 jaar oud was (lang verhaal … dom kind). Het is iets dat ik nooit zal vergeten. Hoe dan ook, ik had mijn ogen een dag laten patchen. Ik herinner me dat mijn moeder probeerde me de straat over te steken. Ik bleef haar vragen of de auto's waren gestopt. Ze zei zoiets als: "Ik ben je moeder… denk je dat ik je het verkeer in loop?" Terugdenkend aan wat een dweeb ik was toen ik een tiener was, vroeg ik me af. Maar ik kon er niet overheen komen, niet wetende of er iets op het punt stond me in het gezicht te raken terwijl ik liep. Ik was erg blij en opgelucht toen we de pleisters eraf haalden. Dat is het enige dat in de buurt komt van 'ervaring' dat ik in mijn leven heb gehad met betrekking tot blindheid.

Ik heb onlangs nog een Instructable geschreven over een jonge vriend op het werk die zijn gezichtsvermogen in zijn rechteroog verloor en een apparaat dat ik voor hem heb gemaakt om hem te vertellen of er iets aan zijn rechterkant was. Als je het wilt lezen, het is hier. Dat apparaat gebruikte een Time-of-Flight-sensor van ST Electronics. Ongeveer een minuut na het afronden van dat project besloot ik dat ik een apparaat kon maken om blinden te helpen. De VL53L0X-sensor die ik voor dat project gebruikte, heeft een grote broer/zus-sensor, de VL53L1X. Dit apparaat kan grotere afstanden meten dan de VL53L0X. Er was een breakout board voor de VL53L0X van Adafruit en voor de VL53L1X was er een breakout board van Sparkfun. Ik besloot een bril te maken met de VL53L1X aan de voorkant en een haptisch feedbackapparaat (vibrerende motor) achter de bril bij de neusbrug. Ik zou de motor omgekeerd evenredig laten trillen met de afstand tot een object, d.w.z. hoe dichter een object bij de bril was, hoe meer het zou trillen.

Ik moet hier opmerken dat de VL53L1X een zeer smal gezichtsveld heeft (programmeerbaar tussen 15-27 graden), wat betekent dat ze ZEER directioneel zijn. Dit is belangrijk omdat het een goede resolutie geeft. Het idee is dat de gebruiker zijn hoofd kan bewegen als een radarantenne. Dit samen met de smalle FOV stelt de gebruiker in staat om objecten op verschillende afstanden beter te onderscheiden.

Een opmerking over de VL53L0X- en VL53L1X-sensoren: het zijn time-of-flight-sensoren. Dit betekent dat ze een LASER-puls uitzenden (laag vermogen en in het infraroodspectrum dus ze zijn veilig). De sensor keert hoe lang het duurt om de gereflecteerde puls terug te zien komen. Dus afstand is gelijk aan tarief X tijd, zoals we ons allemaal herinneren van wiskunde/wetenschapslessen, toch? Dus, deel de tijd door de helft en vermenigvuldig met de lichtsnelheid en je krijgt afstand. Maar zoals een ander Instructables-lid opmerkte, had de bril LiDAR-bril kunnen worden genoemd, omdat het gebruik van een LASER op deze manier Light Distance and Ranging (LiDAR) is. Maar zoals ik al zei, niet iedereen weet wat LiDAR is, maar ik denk dat de meeste mensen RADAR wel kennen. En hoewel infrarood licht en radio allemaal deel uitmaken van het elektromagnetische spectrum, wordt licht niet als een radiogolf beschouwd zoals microgolffrequenties. Dus ik laat de titel als RADAR, maar nu begrijp je het.

Dit project gebruikt in principe hetzelfde schema als dat voor het andere project… zoals we zullen zien. De grote vragen voor dit project zijn: hoe monteren we de elektronica op een bril en wat voor bril gebruiken we?

Stap 1: De bril

De glazen
De glazen

Ik besloot dat ik waarschijnlijk een eenvoudige bril kon ontwerpen en deze met mijn 3D-printer kon printen. Ik besloot ook dat ik alleen het skelet of frame van de bril hoefde te 3D-printen. Ik zou een printplaat toevoegen om de componenten in te solderen. De printplaat (protoboard) zou aan de frames worden bevestigd, wat het geheel sterker zou maken. Een 3D-weergave van de frames is hierboven weergegeven.

De STL-bestanden zijn ook bij deze stap gevoegd. Er zijn drie bestanden: left.stl, right.stl (de oortjes/armen) en glasses.stl (de monturen).

Stap 2: De printplaat

De printplaat
De printplaat

Ik gebruikte een Adafruit Perma-Proto Full Sized Breadboard. Ik plaatste het breadboard over de voorkant van de bril en centreerde ze. De bovenrand van de bril heb ik zelfs met de bovenkant van het protoboard gemaakt. Het rechthoekige deel van de bril dat vanaf de bovenkant uitsteekt, is waar de Time-Of-Flight-sensor uiteindelijk zal worden gemonteerd. Een groot deel van de bovenkant van dit deel van de frames steekt boven het protoboard uit. Dit is OK omdat we niets aan de bovenkant van de sensor hoeven te solderen, alleen aan de onderkant.

Er is een gat in het midden van het breadboard dat bijna precies bovenop de plaats van de neusbrug in de bril zit. Ik heb de 4 gaten in het frame op het protoboard gemarkeerd met een fijne puntmarkering. Vervolgens heb ik de gaten in het breadboard geboord.

Vervolgens heb ik de frames op het breadboard gemonteerd met M2.5-schroeven. De mijne zijn van nylon en hiervoor heb ik een hele set schroeven van Adafruit gekregen. Nadat de schroeven waren bevestigd, nam ik een marker en trok een lijn rond de frames op het breadboard. Voor mij heb ik de inkepingen aan de zijkanten van de frames recht naar beneden gemarkeerd waar de oorstukken zich zullen bevinden. Dit heeft mijn voorkeur…maar misschien wil je dat de oordelen van het montuur zichtbaar zijn.

Stap 3: Het uitsnijden

Het uitsnijden
Het uitsnijden

Vervolgens nam ik de 4 schroeven terug uit het vasthouden van de frames aan het breadboard. Ik heb materiaal ruw verwijderd buiten de lijn die we hebben gemarkeerd. Ik was voorzichtig om een beetje uit de buurt van de lijnen te blijven, omdat ik dit later zou verfijnen met de tafelblad-bandschuurmachine die ik heb. U kunt een bestand gebruiken … maar we lopen voorop.

Je kunt ruw rond de lijn snijden met alle middelen die je hebt. Misschien een lintzaag? Nou, ik heb er geen. Ik heb een 'knabbelschaar' voor printplaten, dus die heb ik gebruikt. Het heeft behoorlijk wat tijd gekost en het is nogal een sleur om te doen. Maar printplaatmateriaal kan versplinteren en barsten en dus wilde ik het langzaamaan doen. Ik knabbelde mijn weg rond en ook omhoog in het gebied van de neus … maar slechts ruwweg. Op de foto hierboven kun je zien wat ik aan het doen was.

Stap 4: Schuren of vijlen

Schuren of vijlen
Schuren of vijlen
Schuren of vijlen
Schuren of vijlen

Ik heb het materiaal veel dichter bij de lijn verwijderd met mijn tafelbladbandschuurmachine. Nogmaals, je kunt een bestand gebruiken als je niets anders hebt. Het enige wat ik hier over schuren kan zeggen is dat, afhankelijk van de korrel van het schuurmiddel in de schuurmachine, voorzichtig moet zijn met hoeveel materiaal je probeert te verwijderen. Er is geen weg terug. Soms kan een enkele slip het bord verpesten (of het er op zijn minst asymmetrisch of onzuiver uit laten zien). Dus neem de tijd.

Je kunt mijn voor- en na-foto's hierboven zien.

Stap 5: Fijnafstemming

Scherpstellen
Scherpstellen

Ik maakte de frames weer vast met de 4 schroeven en ging terug naar de bandschuurmachine. Ik heb heel erg voorzichtig geschuurd tot aan de rand van de frames. Ik moest wel een ronde vijl in het neusgedeelte gebruiken omdat ik met mijn schuurmachine gewoon niet zo'n scherpe bocht kon maken. Zie mijn eindresultaten hierboven.

Stap 6: De sensor toevoegen

De sensor toevoegen
De sensor toevoegen
De sensor toevoegen
De sensor toevoegen

Op dit punt heb ik de VL53L1X sensor breakout board toegevoegd. Eerst voegde ik twee lange M2.5 nylon schroeven toe die ze door de gaten in de frames en door de gaten in de VL53L1X duwden. Ik voegde een nylon moer toe aan elke schroef en draaide ze heel voorzichtig vast. Over de bovenkant van elke moer heb ik twee (vier in totaal) nylon ringen toegevoegd. Deze zijn nodig om ervoor te zorgen dat de VL53L1X-sensor parallel aan het protoboard ligt.

Ik heb een aansluitstrip met 6 posities op het bord geplaatst in een positie zodat de gaten in de bovenkant van de VL53L1X in lijn liggen met de twee schroeven die ik aan de bovenkant van de frames heb geplaatst (met de nylon ringen). Ik voegde nylon moeren toe aan de uiteinden van de schroeven en draaide ze opnieuw voorzichtig vast. Zie de foto's hierboven.

Stap 7: Schematisch

Schematisch
Schematisch

Zoals ik al eerder zei, is het schema ongeveer hetzelfde als dat van het Peripheral Radar-project. Een verschil is dat ik een drukknop (een geldcontactschakelaar) heb toegevoegd. Ik kan me voorstellen dat we er op een gegeven moment een nodig hebben om van modus te veranderen of een functie te implementeren … dus het is beter om het nu te hebben dan het later toe te voegen.

Ik heb ook een 10K potentiometer toegevoegd. De pot wordt gebruikt om de afstand aan te passen die de software beschouwt als de maximale afstand om op te reageren. Zie het als een gevoeligheidsregeling.

Het schema is hierboven weergegeven.

De onderdelenlijst (die ik eerder had moeten geven) is als volgt:

SparkFun Afstandssensor Breakout - 4 Meter, VL53L1X - SEN-14722 Adafruit - Vibrerende Mini Motor Disc - PRODUCT ID: 1201Adafruit - Lithium Ion Polymeer Batterij - 3.7v 150mAh - PRODUCT ID: 1317Adafruit Perma-Proto Full-sized Breadboard PCB - Enkel - PRODUCT ID: 1606Tactile Switch Buttons (6mm dun) x 20 pack - PRODUCT ID: 1489Sparkfun - JST haakse connector - Through-hole 2-pins - PRT-0974910K ohm weerstand - Junkbox (kijk op je vloer) 10K-100K ohm weerstand - Junkbox (kijk op je vloer in de buurt van de 10K-weerstanden) 2N3904 NPN Transistor - Junkbox (of bel een vriend) Wat aansluitdraad (ik gebruikte 22 gauge stranded)

Om de LiPo-batterij op te laden pakte ik ook: Adafruit - Micro Lipo - USB LiIon/LiPoly-oplader - v1 - PRODUCT ID: 1304

Stap 8: Componenten plaatsen

Componenten plaatsing
Componenten plaatsing

Ik probeerde zo slim mogelijk te zijn met het plaatsen van de componenten. Ik probeer meestal bepaalde pinnen zoals stroom en aarde uit te lijnen … als ik kan. Ik probeer op zijn minst draadlengtes te minimaliseren. Ik moest er zeker van zijn dat er een ruimte vrij was boven waar de brug van de neus is voor de vibratiemotor. Uiteindelijk kwam ik uit op de plaatsing die op de foto hierboven te zien is.

Stap 9: Terrein

terrein
terrein

Ik heb eerst alle componenten op het bord gesoldeerd in de posities die ik had gekozen. Vervolgens heb ik aardverbindingen toegevoegd. Handig was dat een van de grote lange stroken op de PWB nog steeds zichtbaar was, dus ik maakte dit de gemeenschappelijke grondstrook.

De afbeelding hierboven toont de aardaansluitingen en de 10K-weerstand. Ik ga je niet vertellen waar je elke draad moet plaatsen, omdat de meeste mensen hun eigen ideeën hebben over hoe ze dingen moeten doen. Ik ga je gewoon laten zien wat ik heb gedaan.

Stap 10: Draden

Draden
Draden

Ik heb de rest van de draden toegevoegd zoals weergegeven in de afbeelding hierboven. Ik heb een stuk dubbel plakband onder de vibratiemotor toegevoegd om ervoor te zorgen dat deze op zijn plaats wordt gehouden. Het plakkerige materiaal dat al op de bodem van de motor zat, voelde voor mij niet sterk genoeg aan.

Ik gebruikte 22 gauge draad voor mijn verbindingen. Als je iets kleiners hebt, gebruik het dan. Ik gebruikte 22 gauge omdat dat de kleinste was die ik bij de hand had.

Stap 11: Batterijbeugel

Batterij beugel
Batterij beugel
Batterij beugel
Batterij beugel

Ik heb 3D een beugel geprint om de LiPo-batterij vast te houden (een weergave ervan is hierboven weergegeven). Ik heb gaten in het protoboard gemarkeerd en geboord om de beugel aan de andere kant van de bril van de componenten te monteren, zoals hierboven weergegeven.

Ik moet hier opmerken dat de beugel erg dun en dun is en dat ik deze moet afdrukken met ondersteunend materiaal (ik heb ABS-plastic gebruikt voor alle onderdelen voor dit project). Je kunt de beugel gemakkelijk breken om het ondersteuningsmateriaal eraf te halen, dus doe het rustig aan.

Een ding dat ik doe om mijn onderdelen sterker te maken, is door ze in aceton te dopen. Hierbij moet je natuurlijk heel voorzichtig zijn. Ik doe het in een goed geventileerde ruimte en ik gebruik handschoenen en oogbescherming. Dit doe ik nadat ik het ondersteuningsmateriaal heb verwijderd (uiteraard). Ik heb een container met aceton en met een pincet dompel ik het onderdeel misschien een seconde of twee volledig in aceton. Ik verwijder het onmiddellijk en leg het opzij om te drogen. Ik laat onderdelen meestal een uur of langer liggen voordat ik ze aanraak. De aceton zal het ABS chemisch 'smelten'. Dit heeft als effect dat de lagen kunststof worden afgedicht.

Het STL-bestand voor de beugel is bij deze stap gevoegd.

Stap 12: Programmeren

Programmeren
Programmeren

Nadat ik al mijn verbindingen dubbel had gecontroleerd, heb ik de USB-kabel aangesloten om de Trinket M0 te programmeren.

Om de software (bijgevoegd bij deze stap) te installeren en/of aan te passen, heb je de Arduino IDE en de bordbestanden voor de Trinket M0 nodig, evenals de bibliotheken voor de VL53L1X van Sparkfun. Dat is allemaal hier, en hier.

Als je nieuw bent, volg dan hier de instructies voor het gebruik van de Adafruit M0 op hun leersite. Zodra de software (toegevoegd aan deze stap) is geladen, moet het bord opstarten en werken op de stroom van de USB-seriële verbinding. Beweeg de zijkant van het bord met de VL53L1X dicht bij een muur of je hand en je zou de motor moeten voelen trillen. De trilling zou in amplitude lager moeten worden naarmate een object verder van het apparaat verwijderd is.

Ik wil benadrukken dat deze software de allereerste keer is dat dit lukt. Ik heb twee brillen gemaakt en ik ga er meteen nog twee maken. Wij (ik en ten minste één andere persoon die hieraan werkt) zullen de software blijven verfijnen en eventuele updates hier plaatsen. Ik hoop dat anderen dit ook zullen proberen en eventuele wijzigingen/verbeteringen die ze aanbrengen (misschien op GitHub) zullen posten.

Stap 13: Afwerking van de frames

Afwerking van de lijsten
Afwerking van de lijsten
Afwerking van de lijsten
Afwerking van de lijsten

Ik klikte de oorstukken in de inkeping aan beide kanten van de bril en bracht aceton aan met een richtsnoer. Ik neem de aceton op, zodat ik een goede hoeveelheid krijg als ik het in de hoeken druk. Als ze stevig worden vastgeklikt, wordt de aceton via capillaire aantrekking rondgedragen. Ik zorg ervoor dat ze recht staan en indien nodig gebruik ik iets om ze minstens een uur op hun plaats te houden. Soms meld ik me opnieuw aan en wacht ik nog een uur. De aceton zorgt voor een goede hechting en mijn bril lijkt vrij sterk op de framegrens.

Natuurlijk is deze bril slechts een prototype, dus ik heb het ontwerp eenvoudig gehouden en daarom zijn er geen scharnieren voor de armen van de bril. Ze werken in ieder geval best goed. Maar als je wilt, kun je ze altijd opnieuw ontwerpen met scharnieren.

Stap 14: Laatste gedachten

Laatste gedachten
Laatste gedachten

Ik heb gemerkt dat de sensor het niet goed doet in zonlicht. Dit is logisch omdat ik zeker weet dat de sensor verzadigd is met IR van de zon, waardoor het onmogelijk is om die te scheiden van de puls die de sensor afgeeft. Toch zouden ze binnen en 's nachts en misschien bewolkte dagen een goede bril zijn. Natuurlijk moet ik meer testen doen.

Een ding dat ik zal doen om het ontwerp te veranderen, is een soort rubber toevoegen aan de inkeping die de brug van de neus raakt. Als je je hoofd naar beneden kantelt, is het moeilijk om de trilling te voelen, omdat de bril onder de zwaartekracht een beetje van de huid komt. Ik denk dat wat rubber om wrijving te creëren de bril aan de neus vasthoudt, zodat de vibratie erop kan worden overgedragen.

Ik hoop wat feedback te krijgen over de bril. Ik weet niet of de bril mensen zal helpen, maar we zullen het gewoon moeten zien. Dat is waar prototypes over gaan: haalbaarheid, leren en verfijningen.

Er hadden meer sensoren aan het ontwerp kunnen worden toegevoegd. Ik heb ervoor gekozen om er een te gebruiken voor dit prototype omdat ik denk dat meer dan één vibratiemotor voor de gebruiker moeilijker te onderscheiden zal zijn. Maar het was misschien een goed idee geweest om twee sensoren vanuit de ogen te hebben gericht. Met behulp van twee motoren kon je elke kant van de bril laten trillen. U kunt ook audio gebruiken die naar elk oor wordt gevoerd in plaats van trillingen. Nogmaals, het idee is om een prototype te proberen en wat ervaring op te doen.

Als je zo ver bent gekomen, bedankt voor het lezen!

Aanbevolen: