Sadržaj:

Upravljanje svjetlima očima: 9 koraka (sa slikama)
Upravljanje svjetlima očima: 9 koraka (sa slikama)

Video: Upravljanje svjetlima očima: 9 koraka (sa slikama)

Video: Upravljanje svjetlima očima: 9 koraka (sa slikama)
Video: Ako imate iPhone, OVO MORATE ISPROBATI! 2024, Srpanj
Anonim
Upravljanje svjetlima svojim očima
Upravljanje svjetlima svojim očima
Upravljanje svjetlima svojim očima
Upravljanje svjetlima svojim očima

Ovog semestra na fakultetu sam pohađao predmet Instrumentacija u biomedicini na kojem sam naučio osnove obrade signala za medicinske primjene. Za završni projekt razreda moj tim je radio na tehnologiji EOG (elektrookulografija). U osnovi, elektrode pričvršćene na nečije sljepoočnice šalju razliku napona (na temelju korneo-retinalnog dipola) u krug dizajniran za filtriranje i pojačavanje signala. Signal se dovodi na ADC (analogno-digitalni pretvarač-u mom slučaju, ADC na Arduino Uno) i koristi se za promjenu boja neopikselnog dragulja.

Ovaj vodič je način na koji mogu zabilježiti ono što sam naučio, a također sa redovnim čitateljem podijeliti kako su signali izolirani od ljudskog tijela (stoga upozorite: pun je dodatnih detalja!). Ovaj se krug zapravo može koristiti, s nekoliko manjih izmjena, za električne impulse srčanih motora kao EKG valni oblik, i još mnogo toga! Iako zasigurno nije ni izbliza tako napredan i savršen kao strojevi koje biste pronašli u bolnici, ova je svjetiljka s položajem očiju izvrsna za početno razumijevanje i uvid.

Napomena: Nisam stručnjak za obradu signala, pa ako ima grešaka ili imate prijedloge za poboljšanja, obavijestite me! Imam još mnogo toga za naučiti pa se komentari cijene. Također, mnogi radovi na koje se pozivam u poveznicama u ovom vodiču zahtijevaju akademski pristup koji imam zahvaljujući svom sveučilištu; unaprijed se ispričavam onima koji nemaju pristup.

Korak 1: Materijali

  • protoboard
  • otpornici (100, 1k, 10k, 33k, 1M + 0,5M)
  • kondenzator (0,1uF)
  • instrumentacijsko pojačalo (INA111 u mom slučaju, ali postoji par koji bi trebali raditi relativno dobro)
  • op pojačalo (bilo koje - slučajno sam imao LM324N)
  • neopixel (sve radi, ali koristio sam dragulj)
  • 9V baterije x2
  • 9V zaglavlja baterija x2
  • elektrode s čvrstim gelom (odabir elektroda raspravlja se u koraku 5)
  • potenciometar
  • izolirana žica
  • skidači žice
  • lemilica + lem
  • štipaljke od aligatora (s pričvršćenim žicama - lemite nešto ako je potrebno)
  • vruće ljepilo (za stabilizaciju žica koje bi se savijale naprijed -natrag)
  • Arduino (prilično se uklapa u bilo koja djela, ali koristio sam Arduino Uno)

PREPORUČUJEMO: osciloskop, multimetar i generator funkcija. Ispitajte svoje izlaze umjesto da se oslanjate samo na moje vrijednosti otpornika!

Korak 2: Fiziološka pozadina i potreba za strujnim krugom

Fiziološka pozadina i potreba za strujnim krugom
Fiziološka pozadina i potreba za strujnim krugom

Brzo odricanje od odgovornosti: Ja ni u kom slučaju nisam medicinski stručnjak u ovom području, ali sam dolje sastavio i pojednostavio ono što sam naučio na satu/iz GoogleGoogla, s vezama za daljnje čitanje ako želite. Također, ova je veza daleko najbolji pregled teme koju sam pronašao - uključuje alternativne tehnike.

EOG (elektro-okulografija) radi na korneo-retinalnom dipolu. Rožnica (prednji dio oka) je blago pozitivno nabijena, a retina (stražnja strana oka) blago negativno nabijena. Kad nanesete elektrode na sljepoočnice i uzemljite strujni krug na čelu (pomaže u stabilizaciji očitanja i uklanjanju smetnji od 60Hz), možete izmjeriti naponske razlike od ~ 1-10mV za vodoravna kretanja očiju (pogledajte gornju sliku). Za okomite pokrete očiju, umjesto toga postavite elektrode iznad i ispod oka. Pogledajte ovaj članak za dobro čitanje o tome kako tijelo stupa u interakciju s električnom energijom - izvrsni podaci o impedanciji kože itd. EOG se obično koristi za dijagnosticiranje oftalmoloških bolesti poput katarakte, refrakcijskih pogrešaka ili makularne degeneracije. Postoje i primjene u robotici kontroliranoj očima u kojima se jednostavni zadaci mogu izvesti pokretom.. očiju.

Da bismo očitali te signale, tj. Izračunali razliku napona između elektroda, u svoj krug ugrađujemo važan čip koji se zove instrumentalno pojačalo. Ovo instrumentalno pojačalo sastoji se od sljedbenika napona, neinvertirajućeg pojačala i diferencijalnog pojačala. Ako ne znate mnogo o op pojačalima, pročitajte ovo za hitni tečaj - u biti, oni uzimaju ulazni napon, skaliraju ga i izlažu rezultirajući napon pomoću njegovih vodilica. Integracija svih otpornika između svake faze pomaže u pogreškama tolerancije: obično otpornici imaju tolerancije 5-10% u vrijednostima, a redoviti krug (nije potpuno integriran u instrumentalno pojačalo) uvelike bi se oslanjao na točnost za dobru CMMR (vidi sljedeći korak). Sljedbenici napona služe za visoku ulaznu impedanciju (raspravljano u gornjem odlomku - najvažnije za sprječavanje ozljeda pacijenta), neinvertirajuće pojačalo osigurava veliko pojačanje signala (više o pojačanju u sljedećem koraku), a diferencijalno pojačalo uzima razliku između ulaza (oduzima vrijednosti od elektroda). Oni su dizajnirani za umanjivanje što je više moguće uobičajenog načina šuma/smetnji (za više informacija o obradi signala, pogledajte sljedeći korak) za biomedicinske signale koji su prepuni vanjskih artefakata.

Elektrode se suočavaju s određenom impedansom kože jer tkiva i masnoće vaše kože ometaju izravno mjerenje napona, što dovodi do potrebe za pojačanjem i filtriranjem signala. Ovdje, ovdje i evo nekoliko članaka u kojima su istraživači pokušali kvantificirati ovu impedanciju. Ova fiziološka veličina obično se modelira kao otpornik od 51 kOhm paralelno s kondenzatorom od 47 nF, iako postoje mnoge varijacije i kombinacije. Koža na različitim mjestima može imati različite impedancije, posebno ako uzmete u obzir različite debljine i količine susjednih mišića. Impedancija se također mijenja s obzirom na to koliko je vaša koža pripremljena za elektrode: općenito se predlaže temeljito čišćenje sapunom i vodom kako bi se osiguralo izvrsno prianjanje i postojanost, a postoje čak i posebni gelovi za elektrode ako zaista želite savršenstvo. Jedna ključna napomena je da se impedancija mijenja s frekvencijom (karakteristika kondenzatora) pa morate znati svoju propusnost signala da biste predvidjeli impedanciju. I da, procjena impedancije je važna za podudaranje šuma - pogledajte kasnije korake za više informacija o tome.

Korak 3: Obrada signala: zašto i kako?

Obrada signala: zašto i kako?
Obrada signala: zašto i kako?

Zašto jednostavno ne možete upotrijebiti razliku napona od 1-10mV kao neposredni izlaz za upravljanje LED diodama? Pa, postoji mnogo razloga za filtriranje i pojačavanje signala:

  • Mnogi ADC-i (analogno-digitalni pretvarači-uzmite analogni ulaz i digitalizirajte ih za čitanje i pohranu podataka na računalu) jednostavno ne mogu otkriti takve male promjene. Na primjer, Arduino Uno-ov ADC je posebno 10-bitni ADC s 5V izlazom, što znači da preslikava ulazne napone 0-5V (vrijednosti izvan raspona će se "tračnice", što znači da će se niže vrijednosti čitati kao 0V, a veće vrijednosti se čitaju kao 5V) do cjelobrojnih vrijednosti između 0 i 1023. 10mV je toliko malo u tom rasponu od 5 V, pa ako možete pojačati svoj signal do cijelog raspona 5 V, male promjene bit će lakše uočljive jer će se odraziti većim kvantitativnim promjenama (Promjena 5mV na 10mV za razliku od 2V promjene na 4V). Zamislite to kao sićušnu sliku na računalu: pojedinosti bi savršeno mogle biti definirane vašim pikselima, ali nećete moći razlikovati oblike ako sliku ne proširite.

    Imajte na umu da je bolje imati više bitova za vaš ADC jer možete minimizirati šum kvantizacije pretvaranjem kontinuiranog signala u diskretne, digitalizirane vrijednosti. Da biste izračunali koliko bitova vam je potrebno za ~ 96% zadržavanja ulaznog SNR -a, upotrijebite N = SNR (u dB)/6 kao opće pravilo. No, također želite imati na umu svoj novčanik: ako želite više komada, morate biti spremni izdvojiti više novca

  • Buka i smetnje (šum = nasumični artefakti koji čine vaše signale neravnim umjesto glatkih u odnosu na smetnje = slučajni, sinusoidni artefakti iz susjednih signala iz radio valova itd.) Muče sve signale mjerene iz svakodnevnog života.

    • Najpoznatija je smetnja od 60 Hz (50 Hz ako ste u Europi, a nitko u Rusiji jer za izlaznu utičnicu koriste istosmjerni, a ne izmjenični napon …), koja se naziva komunalna frekvencija iz izmjeničnih elektromagnetskih polja utičnica. Električni vodovi nose izmjenični napon visokog napona od električnih generatora do stambenih područja, gdje transformatori snižavaju napon na standardnih 120 V u američkim utičnicama. Naizmjenični napon dovodi do ove stalne kupke od 60 Hz smetnji u našem okruženju, koja ometa sve vrste signala i mora se filtrirati.
    • Smetnje od 60Hz uobičajeno se nazivaju smetnje uobičajenog načina rada jer se pojavljuju na oba ulaza (+ i -) za op pojačala. Op pojačala imaju nešto što se naziva omjer odbijanja zajedničkog moda (CMRR) za smanjenje artefakata uobičajenog moda, ali (ispravite me ako griješim!) To je uglavnom dobro za šumove uobičajenog načina rada (slučajno: šum umjesto neslučajnih: smetnje). Da biste se riješili 60Hz, filteri za zaustavljanje pojasa mogu se koristiti za njihovo selektivno uklanjanje iz frekvencijskog spektra, ali tada riskirate i uklanjanje stvarnih podataka. U najboljem slučaju, možete koristiti niskopropusni filter samo za održavanje raspona frekvencija nižih od 60Hz, pa se filtrira sve s višim frekvencijama. To sam i učinio za EOG: očekivana propusnost mog signala bila je 0-10Hz (zanemarujući brzo kretanje očiju-nisam se htio nositi s tim u našoj pojednostavljenoj verziji) pa sam uklonio frekvencije veće od 10Hz niskopropusnim filterom.

      • 60Hz može oštetiti naše signale kapacitivnom i induktivnom spregom. Kapacitivna sprega (pročitajte ovdje na kondenzatorima) događa se kada zrak djeluje kao dielektrik za izmjenične signale koji se provode između susjednih krugova. Indukcijsko spajanje dolazi iz Faradayevog zakona dok pokrećete struju u magnetskom polju. Postoji mnogo trikova za prevladavanje spajanja: mogli biste koristiti uzemljeni štit kao neku vrstu Faradayevog kaveza, na primjer. Uvijanje/pletenje žica kad je moguće smanjuje površinu dostupnu za ometanje induktivne spojke. Skraćivanje žica i smanjenje ukupne veličine vašeg kruga također imaju isti učinak iz istog razloga. Oslanjanje na snagu baterije za op pojačala za razliku od priključivanja na utičnicu također pomaže jer baterije pružaju istosmjerni izvor bez sinusnih oscilacija. Ovdje pročitajte mnogo više!
      • Niskopropusni filteri također uklanjaju mnogo buke, budući da je slučajna buka predstavljena visokim frekvencijama. Mnogi šumovi su bijeli šum, što znači da je šum prisutan na svim frekvencijama, pa ograničavanje propusnosti signala što je više moguće pomaže u ograničavanju količine tog šuma u vašem signalu.

        Neki niskopropusni filteri nazivaju se filtrima za uklanjanje aliasinga jer sprječavaju zamjenjivanje: kada se sinusoide ne uzorkuju, mogu se otkriti kao drugačija frekvencija nego što zapravo jesu. Uvijek se morate sjetiti pridržavanja Nyquistovog teorema uzorkovanja (uzorci signala 2x veće frekvencije: potrebna je frekvencija uzorkovanja> 2Hz za očekivani sinusni val od 1Hz itd.). U ovom slučaju EOG -a nisam morao brinuti o Nyquistu jer se očekivalo da će moj signal biti uglavnom u rasponu od 10Hz, a moji Arduino ADC uzorci na 10 kHz - više nego dovoljno brzo da uhvate sve

    • Postoje i mali trikovi kako se riješiti buke. Jedan je korištenje zvjezdaste mase kako bi svi dijelovi vaših krugova imali potpuno istu referencu. Inače, ono što jedan dio naziva "uzemljenjem" može se razlikovati od drugog dijela zbog malog otpora žica, što se zbraja u nedosljednostima. Lemljenje na protoboard umjesto lijepljenja s matičnim pločama također smanjuje određenu buku i stvara sigurne veze kojima možete vjerovati, za razliku od umetanja pritisnutog tipa.

Postoji mnogo drugih načina za suzbijanje buke i smetnji (pogledajte ovdje i ovdje), ali možete otići na predavanje o tome ili na Google za više informacija: prijeđimo na stvarni sklop!

Korak 4: Kako radi krug

Kako radi krug
Kako radi krug

Nemojte se plašiti dijagrama kruga: evo grube analize kako sve funkcionira: (za neka objašnjenja pogledajte i prethodni korak)

  • Skrajno lijevo imamo elektrode. Jedna je pričvršćena na lijevu sljepoočnicu, druga na desnu, a treća elektroda je uzemljena na čelo. Ovo uzemljenje stabilizira signal pa ima manje zanošenja, a također se rješava i nekih smetnji od 60Hz.
  • Sljedeće je pojačalo za instrumente. Vratite se dva koraka unatrag kako biste objasnili što čini za generiranje razlike napona. Jednadžba za promjenu pojačanja pojačala nalazi se na stranici 7 u podatkovnom listu [G = 1+ (50 kOhm/Rg) gdje je Rg spojen na pinove 1 i 8 pojačala. Za svoj krug prilagodio sam dobitak od 500 pomoću Rg = 100Ohm.
  • Nakon što pojačalo instrumenta izbaci pojačanu razliku napona od 500x, postoji RC niskopropusni filter prvog reda, koji se sastoji od otpornika R_filtera i kondenzatora C_filtera. Niskopropusni filtar sprječava uklanjanje aliasinga (međutim, mene ne zabrinjava jer Nyquist mora uzorkovati najmanje 20Hz za očekivanu propusnost od 10Hz, a Arduino ADC uzorci na 10 kHz-više nego dovoljno), a također i smanjuje buku na svim frekvencijama koje mi ne trebaju. RC sustav radi jer kondenzatori lako dopuštaju visoke frekvencije, ali ometaju niže frekvencije (impedancija Z = 1/(2*pi*f)), a stvaranje razdjelnika napona s naponom na kondenzatoru rezultira filtrom koji dopušta samo niže frekvencije do [granična vrijednost za 3dB intenzitet upravlja se formulom f_c = 1/(2*pi*RC)]. Prilagodio sam vrijednosti R i C filtra tako da prekine signale veće od ~ 10Hz jer se u tom rasponu očekuje biološki signal za EOG. U početku sam prekinuo nakon 20Hz, ali nakon eksperimentiranja 10Hz je radilo jednako dobro, pa sam krenuo s manjom propusnošću (manja propusnost bolje je izrezati sve nepotrebno, za svaki slučaj).
  • S ovim filtriranim signalom izmjerio sam izlaz osciloskopom kako bih vidio svoj raspon vrijednosti gledajući lijevo i desno (dvije krajnosti mog raspona). To me je dovelo do otprilike 2-4V (jer je pojačanje instrumentalnog pojačala bilo 500x za raspon ~ 4-8mV), kada mi je cilj 5V (cijeli raspon Arduino ADC-a). Ovaj raspon se jako razlikovao (ovisno o tome koliko je osoba prethodno oprala kožu itd.) Pa nisam htio imati toliko dobitka sa svojim drugim neinvertirajućim pojačalom. Na kraju sam ga prilagodio tako da ima dobitak od samo oko 1,3 (podesite R1 i R2 u krugu jer je pojačanje pojačala = 1+R2/R1). Morat ćete proširiti vlastiti izlaz i odatle podesiti da ne pređete preko 5V! Nemojte koristiti samo moje vrijednosti otpornika.
  • Ovaj signal se sada može unositi u analogni Arduino pin za čitanje, ali Arduino ADC ne prihvaća negativne ulaze! Morat ćete povisiti signal tako da raspon bude 0-5V za razliku od -2.5V do 2.5V. Jedan od načina da to ispravite je da pričvrstite uzemljenje ploče na 3.3V pin Arduina: ovo pomiče vaš signal prema gore za 3.3V (više od 2.5V optimalno, ali radi). Moj raspon je bio doista nestabilan pa sam dizajnirao promjenjivi ofsetni napon: na taj sam način mogao okretati potenciometar da sredi raspon na 0-5V. To je u biti promjenjivi razdjelnik napona pomoću +/- 9V naponskih tračnica tako da mogu spojiti masu strujnog kruga na bilo koju vrijednost od -9 do 9V i tako premjestiti signal gore ili dolje za 9V.

Korak 5: Odabir komponenti i vrijednosti

Branje komponenti i vrijednosti
Branje komponenti i vrijednosti

Kako je krug objašnjen, kako ćemo odabrati koji (elektroda, op pojačalo) koristiti?

  • Kao senzor, elektrode s čvrstim gelom imaju visoku ulaznu impedanciju i nisku izlaznu impedanciju: to u biti znači da struja može lako proći nizvodno do ostatka kruga (niska izlazna impedancija), ali bi imala problema pri prolasku uzvodno natrag do vaših sljepoočnica. (visoka ulazna impedancija). Time se sprječava da se korisnik ozlijedi zbog velikih struja ili napona u ostatku vašeg kruga; zapravo, mnogi sustavi imaju nešto što se naziva otpornik za zaštitu pacijenata za dodatnu zaštitu, za svaki slučaj.

    • Postoji mnogo različitih vrsta elektroda. Većina ljudi predlaže elektrode s čvrstim gelom Ag/AgCl za uporabu u EKG/EOG/itd. Aplikacijama. Imajući to na umu, morate potražiti izvorni otpor ovih elektroda (vratite se dva koraka unatrag za moje bilješke o impedanciji kože) i uskladiti ga sa otporom na buku (napon buke u V/sqrt (Hz) podijeljen sa strujom šuma u A/sqrt (Hz) - pogledajte tehničke listove op pojačala) vaših op pojačala - tako odabirete ispravno pojačalo s instrumentima za svoj uređaj. To se naziva podudaranje buke, a objašnjenja zašto usklađivanje otpora izvora Rs s otporom na buku Rn može se pronaći na internetu, kao ovdje. Za moj INA111 koji sam odabrao, Rn se može izračunati pomoću napona šuma i struje šuma u podatkovnom listu (snimak zaslona gore).

      • Postoji MNOGO članaka koji procjenjuju performanse elektroda, a niti jedna elektroda nije najbolja za sve namjene: pokušajte ovdje, na primjer. Impedancija se također mijenja za različite širine pojasa što se odražava u podacima o op pojačalu (neki će listovi podataka imati krivulje ili tablice na različitim frekvencijama). Istražite, ali ne zaboravite imati novčanik na umu. Lijepo je znati koje su elektrode/op pojačala najbolja, ali nema koristi ako si to ne možete priuštiti. Za testiranje će vam trebati barem 50 elektroda, a ne samo 3 za jednokratnu uporabu.

        • Za optimalno usklađivanje šuma, ne samo da bi Rn ~ = Rs: također želite da napon šuma * struja šuma (Pn) bude što je moguće niža. Smatra se da je to važnije od izrade Rn ~ = Rs jer možete prilagoditi Rs i Rn pomoću transformatora ako je potrebno.

          Upozorenja s transformatorima (ispravite me ako griješim): mogu biti donekle glomazni i stoga nisu optimalni za uređaje koji trebaju biti mali. Oni također stvaraju toplinu pa su potrebni hladnjaci ili izvrsna ventilacija

        • Buka se podudara samo s vašim prvim početnim pojačalom; drugo pojačalo ne utječe toliko, pa će poslužiti bilo koje pojačalo.

Korak 6: Izgradnja kruga

Izgradnja kruga
Izgradnja kruga
Izgradnja kruga
Izgradnja kruga
Izgradnja kruga
Izgradnja kruga

Za izradu kruga upotrijebite gornji dijagram frcanja (druga kopija ocrtava ono na što se svaki dio odnosi u dijagramu kola iz prethodnog koraka). Ako vam je potrebna pomoć pri prepoznavanju LED dioda na dijagramu, upotrijebite ovaj kalkulator boja otpornika, ali Rg pojačala instrumentacije je 100Ohm, R_filter 1,5MOhm, C_filter 0,1uF, R1 neinvertirajućeg pojačala je 10kOhm, R2 je 33kOhm, a otpornik za potenciometar je 1kOhm (potenciometar varira od 0 do 20kOhm). Ne zaboravite promijeniti vrijednosti otpornika prema potrebi kako biste prilagodili dobitke!

Edit: došlo je do pogreške u dijelu pomaka tla. Izbrišite lijevu crnu žicu. Otpornik bi trebao biti spojen crvenom žicom na razvodnik kako je prikazano, ali i na drugi pin, ne prvi, potenciometra. Prvi pin potenciometra trebao bi biti spojen na 5V pin Arduina. Narančasta žica koja je pomaknuta masa treba biti spojena na drugi pin, a ne na prvi.

Dosta sam raspravljao o offset terenu. Na dijagramu možete vidjeti da je Arduino uzemljenje prikazano kao povezano s masom matične ploče. To je u scenariju da ne morate mijenjati položaj. Ako je vaš signal izvan dometa i trebate pomaknuti uzemljenje, najprije pokušajte spojiti Arduino masu na 3.3V priključak Arduina i pogledajte svoj signal. U protivnom pokušajte spojiti narančastu žicu u postavljenom potenciometru (pomak uzemljenja) na GND pin Arduina.

SIGURNOSNA NAPOMENA: NE držite baterije pri lemljenju i NEMOJTE NE stavljati niti lemiti baterije unatrag. Vaš će se krug početi dimiti, kondenzatori će puhati, a i ploča se može oštetiti. Zlatno pravilo, baterije koristite samo ako želite koristiti krug; u suprotnom ih skinite (bilo bi dobro dodati i preklopni prekidač za jednostavno odvajanje baterija).

Imajte na umu da biste krug trebali sastaviti komad po komad (provjerite svaku fazu!) I na ploči prije lemljenja na proto ploču. Prva faza za provjeru je pojačalo instrumentacije: pričvrstite sve vodilice (lemite u držače baterija), Rg itd. I upotrijebite osciloskop na izlaznom pinu. Za početak, upotrijebite generator funkcija s sinusnim valom od 1Hz s amplitudom 5mV (ili najnižu vrijednost na kojoj će vaš generator ići). Ovo je samo zato da provjerite radi li instrumentacijsko pojačalo ispravno, a vaš Rg osigurava vaš ciljani dobitak.

Zatim provjerite niskopropusni filter. Dodajte taj dio kruga i provjerite svoj valni oblik: trebao bi izgledati potpuno isto, ali s manje šuma (nazubljeno - pogledajte posljednje dvije slike gore). Hajdemo sada ispitati vaš konačni izlaz osciloskopom s vašim elektrodama umjesto funkcijskim generatorom …

Korak 7: Ispitivanje kruga s čovjekom

Ispitni krug s čovjekom
Ispitni krug s čovjekom
Ispitni krug s čovjekom
Ispitni krug s čovjekom
Ispitni krug s čovjekom
Ispitni krug s čovjekom

Opet stavite elektrode na lijevo i desno sljepoočnice i pričvrstite žicu za uzemljenje na elektrodu na čelu. Tek nakon toga trebate dodati baterije - ako dođe do trnjenja, ODMAH uklonite i dvaput provjerite veze !!! Sada provjerite svoj raspon vrijednosti kada gledate lijevo na desno i prilagodite R1/R2 neinvertirajućeg pojačala, kao što je objašnjeno prije dva koraka-zapamtite da je cilj raspon od 5 V! Pogledajte slike iznad za bilješke o tome na što treba paziti.

Kad budete zadovoljni svim vrijednostima otpornika, lemite sve na protoboard. Lemljenje nije strogo potrebno, ali pruža veću stabilnost nad jednostavnim spojevima s prešanjem i uklanja nesigurnost da krug ne radi jednostavno zato što ih niste dovoljno pritisnuli u ploču.

Korak 8: Arduino kod

Sav kôd priložen na dnu ovog koraka!

Sada kada imate raspon od 5 V, morate se pobrinuti da padne unutar 0-5V umjesto od -1V do 4V, itd. Ili priključite uzemljenje na 3,3V pin Arduina ili priključite vanjski napon uzemljenja (narančasta žica gore) na uzemljenu tračnicu, a zatim spojite žicu s uzemljene tračnice na GND pin Arduina (ovo služi za pomicanje signala gore ili dolje tako da spadate u raspon 0-5V). Morat ćete se poigrati: ne zaboravite proširiti svoj ispis kad god je neizvjesno!

A sada kalibracija: želite da svjetlo promijeni boje za različite položaje očiju (gledajući krajnje lijevo u odnosu na krajnje lijevo..). Za to su vam potrebne vrijednosti i rasponi: pokrenite EOG-calibration-numbers.ino na Arduinu sa svim ispravno spojenim (dovršite veze s Arduinom i neopixelom prema mom dijagramu frcanja). Nije potrebno, ali pokrenite i kôd bioe.py koji imam - ovo će prikazati tekstualnu datoteku na radnoj površini tako da možete snimiti sve vrijednosti dok gledate lijevo ili desno (kod Python prilagođen je iz ovog primjera). Kako sam to učinio bilo je pogledati lijevo za 8 otkucaja, zatim desno, pa gore, pa dolje i ponoviti za kasnije izračunavanje prosjeka (pogledajte output_2.pdf za jedan dnevnik koji sam vodio). Pritisnite ctrl+C da biste prisilno odustali kada ste zadovoljni. Pomoću tih vrijednosti tada možete prilagoditi raspone animacija u kodu BioE101_EOG-neopixel.ino. Za mene je animacija duga bila kad sam gledao ravno naprijed, plavo za krajnju lijevu stranu, zeleno za blago lijevo, ljubičasto za blago desno i crveno za krajnje desno.

Korak 9: Koraci u budućnosti

Voila; nešto što možete kontrolirati samo očima. Mnogo je toga za optimizirati prije nego što stigne do bolnice, ali to je za neki drugi dan: sada je barem lakše razumjeti osnovne pojmove. Jedna stvar koju bih volio vratiti i promijeniti je prilagodba moje dobiti na 500 za pojačalo instrumentacije: gledajući unatrag, to je vjerojatno bilo previše jer je moj signal već bio 2-4V i bilo mi je teško koristiti neinvertirajuće pojačalo za savršeno prilagođavanje raspona …

Teško je postići dosljednost jer se signal toliko mijenja za različite uvjete:

  • druga osoba
  • uvjeti osvjetljenja
  • priprema kože (gelovi, umivanje itd.)

ali čak i tako, prilično sam zadovoljan svojim posljednjim video dokazom performansi (snimljenim u 3 ujutro jer tada sve čarobno počinje raditi).

Znam da velik dio ovog vodiča može djelovati zbunjujuće (da, krivulja učenja je i meni bila teška) pa slobodno postavljajte pitanja u nastavku, a ja ću se potruditi odgovoriti. Uživati!

Nedodirljivi izazov
Nedodirljivi izazov
Nedodirljivi izazov
Nedodirljivi izazov

Drugoplasirani u nedodirljivom izazovu

Preporučeni: