Ligte met u oë beheer: 9 stappe (met foto's)
Ligte met u oë beheer: 9 stappe (met foto's)
Anonim
Die beheer van ligte met u oë
Die beheer van ligte met u oë
Die beheer van ligte met u oë
Die beheer van ligte met u oë

Hierdie semester op universiteit het ek 'n klas genaamd Instrumentation in Biomedicine gevolg, waarin ek die basiese beginsels van seinverwerking vir mediese toepassings geleer het. Vir die finale projek van die klas het my span gewerk aan EOG (elektrookulografie) tegnologie. Elektrodes wat aan iemand se slape vasgemaak is, stuur in wese 'n spanningsverskil (gebaseer op die corneo-retinale dipool) na 'n stroombaan wat ontwerp is om die sein te filter en te versterk. Die sein word gevoer na 'n ADC (analoog-na-digitale omskakelaar-in my geval, die ADC van 'n Arduino Uno) en word gebruik om die kleure van 'n neopixel-juweel te verander.

Hierdie handleiding is 'n manier waarop ek kan opneem wat ek geleer het, en ook met die gewone leser kan deel hoe seine van die menslike liggaam geïsoleer word (so wees gewaarsku: dit is vol ekstra detail!). Hierdie stroombaan kan eintlik, met 'n paar klein veranderings, gebruik word om die elektriese impulse van 'n motorhart as 'n EKG -golfvorm, en nog baie meer! Alhoewel dit beslis nie so gevorderd en perfek is soos masjiene wat u in 'n hospitaal sou kry nie, is hierdie oog-posisie-beheerde lamp ideaal vir 'n eerste begrip en 'n blik.

Let wel: ek is nie 'n kenner van seinverwerking nie, so laat weet my as daar foute is of voorstelle vir verbeterings het! Ek het nog baie om te leer, so kommentaar word waardeer. Baie van die artikels waarna ek in skakels in hierdie tutoriaal verwys, vereis ook akademiese toegang wat ek met vergunning van my universiteit ontvang; vra vooraf om verskoning vir diegene wat nie toegang het nie.

Stap 1: materiaal

  • protobord
  • weerstande (100, 1k, 10k, 33k, 1M + 0.5M)
  • kapasitor (0.1uF)
  • instrumentversterker (INA111 in my geval, maar daar is 'n paar wat relatief goed moet werk)
  • op amp (enige - ek het toevallig 'n LM324N gehad)
  • neopixel (enige werk, maar ek het 'n juweel gebruik)
  • 9V batterye x2
  • 9V battery koppe x2
  • soliede gelelektrode (seleksie van die elektrode word in stap 5 bespreek)
  • potensiometer
  • geïsoleerde draad
  • draadstroppers
  • soldeerbout + soldeer
  • krokodilleklemme (met drade vasgemaak - soldeer solank indien nodig)
  • warm gom (om drade te stabiliseer wat heen en weer gebuig sou word)
  • Arduino (kom byna op enige werk, maar ek het 'n Arduino Uno gebruik)

AANBEVELDE: oscilloskoop, multimeter en funksiegenerator. Ondersoek u uitsette eerder as om net op my weerstandswaardes staat te maak!

Stap 2: Fisiologiese agtergrond en die behoefte aan 'n stroombaan

Fisiologiese agtergrond en die behoefte aan 'n stroombaan
Fisiologiese agtergrond en die behoefte aan 'n stroombaan

Vinnige vrywaring: ek is geensins 'n mediese deskundige op hierdie gebied nie, maar ek het dit wat ek in die klas geleer het/vanGoogling hieronder saamgestel en vereenvoudig, met skakels om verder te lees as u wil. Hierdie skakel is ook verreweg die beste oorsig van die onderwerp wat ek gevind het - bevat alternatiewe tegnieke.

EOG (elektro-okulografie) werk op die corneo-retinale dipool. Die kornea (voorkant van die oog) is effens positief gelaai en die retina (agterkant van die oog) effens negatief gelaai. As u elektrodes op die slape aanbring en u kring op u voorkop grond (help om u metings te stabiliseer en van 60Hz interferensie ontslae te raak), kan u ongeveer 1-10mV spanningsverskille meet vir horisontale oogbewegings (sien die prent hierbo). Vir vertikale oogbewegings, plaas eerder die elektrode bo en onder u oog. Lees hierdie artikel vir meer inligting oor hoe die liggaam met elektrisiteit reageer - goeie inligting oor velweerstand, ens. EOG's word algemeen gebruik vir die diagnose van oftalmologiese siektes soos katarakte, brekingsfoute of makulêre degenerasie. Daar is ook toepassings in oogbeheerde robotika waarin eenvoudige take met 'n oogwink uitgevoer kan word.

Om hierdie seine te lees, dit wil sê die spanningsverskil tussen die elektrodes, bereken ons 'n belangrike skyfie, 'n instrumentasieversterker, in ons stroombaan. Hierdie instrumentasie versterker bestaan uit spanningsvolgers, 'n nie-omkeerversterker en 'n differensiële versterker. As u nie veel weet van op -versterkers nie, lees dit dan vir 'n ongelukskursus - in wese neem hulle 'n ingangsspanning, skaal dit en voer die gevolglike spanning uit met behulp van sy kragrails. Die integrasie van alle weerstande tussen elke fase help met verdraagsaamheidsfoute: normaalweg het weerstande 5-10% verdraagsaamheid in waardes, en die gewone stroombaan (nie volledig geïntegreer in 'n instrumentversterker nie) sal sterk staatmaak op akkuraatheid vir goeie CMMR (sien volgende stap). Die spanningsvolgers het 'n hoë ingangsimpedansie (bespreek in paragraaf hierbo - hoofsaaklik om die pasiënt te benadeel), die nie -omkeerversterker is om 'n hoë versterking van die sein te verseker (meer oor versterking in die volgende stap) en die differensiaalversterker neem die verskil tussen die insette (trek die waardes van die elektrodes af). Dit is bedoel om soveel as moontlik algemene geraas/interferensie te vermorsel (vir meer inligting oor seinverwerking, sien die volgende stap) vir biomediese seine, wat vol vreemde artefakte is.

Die elektrodes het 'n mate van velweerstand, aangesien die weefsels en vet van u vel die direkte meting van spannings belemmer, wat lei tot die behoefte aan seinversterking en filter. Hier, hier en hier is 'n paar artikels waarin navorsers probeer het om hierdie impedansie te kwantifiseer. Hierdie fisiologiese hoeveelheid word algemeen gemodelleer as 'n weerstand van 51 kOhm parallel met 'n kapasitor van 47nF, hoewel daar baie variasies en kombinasies is. Die vel op verskillende plekke kan verskillende impedansies hê, veral as u die verskillende diktes en hoeveelhede aangrensende spiere in ag neem. Die impedansie verander ook met hoe goed u vel vir elektrodes voorberei is: deeglike reiniging met seep en water word oor die algemeen voorgestel om uitstekende hechting en konsekwentheid te verseker, en daar is selfs spesiale gels vir elektrodes as u werklik perfeksie verlang. 'N Belangrike opmerking is dat die impedansie verander met frekwensie (kenmerkend van kapasitors), sodat u die seingebandbreedte moet ken om die impedansie te kan voorspel. En ja, die skatting van die impedansie is belangrik vir die ooreenstemmende geraas - sien latere stap vir meer inligting hieroor.

Stap 3: Seinverwerking: waarom en hoe?

Seinverwerking: waarom en hoe?
Seinverwerking: waarom en hoe?

Waarom kan u dan nie net die 1-10mV spanningsverskil as 'n onmiddellike uitset gebruik om LED's te beheer nie? Daar is baie redes om seine te filter en te versterk:

  • Baie ADC's (analoog-na-digitale omsetters-neem u analoog-invoer en digitaliseer dit om data op die rekenaar te lees en te stoor) kan eenvoudig nie sulke klein veranderinge opspoor nie. Byvoorbeeld, die ADC van die Arduino Uno is spesifiek 'n 10-bis ADC met 'n 5V-uitset, wat beteken dat dit 0-5V-ingangsspannings karteer (waardes buite bereik sal "spoor" beteken, wat beteken dat laer waardes gelees sal word as 0V en hoër waardes gelees as 5V) tot heelgetalwaardes tussen 0 en 1023. 10mV is so klein in die 5V -reeks, dus as u u sein na die volle 5V -reeks kan versterk, is klein veranderings makliker herkenbaar omdat dit deur groter kwantitatiewe veranderinge weerspieël sal word (5mV verander na 10mV in teenstelling met 2V na 4V). Beskou dit as 'n klein prentjie op u rekenaar: die besonderhede kan perfek deur u pixels gedefinieer word, maar u kan nie vorms onderskei tensy u die prentjie uitbrei nie.

    Let daarop dat dit beter is om meer stukkies vir u ADC te hê, want u kan kwantisasiegeruis tot 'n minimum beperk deur u deurlopende sein na diskrete, gedigitaliseerde waardes te verander. Gebruik N = SNR (in dB)/6 as 'n duimreël om te bereken hoeveel bisse u benodig vir ~ 96% behoud van invoer -SNR. U wil egter ook u beursie in gedagte hou: as u meer stukkies wil hê, moet u bereid wees om meer geld op te doen

  • Geraas en inmenging (geraas = ewekansige artefakte wat u seine kronkel pleks van gladde teenoor inmenging = nie -willekeurige, sinusvormige artefakte van aangrensende seine van radiogolwe, ens.) Plaag alle seine wat uit die alledaagse lewe gemeet word.

    • Die bekendste is 60Hz -inmenging (50Hz as u in Europa is en geen in Rusland nie, omdat hulle DC gebruik in plaas van wisselstroom vir uitgangskrag …), wat 'n nutsfrekwensie genoem word van die elektromagnetiese elektrisiteitsvelde van die elektrisiteitsaansluitings. Kraglyne dra hoogspanning van elektriese kragopwekkers na woonbuurte, waar transformators die spanning tot die standaard ~ 120V in Amerikaanse kragpunte verlaag. Die wisselspanning lei tot hierdie konstante bad van 60Hz -interferensie in ons omgewing, wat alle soorte seine belemmer en moet uitgefiltreer word.
    • 60Hz -interferensie word algemeen gemengde modus -interferensie genoem omdat dit in beide u insette (+ en -) na versterkers voorkom. Op versterkers het nou iets wat die gewone modus verwerpingsverhouding (CMRR) genoem word om artefakte in die gewone modus te verminder, maar (stel my reg as ek verkeerd is!) Dit is veral goed vir algemene geluide (ewekansig: geraas in plaas van nie -willekeurig: interferensie). Om van 60Hz ontslae te raak, kan bandstopfilters gebruik word om dit selektief uit die frekwensiespektrum te verwyder, maar dan loop u ook die risiko om werklike data te verwyder. In die beste geval kan u 'n lae -pasfilter gebruik om slegs 'n reeks frekwensies laer as 60Hz te hou, sodat alles met hoër frekwensies uitgefiltreer word. Dit is wat ek vir die EOG gedoen het: die verwagte bandwydte van my sein was 0-10Hz (verwaarloosing van vinnige oogbewegings-wou dit nie in ons vereenvoudigde weergawe hanteer nie), en ek het frekwensies groter as 10Hz verwyder met 'n laagdoorlaatfilter.

      • 60Hz kan ons seine korrupteer deur kapasitiewe koppeling en induktiewe koppeling. Kapasitiewe koppeling (lees hier op kondensators) vind plaas wanneer lug as 'n diëlektrikum optree vir wisselsignale wat tussen aangrensende stroombane gelei word. Induktiewe koppeling kom uit die wet van Faraday terwyl u stroom in 'n magnetiese veld laat loop. Daar is baie truuks om koppeling te oorkom: u kan byvoorbeeld 'n geaarde skild as 'n soort Faraday-hok gebruik. Draai/vleg drade verminder, indien moontlik, die oppervlakte wat beskikbaar is vir induktiewe koppeling om in te meng. Om drade te verkort en die algehele grootte van u stroombaan te verminder, het ook dieselfde effek. Om te vertrou op die krag van die op -amp -relings, in teenstelling met die aansluiting op 'n stopcontact, help ook omdat die batterye 'n GS -bron bied sonder sinusoïdale ossillasie. Lees hier meer!
      • Laagdoorlaatfilters ontslae ook van baie geraas, aangesien ewekansige geraas deur hoë frekwensies voorgestel word. Baie geluide is wit geraas, wat beteken dat daar ruis vir alle frekwensies voorkom, sodat die beperking van u seingebandbreedte soveel as moontlik help om die hoeveelheid geraas in u sein te beperk.

        Sommige laagdeurlaatfilters word anti-aliasfilters genoem omdat dit aliasing voorkom: as sinusoïede onder bemonstering is, word dit moontlik as 'n ander frekwensie opgespoor. U moet altyd onthou om die steekproefstelling van Nyquist te volg (steekproefseine op 2x hoër frekwensie: benodig 'n bemonsteringsfrekwensie van> 2Hz vir 'n verwagte sinusgolf van 1Hz, ens.). In hierdie EOG -geval hoef ek my nie te bekommer oor Nyquist nie, want my sein sou na verwagting hoofsaaklik in die 10Hz -reeks wees, en my Arduino ADC -monsters op 10kHz - meer as vinnig genoeg om alles op te vang

    • Daar is ook klein truuks om van geraas ontslae te raak. Die een is om 'n sterre grond te gebruik sodat alle dele van u stroombane presies dieselfde verwysing het. Andersins kan dit wat die een deel 'grond' noem, van 'n ander deel verskil as gevolg van geringe weerstand in drade, wat optree in teenstrydighede. Soldeer aan protoboard in plaas van om met broodborde vas te hou, verminder ook geraas en skep veilige verbindings wat u kan vertrou, in teenstelling met druk-pas.

Daar is baie ander maniere om geraas en interferensie te onderdruk (sien hier en hier), maar u kan 'n les daaroor neem of Google vir meer inligting: laat ons na die werklike stroombaan gaan!

Stap 4: Hoe die kring werk

Hoe die stroombaan werk
Hoe die stroombaan werk

Moenie geïntimideer word deur die kringdiagram nie: hier is 'n kort uiteensetting van hoe alles werk: (verwys ook na die vorige stap vir 'n paar verduidelikings)

  • Heel links het ons die elektrodes. Die een is aan die linkerkant van die tempel, die ander aan die regterkant, en die derde elektrode word aan die voorkop gegrond. Hierdie aarding stabiliseer die sein, sodat daar minder wegdrywing is, en dit kan ook van die 60Hz -interferensie ontslae raak.
  • Volgende is die instrumentasie versterker. Gaan twee stappe terug vir 'n verduideliking van wat dit doen om die spanningsverskil te genereer. Die vergelyking vir die verandering van die versterking van die versterker is op bladsy 7 van die gegewensblad [G = 1+ (50kOhm/Rg) waar Rg verbind is op die amp se penne 1 en 8]. Vir my kring het ek aangepas tot 'n wins van 500 deur Rg = 100Ohm te gebruik.
  • Nadat die instrumentasieversterker die 500x versterkte spanningsverskil uitgereik het, is daar 'n eerste-orde RC-laagdoorlaatfilter, wat bestaan uit 'n weerstand R_filter en kapasitor C_filter. Die laagdeurlaatfilter verhoed anti-aliasing (ek is nie bekommerd nie, want deur Nyquist moet ek ten minste 20Hz bemonster vir 'n verwagte 10Hz-bandwydte, en die Arduino ADC-monsters by 10kHz-meer as genoeg) en ook geluid uitskakel op al die frekwensies wat ek nie nodig het nie. Die RC -stelsel werk omdat kapasitors hoë frekwensies maklik deurlaat, maar laer frekwensies belemmer (impedansie Z = 1/(2*pi*f)), en 'n spanningsverdeler met die spanning oor die kapasitor lei tot 'n filter wat slegs laer frekwensies toelaat deur [afsny vir 3dB intensiteit word bepaal deur die formule f_c = 1/(2*pi*RC)]. Ek het my filter se R- en C -waardes aangepas om seine hoër as ~ 10Hz af te sny, omdat die biologiese sein vir EOG's in daardie reeks verwag word. Oorspronklik het ek na 20Hz afgesny, maar na eksperimentering het 10Hz net so goed gewerk, so ek het met die kleiner bandwydte gegaan (kleiner bandwydte is beter om iets onnodig uit te sny, vir die geval).
  • Met hierdie gefiltreerde sein het ek die uitset gemeet met 'n ossilloskoop om my waardesreeks te sien deur na links en regs te kyk (die twee uiterstes van my reeks). Dit het my op ongeveer 'n 2-4V gebring (omdat die versterking van die instrumentversterker 500x was vir 'n reeks van ~ 4-8mV), as my mikpunt 5V is (die volledige reeks van die Arduino ADC). Hierdie reeks wissel baie (gebaseer op hoe goed die persoon vooraf die vel gewas het, ensovoorts), so ek wou nie soveel wins met my tweede nie-omkeerversterker hê nie. Uiteindelik het ek dit aangepas om slegs 'n wins van ongeveer 1,3 te hê (stel R1 en R2 in die stroombaan aan omdat die versterking van die amp = 1+R2/R1) is. U moet u eie uitset bereik en daarvandaan aanpas sodat u nie meer as 5V oorskry nie! Moenie net my weerstandswaardes gebruik nie.
  • Hierdie sein kan nou in die Arduino analoog pen ingevoer word vir lees, MAAR die Arduino ADC aanvaar nie negatiewe insette nie! U moet u sein verhoog sodat die reikwydte 0-5V is, in teenstelling met -2.5V tot 2.5V. Een manier om dit reg te stel, is deur die grond van u bord aan die 3.3V -pen van die Arduino te heg: dit verhoog u sein met 3.3V (meer as 2.5V optimaal, maar dit werk). My reikwydte was baie wankelrig, en ek het 'n veranderlike offsetspanning ontwerp: op hierdie manier kan ek die potensiometer draai om die bereik tot 0-5V te sentreer. Dit is in wese 'n verdeler met 'n veranderlike spanning wat die +/- 9V kragrails gebruik, sodat ek die stroombaan op enige waarde van -9 tot 9V kan heg en sodoende my sein op of af 9V kan skuif.

Stap 5: Kies komponente en waardes

Kies komponente en waardes
Kies komponente en waardes

Met die stroombaan verduidelik, hoe kies ons watter een (elektrode, op amp) om te gebruik?

  • As sensor het die soliede gelelektrode 'n hoë insetimpedansie en 'n lae uitsetimpedansie: wat dit in wese beteken, is dat die stroom maklik stroomaf na die res van die stroombaan kan gaan (lae uitsetimpedansie), maar dit sal 'n onrusbarende stroomopwaarts na u slape veroorsaak. (hoë insetimpedansie). Dit verhoed dat die gebruiker beseer word deur hoë strome of spannings in die res van u kring; In werklikheid het baie stelsels iets wat 'n pasiëntbeskermingsweerstand genoem word vir ekstra beskerming.

    • Daar is baie verskillende tipes elektrodes. Die meeste mense stel Ag/AgCl soliede gelelektrode voor vir gebruik in EKG/EOG/etc toepassings. Met dit in gedagte, moet u die bronweerstand van hierdie elektrodes opsoek (twee tree terug gaan vir my aantekeninge oor velimpedansie) en dit pas by die geraasweerstand (geraasspanning in V/sqrt (Hz) gedeel deur geraasstroom in A/sqrt (Hz) - sien gegewensblaaie van op ampère) van u op ampère - dit is hoe u die korrekte instrumentversterker vir u toestel kies. Dit word ruispassing genoem, en verduidelikings waarom die ooreenstemmende bronweerstand R teen ruisweerstand Rn -werke aanlyn gevind kan word, soos hier. Vir my INA111 wat ek gekies het, kan die Rn bereken word met behulp van die geraasspanning en die geraasstroom van die gegewensblad (skermkiekie hierbo).

      • Daar is BAIE artikels wat die prestasie van die elektrode evalueer, en geen enkele elektrode is die beste vir alle doeleindes nie: probeer byvoorbeeld hier. Impedansie verander ook vir verskillende bandwydtes soos weerspieël in die op amp -gegewensblaaie (sommige gegewensblaaie sal kurwes of tabelle op verskillende frekwensies hê). Doen u navorsing, maar onthou om u beursie in gedagte te hou. Dit is lekker om te weet watter elektrodes/op -versterkers die beste is, maar as u dit nie kan bekostig nie, is dit nie nuttig nie. U benodig ten minste ~ 50 elektrodes vir toetsing, nie net 3 vir eenmalige gebruik nie.

        • Vir optimale ruisaanpassing moet Rn ~ = Rs nie net nie: u wil ook hê dat die geraasspanning * die geraasstroom (Pn) so laag as moontlik moet wees. Dit word as belangriker beskou as om Rn ~ = Rs te maak, omdat u Rs en Rn kan aanpas deur transformators te gebruik indien nodig.

          Waarskuwings met transformators (stel my reg as dit verkeerd is): dit kan ietwat lywig wees en dus nie optimaal wees vir toestelle wat klein moet wees nie. Hulle bou ook hitte op, sodat hittebakke of uitstekende ventilasie nodig is

        • Ruis pas slegs by u eerste aanvanklike versterker; die tweede versterker beïnvloed nie soveel nie, so enige op -amp sal dit doen.

Stap 6: Bou die kring

Bou die kring
Bou die kring
Bou die kring
Bou die kring
Bou die kring
Bou die kring

Gebruik die ritsdiagram hierbo om die stroombaan te bou (tweede kopie gee 'n uiteensetting van waarna elke deel in die kringdiagram van die vorige stap verwys). As u hulp nodig het om die LED's in die diagram te identifiseer, gebruik hierdie weerstandskleurkode -sakrekenaar, maar die Rg van die instrumentversterker is 100Ohm, die R_filter is 1.5MOhm, die C_filter is 0.1uF, R1 van die nie -omkeerversterker is die 10kOhm, R2 is die 33kOhm, en die weerstand vir die potensiometer is die 1kOhm (potensiometer wissel van 0 tot 20kOhm). Onthou om u weerstandswaardes soos nodig te verander om winste aan te pas!

Redigeer: daar is 'n fout in die offset grondgedeelte. Skrap die linker swart draad. Die weerstand moet met die rooi draad aan die kragrail gekoppel word, soos aangedui, maar ook aan die tweede pen, nie eerste nie, van die potensiometer. Die eerste pen van die potensiometer moet aan die 5V -pen van die Arduino gekoppel word. Oranje draad wat die offsetgrond is, moet aan die tweede pen gekoppel word, nie aan die eerste pen nie.

Ek het die offsetgrond baie bespreek. In die diagram kan u sien dat die Arduino -grond gekoppel is aan die grond van die broodbord. Dit is in die scenario dat u nie hoef te verander nie. As u sein buite bereik is en u moet van grond verander, probeer eers Arduino -grond aan die 3.3V -pen van die Arduino koppel en kyk na u sein. Andersins, probeer om die oranje draad in die potensiometer wat opgestel is (teen die grond) aan die GND -pen van die Arduino aan te sluit.

VEILIGHEIDSOPMERKING: moenie die batterye in die solder hou nie, en moenie die batterye agteruit plaas of soldeer nie. Jou stroombaan begin rook, kondensators blaas en die broodbord kan ook beskadig word. As 'n duimreël, gebruik die batterye slegs as u die kring wil gebruik; Andersins, haal hulle af (dit is ook 'n goeie idee om 'n flip -skakelaar by te voeg om die batterye maklik te kan ontkoppel).

Let daarop dat u die kring stuk vir stuk moet bou (kyk elke fase!) En op 'n broodbord voordat u aan 'n protobord soldeer. Die eerste fase om na te gaan is die instrumentversterker: heg alle relings (soldeersel in batteryhouers), Rg, ens aan en gebruik 'n ossilloskoop op die uitsetpen. Om mee te begin, gebruik 'n funksiegenerator met 'n sinusgolf van 1 Hz met 'n amplitude van 5 mV (of die laagste wat u kragopwekker sal kry). Dit is net om te kyk of die instrumentversterker behoorlik werk, en dat u Rg u teikenwins bereik.

Kontroleer vervolgens u laagpasfilter. Voeg die gedeelte van die stroombaan by en kyk na u golfvorm: dit moet presies dieselfde lyk, maar minder geraas (geknak - sien die laaste twee beelde hierbo). Laat ons u finale uitset ondersoek met 'n ossilloskoop met u elektrodes in plaas van 'n funksiegenerator …

Stap 7: Toetsingskring met 'n mens

Toetsbaan met 'n mens
Toetsbaan met 'n mens
Toetsbaan met 'n mens
Toetsbaan met 'n mens
Toetsbaan met 'n mens
Toetsbaan met 'n mens

Plaas weer die elektrode aan u linker- en regterkant, en heg 'n gronddraad aan 'n elektrode op u voorkop. Eers daarna moet u batterye byvoeg - as daar tinteling voorkom, verwyder dit ONMIDDELLIK en kontroleer die aansluitings weer !!! Kontroleer nou u waardesreeks as u links vs regs kyk en pas R1/R2 van die nie-omkeerversterker aan, soos twee stappe gelede verduidelik is-onthou dat die mikpunt 'n 5V-reeks is! Sien foto's hierbo vir aantekeninge oor waarna u moet let.

As u tevrede is met al die weerstandswaardes, soldeer u alles aan 'n protobord. Soldeer is nie streng nodig nie, maar dit bied meer stabiliteit oor eenvoudige perspassings en verwyder die onsekerheid dat die stroombaan nie werk nie, bloot omdat u dit nie hard genoeg in 'n broodbord gedruk het nie.

Stap 8: Arduino -kode

Alle kode is onderaan hierdie stap aangeheg!

Noudat u 'n 5V -reeks het, moet u seker maak dat dit binne 0-5V val in plaas van -1V tot 4V, ens. Heg die grond aan die 3.3V -pen van die Arduino of heg die verrekende grondspanning (oranje draad hierbo) na die grondrail en koppel dan 'n draad van die grondrail aan die GND-pen van die Arduino (dit is om die sein op of af te skuif sodat u binne die 0-5V-reeks val). U sal moet speel: moenie vergeet om u uitset te bereik wanneer onseker is nie!

Nou vir kalibrasie: u wil hê dat die lig van verskillende oogposisies van kleure moet verander (ver links kyk vs nie so ver links nie..). Hiervoor het u waardes en reekse nodig: voer EOG-kalibrasie-getalle.ino uit na die Arduino met alles wat behoorlik aangesluit is (sluit die verbindings met die Arduino en neopixel af volgens my fritzing-diagram). Nie baie nodig nie, maar voer ook die bioe.py -kode uit wat ek het - dit sal 'n tekslêer na u tafelblad stuur, sodat u al die waardes kan opneem terwyl u na links of regs kyk (python -kode is aangepas uit hierdie voorbeeld). Hoe ek dit gedoen het, was om links te kyk vir 8 slae, dan regs, dan op, dan af en herhaal om later gemiddeld te word (sien output_2.pdf vir een log wat ek gehou het). Druk ctrl+C om af te dwing as u tevrede is. Deur hierdie waardes te gebruik, kan u die reekse van die animasies in my BioE101_EOG-neopixel.ino-kode aanpas. Vir my het ek 'n reënboog -animasie gehad toe ek reguit vorentoe kyk, blou vir heel links, groen vir effens links, pers vir effens regs en rooi vir heel regs.

Stap 9: Toekomstige stappe

Voila; iets wat jy met net jou oë kan beheer. Daar is baie om te optimaliseer voordat dit na 'n hospitaal kan gaan, maar dit is vir 'n ander dag: die basiese konsepte is ten minste makliker om nou te verstaan. Een ding wat ek wil teruggaan en verander, is om my wins aan te pas op 500 vir die instrumentversterker: terugkyk, dit was waarskynlik baie omdat my sein daarna alreeds 2-4V was en ek dit moeilik gehad het om die nie-omkering te gebruik versterker om my reeks perfek aan te pas …

Dit is moeilik om konsekwent te wees, want die sein verander baie vir verskillende toestande:

  • verskillende persoon
  • beligtingstoestande
  • velvoorbereiding (gels, was, ens.)

maar tog is ek baie tevrede met my laaste video -bewys van prestasie (geneem om 03:00, want dit is wanneer alles op 'n magiese manier begin werk).

Ek weet dat baie van hierdie tutoriale verwarrend kan lyk (ja, die leerkurwe was ook vir my moeilik), vra dan gerus die onderstaande vrae en ek sal my bes doen om dit te beantwoord. Geniet dit!

Onaantasbare uitdaging
Onaantasbare uitdaging
Onaantasbare uitdaging
Onaantasbare uitdaging

Naaswenner in die Untouchable Challenge

Aanbeveel: