Sisukord:
- Samm: materjalid
- 2. etapp: füsioloogiline taust ja vajadus vooluringi järele
- 3. samm: signaali töötlemine: miks ja kuidas?
- Samm: kuidas vooluring töötab
- Samm: komponentide ja väärtuste valimine
- 6. etapp: vooluringi ehitamine
- 7. samm: vooluahela testimine inimesega
- Samm: Arduino kood
- 9. samm: tulevased sammud
Video: Valguse juhtimine silmadega: 9 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Sellel semestril kolledžis võtsin klassi nimega Instrumentation in Biomedicine, kus õppisin meditsiiniliste rakenduste signaalitöötluse põhitõdesid. Klassi viimase projekti jaoks töötas minu meeskond EOG (elektrookulograafia) tehnoloogia kallal. Põhimõtteliselt saadavad kellegi templite külge kinnitatud elektroodid pinge erinevuse (sarvkesta võrkkesta dipooli põhjal) vooluahelasse, mis on mõeldud signaali filtreerimiseks ja võimendamiseks. Signaal suunatakse ADC-le (analoog-digitaalmuundur-minu puhul Arduino Uno ADC) ja seda kasutatakse neopikseli juveeli värvide muutmiseks.
See õpetus on minu jaoks viis õpitu salvestamiseks ja ka tavalugejaga jagamiseks, kuidas signaalid inimkehast eraldatakse (seega hoiatan: see on täis lisadetaile!). Seda vooluahelat saab tegelikult väikeste muudatustega kasutada mootorite südamete elektrilistel impulssidel EKG lainekuju kujul ja palju muud! Kuigi see pole kindlasti kaugeltki nii arenenud ja täiustatud kui haiglas leiduvad masinad, on see silmaasendiga juhitav lamp suurepärane esmaseks mõistmiseks ja pilguheitmiseks.
Märkus: ma ei ole signaalitöötluse ekspert, nii et kui on vigu või kui teil on parandusettepanekuid, andke mulle sellest teada! Mul on veel palju õppida, nii et kommentaarid on teretulnud. Samuti nõuavad paljud paberid, millele ma selle õpetuse linkidel viitan, akadeemilist juurdepääsu, mis on minu ülikooli viisakus; vabandan juba ette nende ees, kellel pole juurdepääsu.
Samm: materjalid
- protoboard
- takistid (100, 1k, 10k, 33k, 1M + 0,5M)
- kondensaator (0,1uF)
- mõõtevõimendi (minu puhul INA111, kuid on paar, mis peaksid suhteliselt hästi töötama)
- op amp (ükskõik milline - mul juhtus olema LM324N)
- neopiksel (mis tahes töötab, kuid ma kasutasin juveeli)
- 9V patareid x2
- 9 V aku päised x2
- tahked geelelektroodid (elektroodide valikut arutatakse 5. etapis)
- potentsiomeeter
- isoleeritud traat
- traadi eemaldajad
- jootekolb + joodis
- alligaatoriklambrid (juhtmetega - vajadusel jootke mõned külge)
- kuum liim (edasi -tagasi painutatud juhtmete stabiliseerimiseks)
- Arduino (peaaegu kõik lauad töötavad, kuid ma kasutasin Arduino Unot)
SOOVITAN KIIRESTI: ostsilloskoop, multimeeter ja funktsioonigeneraator. Proovige oma väljundeid, mitte ainult tuginedes minu takisti väärtustele!
2. etapp: füsioloogiline taust ja vajadus vooluringi järele
Kiire vastutusest loobumine: ma ei ole mingil juhul selle valdkonna meditsiiniekspert, kuid ma koostasin ja lihtsustasin seda, mida olen klassis/teenusest Googling õppinud, koos linkidega edasiseks lugemiseks, kui soovite. Samuti on see link vaieldamatult parim ülevaade teemast, mille leidsin - sisaldab alternatiivseid tehnikaid.
EOG (elektro-okulograafia) töötab sarvkesta-võrkkesta dipoolil. Sarvkest (silma ees) on kergelt positiivse laenguga ja võrkkest (silma tagaosa) veidi negatiivse laenguga. Kui asetate templitele elektroodid ja maandate oma vooluahela laubale (aitab stabiliseerida näitu ja vabaneda mõnest 60 Hz häirest), saate silmade horisontaalsete liigutuste jaoks mõõta umbes 1–10 mV pingeerinevusi (vt ülaltoodud pilti). Silmade vertikaalseks liigutamiseks asetage elektroodid silma kohale ja alla. Vaadake seda artiklit, et saada head teavet selle kohta, kuidas keha elektriga suhtleb - suurepärane teave naha takistuse jms kohta. EOG -sid kasutatakse tavaliselt oftalmoloogiliste haiguste, nagu katarakt, murdumisvead või kollatähni degeneratsioon, diagnoosimiseks. Silmaga juhitavas robootikas on ka rakendusi, kus lihtsaid ülesandeid saab teha ühe silmapilguga.
Nende signaalide lugemiseks, st elektroodide vahelise pinge erinevuse arvutamiseks, lisame oma ahelasse olulise kiibi, mida nimetatakse mõõteriistade võimendiks. See mõõtevõimendi koosneb pinge jälgijatest, mitte-inverteerivast võimendist ja diferentsiaalvõimendist. Kui te ei tea op -võimenditest palju, lugege palun seda põrkekursuse jaoks - sisuliselt võtavad nad sisendpinge, skaleerivad selle ja väljastavad saadud pinge toitepiirete abil. Kõigi takistite integreerimine iga etapi vahele aitab taluvusvigade korral: tavaliselt on takistite väärtuste tolerants 5-10% ja tavaline vooluahel (pole täielikult integreeritud mõõtevõimendisse) sõltub suuresti CMMR-i täpsusest (vt järgmist sammu)). Pinge jälgijad on mõeldud suure sisendtakistusega (ülaltoodud lõigus - peamine patsiendi kahjustamise vältimiseks), mitteinverteeriv võimendi peab tagama signaali suure võimenduse (rohkem võimendusest järgmises etapis) ja diferentsiaalvõimendi võtab erinevuse sisendite vahel (lahutab elektroodide väärtused). Need on loodud selleks, et purustada võimalikult palju tavalise režiimi müra/häireid (lisateavet signaalitöötluse kohta vt järgmisest sammust) biomeditsiiniliste signaalide puhul, mis on täis kõrvalisi esemeid.
Elektroodidel on naha takistus, kuna teie naha kuded ja rasv takistavad pingete otsest mõõtmist, mistõttu on vaja signaali võimendada ja filtreerida. Siin, siin ja siin on mõned artiklid, milles teadlased on püüdnud seda takistust kvantifitseerida. Seda füsioloogilist kogust modelleeritakse tavaliselt 51 kOhm takistina paralleelselt 47 nF kondensaatoriga, kuigi on palju variatsioone ja kombinatsioone. Nahk erinevates kohtades võib olla erineva takistusega, eriti kui arvestada külgnevate lihaste erinevat paksust ja kogust. Impedants muutub ka sellega, kui hästi on teie nahk elektroodide jaoks ette valmistatud: suurepärase nakkuvuse ja konsistentsi tagamiseks soovitatakse üldiselt põhjalikku puhastamist seebi ja veega ning kui soovite tõeliselt täiuslikkust, on olemas isegi spetsiaalsed geelid elektroodide jaoks. Üks oluline märkus on see, et takistus muutub sagedusega (kondensaatoritele iseloomulik), nii et impedantsi prognoosimiseks peate teadma oma signaali ribalaiust. Ja jah, impedantsi hindamine on müra sobitamise jaoks oluline - selle kohta lisateabe saamiseks vaadake hilisemat sammu.
3. samm: signaali töötlemine: miks ja kuidas?
Miks te ei võiks lihtsalt kasutada 1-10 mV pinge erinevust LED-ide juhtimiseks kohese väljundina? Signaalide filtreerimiseks ja võimendamiseks on palju põhjuseid:
-
Paljud ADC-d (analoog-digitaalmuundurid-võtke teie analoogsisend ja digiteerige need andmete lugemiseks ja arvutisse salvestamiseks) lihtsalt ei suuda selliseid väikseid muudatusi tuvastada. Näiteks Arduino Uno ADC on konkreetselt 10-bitine 5 V väljundiga ADC, mis tähendab, et see kaardistab 0–5 V sisendpingeid (vahemikust väljas olevad väärtused „rööbastuvad”, mis tähendab, et madalamad väärtused loetakse 0V ja kõrgemad väärtused 5 V) täisarvudeni 0 kuni 1023. 10 mV on selles 5 V vahemikus nii väike, nii et kui saate oma signaali võimendada kogu 5 V vahemikku, on väikesed muutused hõlpsamini tuvastatavad, kuna need kajastuvad suuremate kvantitatiivsete muutustega (5mV muutus 10mV -ks, mitte 2V muutus 4V -ks). Mõelge sellele nagu pisikesele pildile arvutis: üksikasjad võivad olla teie pikslite poolt täpselt määratletud, kuid te ei saa kujundeid eristada, kui pilti ei laiendata.
Pange tähele, et kui teil on ADC jaoks rohkem bitte, on parem, sest saate minimeerida kvantimismüra, mis ei muutu pidevast signaalist diskreetseteks, digiteeritud väärtusteks. Et arvutada, mitu bitti on vaja sisend -SNR -i säilitamiseks ~ 96%, kasutage rusikareeglina N = SNR (dB)/6. Samuti soovite siiski oma rahakotti meeles pidada: kui soovite rohkem tükke, peate olema valmis rohkem raha välja käima
-
Müra ja häired (müra = juhuslikud esemed, mis muudavad teie signaalid sujuva ja segamise asemel sakiliseks = juhuslikud, sinusoidaalsed esemed raadiolainete kõrvuti asetsevatest signaalidest jne) kimbutavad kõiki igapäevaelust mõõdetud signaale.
- Kõige kuulsam on 60 Hz häired (50 Hz, kui olete Euroopas ja mitte ühtegi Venemaal, kuna nad kasutavad vooluvõrgu jaoks alalisvoolu, mitte vahelduvvoolu …), mida nimetatakse vooluvõrgu vahelduvvoolu elektromagnetväljade kasuliku sageduseks. Elektriliinid kannavad vahelduvvoolu kõrgepinget elektrigeneraatoritest elamupiirkondadesse, kus trafod vähendavad Ameerika toiteallikate pinget standardsele ~ 120 V. Vahelduvpinge toob kaasa selle pideva 60 Hz interferentsi vanni meie ümbruses, mis häirib igat tüüpi signaale ja tuleb välja filtreerida.
-
60 Hz häireid nimetatakse tavaliselt tavarežiimi häireteks, kuna need ilmuvad mõlemas teie sisendites (+ ja -) op -võimendites. Nüüd on op -võimenditel ühisrežiimi artefaktide vähendamiseks midagi sellist, mida nimetatakse ühisrežiimi tagasilükkamissuhteks (CMRR), kuid (parandage mind, kui ma eksin!) See sobib peamiselt tavalise režiimi müra jaoks (juhuslik: müra, mitte -juhuslik: häire). 60 Hz -st vabanemiseks võib kasutada sagedusalafiltreid selle valikuliseks eemaldamiseks sagedusspektrist, kuid siis on teil oht ka tegelikud andmed eemaldada. Parimal juhul võite kasutada madalpääsfiltrit, et hoida sagedusvahemik ainult alla 60 Hz, nii et kõik kõrgemate sagedustega filtreeritakse välja. Ma tegin seda EOG jaoks: minu signaali eeldatav ribalaius oli 0–10 Hz (jättes tähelepanuta kiired silmaliigutused-ei tahtnud sellega meie lihtsustatud versioonis tegeleda), nii et eemaldasin madalpääsfiltriga suuremad sagedused kui 10 Hz.
- 60 Hz võib meie signaale rikkuda mahtuvusliku ja induktiivse sidestuse kaudu. Mahtuvuslik sidestus (loe kondensaatoritest siit) tekib siis, kui õhk toimib dielektrikuna vahelduvvoolusignaalide juhtimiseks külgnevate ahelate vahel. Induktiivne sidestus tuleneb Faraday seadusest, kui kasutate voolu magnetväljas. Sidumise ületamiseks on palju nippe: näiteks Faraday puurina võiksite kasutada maandatud kilpi. Juhtmete keerutamine/punumine võimaluse korral vähendab induktiivse haakeseadise segamiseks kasutatavat pinda. Juhtmete lühendamisel ja vooluahela üldise suuruse vähendamisel on samal põhjusel sama mõju. Abi toitevõimendist op -võimendusrööbastel, mitte vooluvõrku ühendamisest, aitab ka seetõttu, et patareid pakuvad alalisvooluallikat, millel pole siinusi. Loe palju rohkem siit!
-
Madalpääsfiltrid vabanevad ka suurest mürast, kuna juhuslikku müra esindavad kõrged sagedused. Paljud mürad on valge müra, mis tähendab, et müra esineb kõigil sagedustel, nii et signaali ribalaiuse piiramine nii palju kui võimalik aitab piirata seda, kui palju müra teie signaalis esineb.
Mõnda madalpääsfiltrit nimetatakse pehmendusvastaseks filtriks, kuna see hoiab ära varjunime: kui sinusoidid on alla võetud, võidakse neid tuvastada erineva sagedusega. Peaksite alati meeles pidama Nyquisti proovivõtuteoreemi järgimist (proovisignaalid 2x kõrgemal sagedusel: eeldatava 1 Hz siinuslaine jaoks on vaja diskreetimissagedust> 2 Hz jne). Selle EOG -juhtumi puhul ei pidanud ma Nyquisti pärast muretsema, sest minu signaal pidi olema peamiselt 10 Hz vahemikus ja minu Arduino ADC proovid sagedusel 10 kHz - enam kui piisavalt kiiresti, et kõike tabada
- Mürast vabanemiseks on ka väikesed nipid. Üks on kasutada tähemaandust, nii et kõigil teie vooluahelate osadel on täpselt sama viide. Vastasel juhul võib see, mida üks osa nimetab "maanduseks", erineda teisest osast juhtmete kerge takistuse tõttu, mis lisab vastuolusid. Leivaplaatide külge kleepimise asemel jootmine protoboardile vähendab ka müra ja loob turvalised ühendused, mida saate usaldada, mitte vajutada.
Müra ja häirete summutamiseks on palju muid viise (vt siit ja siit), kuid lisateabe saamiseks võite võtta selle või Google'is kursuse: liigume edasi tegeliku vooluringi juurde!
Samm: kuidas vooluring töötab
Ärge laske end skeemil hirmutada: siin on ligikaudne ülevaade sellest, kuidas kõik töötab: (vaadake ka selgitusi eelmise sammu juurde)
- Vasakul pool on meil elektroodid. Üks on kinnitatud vasakule templile, teine paremale templile ja kolmas elektrood on maandatud otsaesisele. See maandus stabiliseerib signaali, nii et triivi on vähem ja see vabaneb ka mõnest 60 Hz häirest.
- Järgmine on mõõtevõimendi. Minge kahe sammu võrra tagasi, et selgitada, mida see teeb pinge erinevuse tekitamiseks. Võimendi võimenduse muutmise võrrand on andmelehe 7. leheküljel [G = 1+ (50kOhm/Rg), kus Rg on ühendatud võimendi tihvtidel 1 ja 8]. Minu vooluahela jaoks reguleerisin võimenduseks 500, kasutades Rg = 100Ohm.
- Pärast seda, kui mõõtevõimendi väljastab 500-kordse võimendatud pinge erinevuse, on olemas esimese astme RC madalpääsfilter, mis koosneb takistist R_filter ja kondensaatorist C_filter. Madalpääsfilter hoiab ära valetamise (kuid minu jaoks pole see murettekitav, sest Nyquisti poolt pean ma proovima eeldatava 10 Hz ribalaiuse jaoks vähemalt 20 Hz ja Arduino ADC proovid 10 kHz juures-enam kui piisav) ja vähendab ka müra kõigil sagedustel, mida ma ei vaja. RC -süsteem töötab, kuna kondensaatorid võimaldavad kõrgeid sagedusi hõlpsalt läbi, kuid takistavad madalamate sageduste kasutamist (takistus Z = 1/(2*pi*f)), ning kondensaatori pingega jaguri loomisel saadakse filter, mis võimaldab ainult madalamaid sagedusi läbi [3dB intensiivsuse piirväärtust reguleerib valem f_c = 1/(2*pi*RC)]. Reguleerisin oma filtri R- ja C -väärtusi, et katkestada signaalid, mis on kõrgemad kui ~ 10Hz, kuna selles vahemikus on oodata EOG -de bioloogilist signaali. Algselt katkestasin pärast 20 Hz, kuid pärast katsetamist töötas 10 Hz sama hästi, seega läksin väiksema ribalaiusega (väiksem ribalaius on parem igaks juhuks kõik ebavajalik välja lõigata).
- Selle filtreeritud signaali abil mõõtsin ostsilloskoobiga väljundit, et näha oma väärtuste vahemikku vasakult ja paremalt vaadates (minu vahemiku kaks äärmust). See andis mulle umbes 2-4 V (kuna mõõtevõimendi võimendus oli 500x vahemikus ~ 4-8 mV), kui minu sihtmärk on 5 V (Arduino ADC täielik vahemik). See vahemik varieerus palju (selle põhjal, kui hästi inimene eelnevalt nahka pesi jne), nii et ma ei tahtnud oma teise mittepöördva võimendiga nii palju kasu saada. Lõpuks reguleerisin seda nii, et võimendus oleks ainult umbes 1,3 (reguleerige ahelas R1 ja R2, kuna võimendi võimendus = 1+R2/R1). Peate oma väljundit reguleerima ja sealt reguleerima, et mitte üle 5 V! Ärge kasutage ainult minu takisti väärtusi.
- Seda signaali saab nüüd lugemiseks sisestada Arduino analoogpistikusse, AGA Arduino ADC ei aktsepteeri negatiivseid sisendeid! Peate oma signaali ülespoole nihutama, nii et vahemik oleks 0–5 V, mitte -2,5–2,5 V. Üks viis selle parandamiseks on ühendada oma trükkplaadi maandus Arduino 3,3 V kontakti külge: see nihutab teie signaali 3,3 V võrra (optimaalne üle 2,5 V, kuid see töötab). Minu tööpiirkond oli tõesti ebameeldiv, nii et ma kavandasin muutuva nihkepinge: sel moel saaksin potentsiomeetrit keerutada, et vahemik 0-5 V. See on sisuliselt muutuva pinge jagaja, mis kasutab +/- 9V toitepiiret, et saaksin vooluahela maandada mis tahes väärtusele -9 kuni 9V ja seeläbi nihutada oma signaali üles või alla 9V.
Samm: komponentide ja väärtuste valimine
Kui me selgitame vooluringi, kuidas me valime, millist (elektrood, op amp) kasutada?
-
Andurina on tahketel geelelektroodidel kõrge sisendtakistus ja madal väljundtakistus: see tähendab sisuliselt seda, et vool võib kergesti voolata allavoolu ülejäänud vooluahelasse (madal väljundtakistus), kuid see häiriks ülesvoolu tagasi teie templitesse (kõrge sisendtakistus). See hoiab ära kasutajate vigastamise ülejäänud vooluahela ülejäänud voolude või pingete tõttu; tegelikult on paljudel süsteemidel igaks juhuks lisakaitseks midagi, mida nimetatakse patsiendi kaitsetakistiks.
-
Elektrooditüüpe on palju erinevaid. Enamik inimesi soovitab Ag/AgCl tahkeid geelelektroode kasutada EKG/EOG/jne rakendustes. Seda silmas pidades peate otsima nende elektroodide allikakindluse (minge kaks sammu tagasi minu märkmete kohta naha takistuse kohta) ja sobitage see müratakistusega (mürapinge V/sqrt (Hz) jagatud müravooluga A/sqrt (Hz) - vaadake oma võimendite võimendite andmelehti) - nii valite oma seadme jaoks õige mõõtevõimendi. Seda nimetatakse müra sobitamiseks ja selgitusi selle kohta, miks allikakindluse R ja müratakistuse Rn sobitamine toimib, leiate Internetist nagu siit. Minu valitud INA111 jaoks saab Rn arvutada, kasutades andmelehe mürapinget ja müravoolu (ülaltoodud pilt).
-
Elektroodi toimivust hinnatakse PALJU artikleid ja ükski elektrood pole kõigi eesmärkide jaoks parim: proovige näiteks siin. Impedants muutub ka erinevate ribalaiuste korral, nagu kajastub op amp andmelehtedel (mõnel andmelehel on kõverad või tabelid erinevatel sagedustel). Tehke oma uuringud, kuid pidage meeles oma rahakotti. On tore teada, millised elektroodid/op -võimendid on parimad, kuid sellest pole kasu, kui te ei saa seda endale lubada. Vähemalt testimiseks vajate ~ 50 elektroodi, mitte ainult 3 ühekordseks kasutamiseks.
-
Müra optimaalseks sobitamiseks ei peaks mitte ainult Rn ~ = Rs: soovite ka, et mürapinge * müravool (Pn) oleks võimalikult madal. Seda peetakse Rn ~ = Rs tegemisest tähtsamaks, sest vajadusel saate trafode abil reguleerida Rs ja Rn.
Ettevaatused trafodega (parandage mind, kui eksite): need võivad olla mõnevõrra mahukad ja seega mitte optimaalsed väikeste seadmete jaoks. Samuti koguvad nad soojust, mistõttu on vaja jahutusradiaatoreid või suurepärast ventilatsiooni
- Müra sobib ainult teie esimese esialgse võimendiga; teine võimendi ei mõjuta nii palju, nii et iga op -võimendi teeb seda.
-
-
-
6. etapp: vooluringi ehitamine
Vooluahela ehitamiseks kasutage ülaltoodud fritseerimisskeemi (teine koopia kirjeldab seda, millele iga osa viitab eelmise etapi skeemil). Kui vajate abi diagrammil olevate valgusdioodide tuvastamiseks, kasutage seda takisti värvikoodi kalkulaatorit, kuid mõõtevõimendi Rg on 100Ohm, R_filter on 1,5MOhm, C_filter on 0,1uF, mittepööratud võimendi R1 on 10 kOhm, R2 on 33 kOhm ja potentsiomeetri takisti on 1 kOhm (potentsiomeeter varieerub vahemikus 0 kuni 20 kOhm). Ärge unustage oma takisti väärtusi vastavalt vajadusele kasumi reguleerimiseks muuta!
Muuda: nihke maaosas on viga. Kustutage vasakpoolne must traat. Takisti tuleb ühendada punase juhtmega toitekaabliga, nagu näidatud, aga ka potentsiomeetri teise kontaktiga, mitte esimesega. Potentsiomeetri esimene tihvt tuleks ühendada Arduino 5V kontaktiga. Oranž traat, mis on nihutatud maapind, tuleks ühendada teise, mitte esimese tihvtiga.
Olen palju arutanud nihkepinda. Diagrammil näete, et Arduino maapind on näidatud leivaplaadi maapinnaga ühendatud. See on stsenaariumi kohaselt, et te ei pea oma positsiooni muutma. Kui teie signaal on levialast väljas ja peate maa muutma, proovige kõigepealt ühendada Arduino maandus Arduino 3,3 V kontaktiga ja vaadata oma signaali. Vastasel juhul proovige ühendada potentsiomeetri oranž traat (nihutatud maapinnaga) Arduino GND tihvtiga.
TURVAMÄRKUS: ÄRGE hoidke jootmise ajal patareisid sees ja ärge EI pange ega jootke patareisid tagurpidi. Teie vooluahel hakkab suitsetama, kondensaatorid puhuvad ja ka leivaplaat võib kahjustuda. Rusikareeglina kasutage patareisid ainult siis, kui soovite vooluringi kasutada; muidu võtke need ära (ka klappide lisamine akude hõlpsaks lahtiühendamiseks oleks hea mõte).
Pange tähele, et peaksite vooluringi ehitama tükkhaaval (kontrollige iga etappi!) Ja leivaplaadile enne jootmist protoplaadile. Esimene etapp, mida tuleb kontrollida, on mõõtevõimendi: kinnitage kõik rööpad (jootmine patareipesades), Rg jne ja kasutage väljundpoldil ostsilloskoopi. Alustuseks kasutage funktsioonigeneraatorit, mille 1Hz siinuslaine on 5 mV amplituudiga (või madalaim, mis teie generaatoril läheb). See on lihtsalt selleks, et kontrollida, kas mõõtevõimendi töötab korralikult ja kas teie Rg pakub teie sihtvõimendust.
Seejärel kontrollige oma madalpääsfiltrit. Lisage see ahela osa ja kontrollige oma lainekuju: see peaks välja nägema täpselt sama, kuid vähem müra (sakiline - vt kahte viimast pilti ülal). Uurime nüüd teie lõpptulemust ostsilloskoobiga koos elektroodidega, mitte funktsioonigeneraatoriga …
7. samm: vooluahela testimine inimesega
Jällegi pange elektroodid vasakule ja paremale templile ning kinnitage maandusjuhe otsmiku elektroodi külge. Alles pärast seda peaksite patareid lisama - kui kipitust tekib, eemaldage KOHE ja kontrollige ühendusi uuesti !!! Nüüd kontrollige oma väärtuste vahemikku, kui vaatate vasakule ja paremale, ja reguleerige mitte-inverteeriva võimendi R1/R2, nagu selgitatud kaks sammu tagasi-pidage meeles, et sihtmärk on 5 V vahemik! Vaadake ülaltoodud piltidelt märkmeid selle kohta, millele tähelepanu pöörata.
Kui olete kõigi takisti väärtustega rahul, jootke kõik protoboardile. Jootmine pole tingimata vajalik, kuid see tagab suurema stabiilsuse lihtsate pressliitmikega võrreldes ja eemaldab ebakindluse, et vooluring ei tööta lihtsalt seetõttu, et te ei surunud neid piisavalt tugevasti leivaplaadile.
Samm: Arduino kood
Kogu kood on lisatud selle sammu lõppu!
Nüüd, kui teil on 5 V vahemik, peate veenduma, et see jääb vahemikku 0–5 V, mitte –1–4 V jne. Kinnitage maandus Arduino 3,3 V tihvti külge või kinnitage nihkepinge (oranž juhe ülal) maandusrööpa külge ja seejärel ühendage traat maandusliinilt Arduino GND tihvtiga (see on signaali üles- või allapoole nihutamine, nii et jääte vahemikku 0–5 V). Peate mängima: ärge unustage, kui olete ebakindel, oma väljundit laiendama!
Nüüd kalibreerimiseks: soovite, et valgus muudaks erinevate silmade asendite värve (vaadates kaugele vasakule ja mitte nii kaugele vasakule..). Selleks vajate väärtusi ja vahemikke: käivitage EOG-kalibreerimisnumbrid.ino Arduinole, kui kõik on korralikult ühendatud (lõpetage ühendused Arduino ja neopikseliga vastavalt minu fritiseerimisskeemile). Pole eriti vajalik, kuid käivitage ka minu olemasolev kood bioe.py - see väljastab teie töölauale tekstifaili, et saaksite salvestada kõik väärtused nii, nagu näete vasakule või paremale (python -kood kohandati sellest näitest). Kuidas ma seda tegin, oli vaadata 8 lööki vasakule, seejärel paremale, siis üles, siis alla ja korrata hiljem keskmistamiseks (vt väljund_2.pdf ühe logi kohta, mida hoidsin). Kui olete rahul, lõpetamiseks vajutage klahvikombinatsiooni ctrl+C. Neid väärtusi kasutades saate kohandada animatsioonide vahemikke minu BioE101_EOG-neopixel.ino koodis. Minu jaoks oli mul vikerkaare animatsioon, kui vaatasin otse ette, sinine vasakäärmuslik, roheline kerge vasak, lilla kerge parema ja punane parempoolne.
9. samm: tulevased sammud
Voila; midagi, mida saate kontrollida ainult oma silmadega. Enne haiglasse jõudmist on palju optimeerida, kuid see on veel üks päev: põhimõisteid on nüüd vähemalt lihtsam mõista. Üks asi, mida tahaksin tagasi minna ja muuta, on mõõteriistade võimenduse korrigeerimine 500-le: tagasi vaadates oli see ilmselt palju, sest mu signaal oli pärast seda juba 2–4 V ja mul oli raske mitte-inverteerida võimendi, et oma vahemikku ideaalselt reguleerida …
Järjepidevust on raske saavutada, sest signaal muutub erinevatel tingimustel NII PALJU:
- erinev inimene
- valgustingimused
- naha ettevalmistamine (geelid, pesemine jne)
kuid siiski olen ma oma lõpliku videotõendusega (pildistatud kell 3:00, sest just siis hakkab kõik maagiliselt tööle) üsna rahul.
Ma tean, et suur osa sellest õpetusest võib tunduda segadusttekitav (jah, õppimiskõver oli ka minu jaoks raske), nii et palun esitage julgelt allpool küsimusi ja annan endast parima, et neile vastata. Nautige!
Teisele kohale puutumatu väljakutse
Soovitan:
RGB LED -riba Bluetooth -kontroller V3 + muusika sünkroonimine + ümbritseva valguse juhtimine: 6 sammu (piltidega)
RGB LED -riba Bluetooth -kontroller V3 + muusika sünkroonimine + ümbritseva valguse juhtimine: see projekt kasutab arduino, et juhtida oma telefoniga Bluetoothi kaudu RGB -LED -riba. Saate värvi muuta, tuled muusikaga sünkroonida või need automaatselt ümbritseva valgustusega kohandada
IR -vastuvõtja valguse juhtimine: 4 sammu
IR -vastuvõtja valguse juhtimine: kui alles hakkate õppima IR -vastuvõtja kasutamist ja saate aru, kuidas komponent töötab, on see ideaalne projekt alustamiseks! Enne selle projektiga alustamist veenduge, et olete alla laadinud IR -vastuvõtjate kogu, mille leiate alt
King Kongi mask animatroonsete silmadega: 4 sammu (piltidega)
King Kongi mask animatroonsete silmadega: see juhend näitab, kuidas teha maski realistlike liikuvate silmadega. See projekt nõuab järgmisi oskusi, mida pole üksikasjalikult käsitletud: - Arduino seadistamine, programmeerimine ja visandite üleslaadimine - jootmine - 3D printimine
Valguse/koduvalgustuse juhtimine Arduino ja Amazon Alexa abil: 16 sammu (piltidega)
Valguse/koduvalgustite juhtimine Arduino ja Amazon Alexa abil: olen selgitanud, kuidas juhtida valgust, mis on ühendatud UNO -ga ja mida juhib Alexa
PWM alalisvoolumootori kiiruse ja valguse juhtimine - DC dimmer: 7 sammu
PWM alalisvoolumootori kiiruse ja valguse juhtimine | DC Dimmer: Täna näitan selles videos teile, kuidas tuled summutada, mootori kiirust alalisvoolul või alalisvoolul juhtida, nii et alustame