Kontrollere lysene med øynene: 9 trinn (med bilder)
Kontrollere lysene med øynene: 9 trinn (med bilder)
Anonim
Kontrollere lysene med øynene
Kontrollere lysene med øynene
Kontrollere lysene med øynene
Kontrollere lysene med øynene

Dette semesteret på college tok jeg en klasse kalt Instrumentation in Biomedicine der jeg lærte det grunnleggende om signalbehandling for medisinske applikasjoner. For klassens siste prosjekt, jobbet teamet mitt med EOG (elektrookulografi) teknologi. I hovedsak sender elektroder festet til noens templer en spenningsforskjell (basert på corneo-retinal dipol) til en krets designet for å filtrere og forsterke signalet. Signalet mates til en ADC (analog-til-digital-omformer-i mitt tilfelle ADC til en Arduino Uno) og brukes til å endre fargene på en neopikseljuvel.

Denne opplæringen er en måte for meg å registrere det jeg har lært, og også dele med den vanlige leseren hvordan signaler isoleres fra menneskekroppen (så vær advart: den er full av ekstra detaljer!). Denne kretsen kan faktisk brukes, med noen få endringer, til motorhjerters elektriske impulser som en EKG -bølgeform, og mye mer! Selv om den absolutt ikke er i nærheten av så avansert og perfeksjonert som maskiner du finner på et sykehus, er denne øyestillingsstyrte lampen flott for en første forståelse og et glimt.

Merk: Jeg er ingen ekspert på signalbehandling, så gi meg beskjed hvis det er feil eller har forslag til forbedringer. Jeg har fortsatt mye å lære, så kommentarer settes pris på. Mange av artiklene som jeg refererer til i lenker gjennom denne opplæringen krever også akademisk tilgang som jeg har takket være universitetet mitt; beklager på forhånd for de som ikke har tilgang.

Trinn 1: Materialer

  • protoboard
  • motstander (100, 1k, 10k, 33k, 1M + 0,5M)
  • kondensator (0.1uF)
  • instrumenteringsforsterker (INA111 i mitt tilfelle, men det er et par som burde fungere relativt bra)
  • op amp (hvilken som helst - jeg hadde tilfeldigvis en LM324N)
  • neopixel (alle verk, men jeg brukte en juvel)
  • 9V batterier x2
  • 9V batterihoder x2
  • faste gelelektroder (valg av elektrode diskuteres i trinn 5)
  • potensiometer
  • isolert ledning
  • wire strippere
  • loddejern + loddetinn
  • krokodilleklipp (med ledninger festet - loddetinn om nødvendig)
  • varmt lim (for å stabilisere ledninger som ville bli bøyd frem og tilbake)
  • Arduino (stort sett styrer du alle verk, men jeg brukte en Arduino Uno)

ANBEFALES på det sterkeste: oscilloskop, multimeter og funksjonsgenerator. Prøv utgangene dine i stedet for å bare stole på mine motstandsverdier!

Trinn 2: Fysiologisk bakgrunn og behovet for en krets

Fysiologisk bakgrunn og behovet for en krets
Fysiologisk bakgrunn og behovet for en krets

Rask ansvarsfraskrivelse: Jeg er på ingen måte medisinsk ekspert på dette feltet, men jeg samlet og forenklet det jeg har lært i klassen/fraGoogling nedenfor, med lenker for videre lesing hvis du vil. Denne lenken er også den desidert beste oversikten over emnet jeg fant - inkluderer alternative teknikker.

EOG (elektro-okulografi) virker på corneo-netthinnedipolen. Hornhinnen (forsiden av øyet) er litt positivt ladet og netthinnen (baksiden av øyet) er litt negativt ladet. Når du bruker elektroder på tinningene og jorder kretsen til pannen din (bidrar til å stabilisere avlesningene og kvitte seg med en interferens på 60Hz), kan du måle rundt ~ 1-10mV spenningsforskjeller for horisontale øyebevegelser (se bildet ovenfor). For vertikale øyebevegelser, plasser elektroder over og under øyet i stedet. Se denne artikkelen for å lese om hvordan kroppen interagerer med elektrisitet - god informasjon om hudimpedans, etc. EOG brukes ofte for å diagnostisere oftalmologiske sykdommer som grå stær, brytningsfeil eller makuladegenerasjon. Det finnes også applikasjoner innen øyestyrt robotikk der enkle oppgaver kan utføres med et blikk.

For å lese disse signalene, dvs. beregne spenningsforskjellen mellom elektrodene, inkorporerer vi en viktig brikke som kalles en instrumenteringsforsterker i kretsen vår. Denne instrumenteringsforsterkeren består av spenningsfølere, en ikke-inverterende forsterker og en differensialforsterker. Hvis du ikke vet mye om op -forsterkere, kan du lese dette for et krasjkurs - i hovedsak tar de en inngangsspenning, skalerer den og sender ut den resulterende spenningen ved hjelp av strømskinnene. Integreringen av alle motstander mellom hvert trinn hjelper med toleransefeil: normalt har motstander 5-10% toleranse i verdier, og den vanlige kretsen (ikke fullt integrert i en instrumenteringsforsterker) vil i stor grad stole på nøyaktighet for god CMMR (se neste trinn). Spenningsfølgerne er for høy inngangsimpedans (diskutert i avsnittet ovenfor - viktig for å forhindre skade på pasienten), den ikke -inverterende forsterkeren skal sikre høy forsterkning av signalet (mer om forsterkning i neste trinn) og differensialforsterkeren tar forskjellen mellom inngangene (trekker verdiene fra elektrodene). Disse er designet for å knuse så mye vanlig støy/interferens som mulig (for mer om signalbehandling, se neste trinn) for biomedisinske signaler, som er fulle av fremmede artefakter.

Elektrodene har en viss hudimpedans siden hudens vev og fett hindrer direkte måling av spenninger, noe som fører til behovet for signalforsterkning og filtrering. Her, her og her er noen artikler der forskere har forsøkt å kvantifisere denne impedansen. Denne fysiologiske mengden er vanligvis modellert som en 51 kOhm motstand parallelt med en 47nF kondensator, selv om det er mange variasjoner og kombinasjoner. Hud på forskjellige steder kan ha forskjellige impedanser, spesielt når du vurderer de forskjellige tykkelsene og mengdene tilstøtende muskler. Impedans endres også med hvor godt huden din er forberedt på elektroder: grundig rensing med såpe og vann er generelt foreslått for å sikre utmerket vedheft og konsistens, og det er til og med spesialgeler for elektroder hvis du virkelig ønsker perfeksjon. En viktig merknad er at impedansen endres med frekvens (karakteristisk for kondensatorer), så du må kjenne signalbåndbredden din for å forutsi impedans. Og ja, estimering av impedans ER viktig for støymåling - se senere trinn for mer informasjon om dette.

Trinn 3: Signalbehandling: Hvorfor og hvordan?

Signalbehandling: Hvorfor og hvordan?
Signalbehandling: Hvorfor og hvordan?

Hvorfor kan du ikke bare bruke 1-10mV spenningsforskjell som en umiddelbar utgang for å kontrollere lysdioder? Det er mange grunner til å filtrere og forsterke signaler:

  • Mange ADC-er (analog-til-digital-omformere-ta den analoge inngangen og digitaliser dem for å lese og lagre data på datamaskinen) kan ganske enkelt ikke oppdage slike små endringer. For eksempel er Arduino Unos ADC spesielt en 10-bits ADC med 5V utgang, noe som betyr at den kartlegger 0-5V inngangsspenninger (verdier utenfor området vil "skinne", noe som betyr at lavere verdier vil bli lest som 0V og høyere verdier blir lest som 5V) til heltallverdier mellom 0 og 1023. 10mV er så lite i det 5V -området, så hvis du kan forsterke signalet til hele 5V -området, vil små endringer lettere bli oppdaget fordi de vil reflekteres av større kvantitative endringer (5mV endring til 10mV i motsetning til 2V endring til 4V). Tenk på det som et lite bilde på datamaskinen din: detaljene kan være perfekt definert av pikslene dine, men du vil ikke kunne differensiere former med mindre du utvider bildet.

    Vær oppmerksom på at det er bedre å ha flere biter for ADC fordi du kan minimere kvantiseringsstøy fra å snu det kontinuerlige signalet til diskrete, digitaliserte verdier. For å beregne hvor mange biter du trenger for ~ 96% oppbevaring av input SNR, bruk N = SNR (i dB)/6 som en tommelfingerregel. Du vil også huske på lommeboken din: Hvis du vil ha flere biter, må du være villig til å betale mer penger

  • Støy og forstyrrelser (støy = tilfeldige artefakter som gjør at signalene dine hakkete i stedet for jevne mot interferens = ikke -tilfeldige, sinusformede gjenstander fra tilstøtende signaler fra radiobølger, osv.) Plager alle signaler målt fra hverdagen.

    • Den mest kjente er 60Hz interferens (50Hz hvis du er i Europa og ingen i Russland fordi de bruker likestrøm i motsetning til vekselstrøm for stikkontakt …), som kalles nyttefrekvens fra vekselstrømens elektromagnetiske felt i stikkontakter. Kraftledninger fører høyspenning fra elektriske generatorer til boligområder, hvor transformatorer trapper ned spenningen til standard ~ 120V i amerikanske strømuttak. Vekselspenningen fører til dette konstante badet med 60Hz interferens i omgivelsene våre, som forstyrrer alle typer signaler og må filtreres bort.
    • 60Hz interferens kalles vanligvis vanlige modusinterferens fordi det vises i begge inngangene (+ og -) til op -forsterkere. Nå har opampere noe som kalles common mode rejection ratio (CMRR) for å redusere vanlige modusartefakter, men (korriger meg hvis jeg tar feil!) Dette er hovedsakelig bra for vanlige moduslyder (tilfeldig: støy i stedet for ikke -tilfeldig: interferens). For å bli kvitt 60Hz kan bandstopfiltre brukes til å selektivt fjerne det fra frekvensspekteret, men da risikerer du også å fjerne faktiske data. I beste fall kan du bruke et lavpassfilter for å bare holde et frekvensområde lavere enn 60Hz, så alt med høyere frekvenser filtreres bort. Det var det jeg gjorde for EOG: den forventede båndbredden til signalet mitt var 0-10Hz (forsømmer raske øyebevegelser-ville ikke håndtere det i vår forenklede versjon), så jeg fjernet frekvenser større enn 10Hz med et lavpassfilter.

      • 60Hz kan ødelegge signalene våre via kapasitiv kobling og induktiv kobling. Kapasitiv kobling (les opp på kondensatorer her) oppstår når luft fungerer som et dielektrikum for AC -signaler som skal ledes mellom tilstøtende kretser. Induktiv kobling kommer fra Faradays lov når du kjører strøm i et magnetfelt. Det er mange triks for å overvinne koblingen: du kan for eksempel bruke et jordet skjold som et slags Faraday-bur. Vridning/fletting av ledninger reduserer om mulig arealet som er tilgjengelig for induktiv kobling for å forstyrre. Å forkorte ledninger og redusere den totale størrelsen på kretsen din har også samme effekt av samme grunn. Å stole på batteristrøm for op amp -skinner i motsetning til å koble til en stikkontakt hjelper også fordi batteriene gir en likestrømskilde uten sinusformet svingning. Les mye mer her!
      • Lavpass -filtre blir også kvitt mye støy, siden tilfeldig støy representeres av høye frekvenser. Mange lyder er hvit støy, noe som betyr at det er støy for alle frekvenser, så å begrense signalbåndbredden så mye som mulig hjelper deg med å begrense hvor mye av støyen som er tilstede i signalet ditt.

        Noen lavpass-filtre kalles anti-aliasing-filtre fordi de forhindrer aliasing: når sinusoider er under prøvetaking, kan de oppdages som en annen frekvens enn de faktisk er. Du bør alltid huske å følge Nyquists samplingsteorem (prøvesignaler ved 2x høyere frekvens: trenger en samplingsfrekvens på> 2Hz for en forventet 1Hz sinusbølge osv.). I dette EOG -tilfellet trengte jeg ikke å bekymre meg for Nyquist fordi signalet mitt forventes hovedsakelig å være i 10Hz -området, og mine Arduino ADC -prøver på 10kHz - mer enn fort nok til å fange alt

    • Det er også små triks for å bli kvitt støy. Den ene er å bruke en stjernebunn, slik at alle deler av kretsene dine har nøyaktig samme referanse. Ellers kan det som en del kaller "bakken" skille seg fra en annen på grunn av liten motstand i ledninger, noe som øker i inkonsekvenser. Lodding til protoboard i stedet for å stikke med brødbrett reduserer også noe støy og skaper sikre tilkoblinger du kan stole på i motsetning til innsetting av trykkpass.

Det er mange andre måter å undertrykke støy og forstyrrelser (se her og her), men du kan ta et kurs på det eller Google for mer informasjon: la oss gå videre til den faktiske kretsen!

Trinn 4: Hvordan kretsen fungerer

Slik fungerer kretsen
Slik fungerer kretsen

Ikke la deg skremme av kretsdiagrammet: her er en grov oversikt over hvordan alt fungerer: (se tilbake til forrige trinn for noen forklaringer også)

  • Ytterst til venstre har vi elektrodene. En er festet på venstre tempel, en annen på høyre tempel, og den tredje elektroden er jordet til pannen. Denne jording stabiliserer signalet, så det er mindre drift, og det blir også kvitt noen av 60Hz -interferensen.
  • Neste er instrumenteringsforsterkeren. Gå tilbake to trinn for en forklaring på hva det gjør for å generere spenningsforskjellen. Ligningen for å endre forsterkningen til forsterkeren er på side 7 i databladet [G = 1+ (50kOhm/Rg) hvor Rg er koblet til forsterkerens pinner 1 og 8]. For min krets justerte jeg meg til en forsterkning på 500 ved å bruke Rg = 100Ohm.
  • Etter at instrumenteringsforsterkeren sender ut 500x forsterket spenningsforskjell, er det et førsteordens RC lavpasfilter, som består av en motstand R_filter og kondensator C_filter. Lavpassfilteret forhindrer anti-aliasing (ingen bekymring for meg, men fordi av Nyquist må jeg prøve minst 20Hz for en forventet 10Hz båndbredde, og Arduino ADC-prøvene ved 10kHz-mer enn nok) og kutter også ut støy på alle frekvensene jeg ikke trenger. RC -systemet fungerer fordi kondensatorer tillater høye frekvenser gjennom enkelt, men hindrer lavere frekvenser (impedans Z = 1/(2*pi*f)), og å lage en spenningsdeler med spenningen over kondensatoren resulterer i et filter som bare tillater lavere frekvenser gjennom [cutoff for 3dB intensitet styres av formelen f_c = 1/(2*pi*RC)]. Jeg justerte filterets R- og C -verdier for å kutte signaler høyere enn ~ 10Hz fordi det biologiske signalet for EOGs er forventet i dette området. Opprinnelig kuttet jeg av etter 20Hz, men etter eksperimentering fungerte 10Hz like bra, så jeg gikk med den mindre båndbredden (mindre båndbredde er bedre å kutte ut alt unødvendig, bare i tilfelle).
  • Med dette filtrerte signalet målte jeg utgangen med et oscilloskop for å se verdiområdet mitt fra å se til venstre og høyre (de to ytterpunktene i området mitt). Det fikk meg til omtrent en 2-4V (fordi forsterkning av instrumenteringsforsterker var 500x for rekkevidde på ~ 4-8mV), når målet mitt er 5V (hele området for Arduino ADC). Dette området varierte mye (basert på hvor godt personen vasket huden på forhånd, osv.), Så jeg ville ikke ha så mye gevinst med min andre ikke-inverterende forsterker. Jeg endte opp med å justere den for å ha en forsterkning på bare ca 1,3 (juster R1 og R2 i kretsen fordi forsterkningen på forsterkeren = 1+R2/R1). Du må omfatte din egen effekt og justere derfra slik at du ikke går over 5V! Ikke bare bruk motstandsverdiene mine.
  • Dette signalet kan nå mates inn i den analoge Arduino -pinnen for lesing, men Arduino ADC godtar ikke negative innganger! Du må skifte signalet opp slik at området er 0-5V i motsetning til -2.5V til 2.5V. En måte å fikse dette på er å feste bakken på kretskortet til 3,3V -pinnen på Arduino: dette forskyver signalet ditt med 3,3V (mer enn 2,5V optimalt, men det fungerer). Rekkevidden min var veldig sprø, så jeg designet en variabel offset-spenning: på den måten kunne jeg spinne potensiometeret for å sentrere området til 0-5V. Det er egentlig en variabel spenningsdeler som bruker +/- 9V strømskinner, slik at jeg kan feste kretsjordet til en hvilken som helst verdi fra -9 til 9V og dermed skifte signalet opp eller ned 9V.

Trinn 5: Velg komponenter og verdier

Velge komponenter og verdier
Velge komponenter og verdier

Med kretsen forklart, hvordan velger vi hvilken (elektrode, forsterker) som skal brukes?

  • Som sensor har de solide gelelektrodene høy inngangsimpedans og lav utgangsimpedans: hva dette egentlig betyr er at strøm lett kan passere nedstrøms til resten av kretsen (lav utgangsimpedans), men ville ha problemer med å passere oppstrøms tilbake til tinningene dine (høy inngangsimpedans). Dette forhindrer at brukeren blir skadet av høye strømmer eller spenninger i resten av kretsen din; Faktisk har mange systemer noe som kalles en pasientbeskyttelsesmotstand for ekstra beskyttelse, bare i tilfelle.

    • Det finnes mange forskjellige elektrodetyper. De fleste foreslår Ag/AgCl solide gelelektroder for bruk i EKG/EOG/etc -applikasjoner. Med dette i bakhodet må du slå opp kildemotstanden til disse elektrodene (gå to skritt tilbake for notatene mine om hudimpedans) og matche den med støymotstanden (støyspenning i V/sqrt (Hz) dividert med støystrøm i A/sqrt (Hz) - se datablad med op -forsterkere) for op -forsterkere - det er slik du velger riktig instrumenteringsforsterker for enheten din. Dette kalles støymatching, og forklaringer på hvorfor matchende kildemotstand Rs til støymotstand Rn fungerer kan finnes på nettet som her. For min INA111 som jeg valgte, kan Rn beregnes ved hjelp av støyspenning og støystrøm i databladet (skjermbilde ovenfor).

      • Det er MASSE artikler som evaluerer elektrodeytelse, og ingen elektrode er den beste for alle formål: prøv for eksempel her. Impedansen endres også for forskjellige båndbredder som gjenspeiles i op amp -databladene (noen datablad vil ha kurver eller tabeller ved forskjellige frekvenser). Gjør research, men husk å huske på lommeboken din. Det er hyggelig å vite hvilke elektroder/op -forsterkere som er best, men det nytter ikke hvis du ikke har råd. Du trenger minst 50 elektroder for testing, ikke bare 3 for engangsbruk.

        • For optimal støytilpasning bør ikke bare Rn ~ = Rs: du vil også at støyspenning * støynivå (Pn) skal være så lav som mulig. Dette anses som viktigere enn å lage Rn ~ = Rs fordi du kan justere Rs og Rn ved å bruke transformatorer om nødvendig.

          Advarsler med transformatorer (korriger meg hvis det er feil): de kan være litt klumpete og dermed ikke optimale for enheter som må være små. De bygger også opp varme, så kjøleribber eller god ventilasjon er nødvendig

        • Støy matcher bare din første første forsterker; den andre forsterkeren påvirker ikke så mye, så enhver forsterker vil gjøre det.

Trinn 6: Bygg kretsen

Bygg kretsen
Bygg kretsen
Bygg kretsen
Bygg kretsen
Bygg kretsen
Bygg kretsen

Bruk fritz -diagrammet ovenfor for å bygge kretsen (andre kopi skisserer hva hver del refererer til i kretsdiagrammet fra forrige trinn). Hvis du trenger hjelp til å identifisere lysdiodene i diagrammet, kan du bruke denne motstandens fargekodekalkulator, men Rg på instrumenteringsforsterkeren er 100Ohm, R_filteret er 1,5MOhm, C_filteret er 0,1uF, R1 på den ikke inverterende forsterkeren er 10kOhm, R2 er 33 kOhm, og motstanden for potensiometeret er 1 kOhm (potensiometeret varierer fra 0 til 20 kOhm). Husk å endre motstandsverdiene etter behov for å justere gevinster!

Edit: det er en feil i den forskjøvede bakken. Slett den venstre sorte ledningen. Motstanden bør kobles med den røde ledningen til strømskinnen som vist, men også til den andre pinnen, ikke den første, på potensiometeret. Den første pinnen på potensiometeret bør kobles til 5V -pinnen på Arduino. Oransje ledning som er forskjøvet jord bør kobles til den andre pinnen, ikke den første.

Jeg har diskutert offset -bakken mye. I diagrammet kan du se at Arduino -bakken er vist som koblet til bakken på brødbrettet. Det er i scenariet at du ikke trenger å flytte bakken. Hvis signalet ditt er utenfor rekkevidde, og du trenger å skifte bakken, må du først prøve å koble Arduino -bakken til 3,3V -pinnen på Arduino og se signalet ditt. Ellers kan du prøve å koble den oransje ledningen i potensiometeret som er satt opp (forskjøvet bakken) til GND -pinnen på Arduino.

SIKKERHETSMERKING: IKKE behold batteriene ved lodding, og IKKE IKKE sett eller lodd batteriene bakover. Kretsen din begynner å røyke, kondensatorer vil blåse, og brødbrettet kan også bli skadet. Som en tommelfingerregel, bruk bare batteriene når du vil bruke kretsen; Hvis ikke, ta dem av (det er også en god idé å legge til en vippebryter for enkelt å koble fra batteriene).

Vær oppmerksom på at du bør bygge kretsen stykke for bit (sjekk hvert trinn!) Og på et brødbrett før du lodder til et protoboard. Første trinn for å sjekke er instrumenteringsforsterkeren: fest alle skinner (loddetinn i batteriholdere), Rg, etc og bruk et oscilloskop på utgangspinnen. For det første, bruk en funksjonsgenerator med en 1Hz sinusbølge med 5mV amplitude (eller det laveste generatoren din vil gå). Dette er bare for å sjekke at instrumenteringsforsterkeren fungerer som den skal, og din Rg gir din målforsterkning.

Sjekk deretter lavpasfilteret. Legg til den delen av kretsen og sjekk bølgeformen din: den skal se nøyaktig ut, men mindre støy (hakket - se de to siste bildene ovenfor). La oss undersøke den endelige utgangen med et oscilloskop med elektrodene dine i stedet for en funksjonsgenerator nå …

Trinn 7: Testkrets med et menneske

Testkrets med et menneske
Testkrets med et menneske
Testkrets med et menneske
Testkrets med et menneske
Testkrets med et menneske
Testkrets med et menneske

Sett igjen elektroder i venstre og høyre tinning, og fest en jordledning til en elektrode på pannen. Bare etter det bør du legge til batterier - hvis det oppstår kriblinger, må du fjerne UMIDDELIG og dobbeltsjekke tilkoblingene !!! Sjekk nå verdiområdet ditt når du ser til venstre mot høyre og juster R1/R2 for den ikke-inverterende forsterkeren, som forklart for to trinn siden-husk at målet er et 5V-område! Se bildene ovenfor for notater om hva du skal se etter.

Når du er fornøyd med alle motstandsverdiene, lodder du alt til et protoboard. Lodding er ikke strengt nødvendig, men det gir mer stabilitet over enkle presspasseskjøter og fjerner usikkerheten om kretsen ikke fungerer rett og slett fordi du ikke presset dem hardt inn i et brødbrett.

Trinn 8: Arduino -kode

All kode festet nederst i dette trinnet!

Nå som du har et 5V -område, må du sørge for at det faller innenfor 0-5V i stedet for -1V til 4V, etc. Fest enten jord til 3,3V -pinnen på Arduino eller fest den forskjøvne jordspenningen (oransje ledning over) til jordskinnen, og koble deretter en ledning fra jordskinnen til GND-pinnen på Arduino (dette er å flytte signalet opp eller ned slik at du faller innenfor 0-5V-området). Du må spille rundt: ikke glem å omfatte utdataene når du er usikker!

Nå for kalibrering: du vil at lyset skal endre farger for forskjellige øyeposisjoner (ser langt til venstre mot ikke så langt til venstre..). For det trenger du verdier og områder: kjør EOG-kalibreringsnumre.ino til Arduino med alt tilkoblet ordentlig (avslutt tilkoblinger til Arduino og neopixel i henhold til mitt fritzing-diagram). Ikke super nødvendig, men kjør også bioe.py -koden jeg har - dette sender ut en tekstfil til skrivebordet ditt, slik at du kan registrere alle verdiene mens du ser til venstre eller høyre (python -koden ble tilpasset fra dette eksemplet). Hvordan jeg gjorde dette var å se til venstre for 8 slag, deretter til høyre, deretter opp, deretter ned og gjenta for gjennomsnitt senere (se output_2.pdf for en logg jeg førte). Trykk ctrl+C for å tvinge til å avslutte når du er fornøyd. Ved å bruke disse verdiene kan du deretter justere animasjonenes områder i min BioE101_EOG-neopixel.ino-kode. For meg hadde jeg en regnbue -animasjon da jeg så rett frem, blått lengst til venstre, grønt for svakt venstre, lilla for svakt høyre og rødt for lengst til høyre.

Trinn 9: Fremtidige trinn

Voila; noe du kan kontrollere med bare øynene. Det er mye å optimalisere før det kan komme til et sykehus, men det er for en annen dag: de grunnleggende konseptene er i det minste lettere å forstå nå. En ting jeg vil gå tilbake og endre, er å justere gevinsten min til 500 for instrumenteringsforsterkeren: å se tilbake, det var sannsynligvis mye fordi signalet mitt etterpå var 2-4V allerede, og jeg hadde vanskelig for å bruke den ikke-inverterende forsterker for å justere rekkevidden min perfekt …

Det er vanskelig å få konsistens fordi signalet endres SÅ MYE for forskjellige forhold:

  • forskjellig person
  • lysforhold
  • hudpreparat (geler, vask osv.)

men likevel er jeg ganske fornøyd med mitt siste videobevis av ytelse (tatt klokken 03.00 fordi det er da alt magisk begynner å fungere).

Jeg vet at mye av denne opplæringen kan virke forvirrende (ja, læringskurven var vanskelig for meg også), så vær så snill å stille spørsmål nedenfor, så skal jeg gjøre mitt beste for å svare. Nyt!

Uberørt utfordring
Uberørt utfordring
Uberørt utfordring
Uberørt utfordring

Andreplass i den urørlige utfordringen

Anbefalt: