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, Novembar
Anonim
Kontrola svjetla vašim očima
Kontrola svjetla vašim očima
Kontrola svjetla vašim očima
Kontrola svjetla vašim 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, moj tim je radio na EOG (elektrookulografskoj) tehnologiji. U suštini, elektrode pričvršćene na nečije sljepoočnice šalju razliku napona (na osnovu korneo-retinalnog dipola) u kolo dizajnirano 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 snimiti ono što sam naučio, a također sa redovnim čitateljem podijeliti kako su signali izolirani od ljudskog tijela (zato upozorite: pun je dodatnih detalja!). Ovaj krug se zapravo može koristiti, uz 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 mašine koje biste našli u bolnici, ova lampa s položajem očiju kontrolirana je odlična 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đe, mnogi radovi na koje se pozivam u linkovima u ovom vodiču zahtijevaju akademski pristup koji imam zahvaljujući svom univerzitetu; unaprijed se izvinjavam 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 sa čvrstim gelom (izbor elektroda se razmatra u koraku 5)
  • potenciometar
  • izolirana žica
  • skidači žice
  • lemilica + lemljenje
  • štipaljke od aligatora (s pričvršćenim žicama - lemite neke ako je potrebno)
  • vruće ljepilo (za stabilizaciju žica koje bi se savijale naprijed -natrag)
  • Arduino (prilično se ukrcava na bilo koja djela, ali koristio sam Arduino Uno)

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

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

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

Brzo odricanje od odgovornosti: Ja ni u kom slučaju nisam medicinski stručnjak u ovoj oblasti, ali sam dolje sastavio i pojednostavio ono što sam naučio na času/iz GoogleGoogla, s vezama za dalje čitanje ako želite. Takođe, ova veza je 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 mrežnica (stražnja strana oka) blago negativno nabijena. Kada nanesete elektrode na sljepoočnice i uzemljite strujni krug na čelu (pomaže u stabilizaciji očitavanja i uklanjanju smetnji od 60Hz), možete izmjeriti naponske razlike od ~ 1-10mV za horizontalne pokrete očiju (pogledajte gornju sliku). Za okomite pokrete oka, 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 - odlične informacije o impedanciji kože itd. EOG se obično koriste za dijagnosticiranje oftalmoloških bolesti kao što su katarakta, greške refrakcije ili makularna degeneracija. Postoje i aplikacije u robotici kontroliranoj očima u kojoj se jednostavni zadaci mogu izvesti pokretom.. očiju.

Da bismo očitali ove signale, odnosno izračunali razliku napona između elektroda, u naše kolo ugrađujemo važan čip koji se zove instrumentalno pojačalo. Ovo instrumentacijsko 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 kurs - u osnovi, oni uzimaju ulazni napon, skaliraju ga i izlažu rezultirajući napon pomoću svojih vodilica za napajanje. Integracija svih otpornika između svake faze pomaže u greškama tolerancije: obično otpornici imaju tolerancije 5-10% u vrijednostima, a regularni krug (nije potpuno integriran u instrumentacijsko pojačalo) uvelike bi se oslanjao na točnost za dobru CMMR (pogledajte sljedeći korak). Sljedbenici napona služe za visoku ulaznu impedanciju (raspravljano u gornjem paragrafu - najvažnije za sprječavanje štete po pacijenta), neinvertirajuće pojačalo treba osigurati 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 da unište što je više moguće uobičajenog š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 direktno mjerenje napona, što dovodi do potrebe za pojačavanjem 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 lokacijama 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 preporučuje temeljito čišćenje sapunom i vodom kako bi se osiguralo odlično prianjanje i konzistencija, a postoje čak i posebni gelovi za elektrode ako zaista želite savršenstvo. Jedna ključna napomena je da se impedancija mijenja s frekvencijom (karakteristikom kondenzatora) pa morate znati svoju propusnost signala da biste predvidjeli impedanciju. I da, procjena impedancije je važna za usklađivanje šuma - pogledajte kasnije korake za više informacija o ovome.

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

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

Zašto ne možete jednostavno koristiti razliku napona 1-10mV kao trenutni 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 pohranjivanje podataka na računaru) jednostavno ne mogu otkriti tako male promjene. Na primjer, Arduino Uno-ov ADC je specifično 10-bitni ADC sa 5V izlazom, što znači da preslikava 0-5V ulazni napon (vrijednosti izvan raspona će se "tražiti", š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 (5mV na 10mV za razliku od 2V na 4V). Zamislite to kao sićušnu sliku na svom računaru: detalji bi mogli biti savršeno definirani vašim pikselima, ali nećete moći razlikovati oblike ako ne proširite sliku.

    Imajte na umu da je bolje imati više bitova za vaš ADC jer možete minimizirati šum kvantizacije pretvaranjem vašeg kontinuiranog signala u diskretne, digitalizirane vrijednosti. Da biste izračunali koliko bitova vam je potrebno za ~ 96% zadržavanja ulaznog SNR -a, koristite N = SNR (u dB)/6 po pravilu. 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 = nesluč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 Evropi, a nijedna u Rusiji jer za izlaznu utičnicu koriste istosmjerni, a ne izmjenični napon …), koja se naziva komunalna frekvencija iz naizmjenič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 ~ 120V u američkim utičnicama. Naizmjenični napon dovodi do ovog stalnog kupatila od 60Hz smetnji u našem okruženju, koje ometa sve vrste signala i mora se filtrirati.
    • Smetnje od 60Hz obično se nazivaju smetnje uobičajenog načina rada jer se pojavljuju na oba ulaza (+ i -) op -pojačala. Sada, 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!) Ovo je uglavnom dobro za šumove uobičajenog moda (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, tako da se filtrira sve s većim frekvencijama. To sam i učinio za EOG: očekivana širina signala mog signala bila je 0-10Hz (zanemarujući brzo kretanje očiju-nisam htio to rješavati u našoj pojednostavljenoj verziji) pa sam uklonio frekvencije veće od 10Hz niskopropusnim filterom.

      • 60Hz može oštetiti naše signale putem kapacitivne sprege i induktivne sprege. Kapacitivna sprega (pročitajte ovdje na kondenzatorima) nastaje kada zrak djeluje kao dielektrik za izmjenične signale koji se provode između susjednih krugova. Induktivna sprega 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, ako je moguće, smanjuje površinu dostupnu za ometanje induktivne sprege. Skraćivanje žica i smanjenje ukupne veličine vašeg kruga također imaju isti učinak iz istog razloga. Oslanjanje na napajanje baterije za op pojačala za razliku od priključivanja na utičnicu također pomaže jer baterije pružaju izvor istosmjerne struje bez sinusnih oscilacija. Pročitajte mnogo više ovdje!
      • Niskopropusni filteri također uklanjaju mnogo šuma, jer 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 vašeg 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 filteri 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 da slijedite Nyquistovu teoremu uzorkovanja (uzorci signala na 2x većoj frekvenciji: 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 umesto lepljenja sa matičnim pločama takođe smanjuje određenu buku i stvara sigurne veze kojima možete verovati za razliku od umetanja sa prešanjem.

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 krug!

Korak 4: Kako krug funkcionira

Kako radi kolo
Kako radi kolo

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

  • Skrajno lijevo imamo elektrode. Jedna je pričvršćena na lijevoj sljepoočnici, druga na desnoj, a treća elektroda je uzemljena na čelo. Ovo uzemljenje stabilizira signal tako da ima manje zanošenja, a također uklanja i neke od smetnji od 60Hz.
  • Slijedi instrumentacijsko pojačalo. Vratite se dva koraka unatrag za objašnjenje o tome šta radi za generiranje razlike napona. Jednačina za promjenu pojačanja pojačala nalazi se na stranici 7 u tehničkom 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_filter i kondenzatora C_filter. Niskopropusni filtar sprječava uklanjanje aliasinga (međutim, ne brine me jer Nyquist-ov način moram uzorkovati najmanje 20 Hz za očekivanu propusnost od 10 Hz, a Arduino ADC uzorci na 10 kHz-više nego dovoljno) i također smanjuje buku na svim frekvencijama koje mi ne trebaju. RC sistem 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 je regulirana 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 prekidao nakon 20Hz, ali nakon eksperimenta 10Hz je radio jednako dobro, pa sam se odlučio za manju propusnost (manja propusnost je bolje izrezati sve nepotrebno, za svaki slučaj).
  • S ovim filtriranim signalom izmjerio sam izlaz osciloskopom da vidim 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 Arduino analogni 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 riješite je pričvršćivanje uzemljenja ploče na 3.3V pin Arduina: ovo pomiče vaš signal za 3.3V (više od 2.5V optimalno, ali radi). Moj raspon je bio zaista nesiguran pa sam dizajnirao promjenjivi offset napon: na taj način mogao sam okretati potenciometar da sredi raspon na 0-5V. To je u osnovi promjenjivi razdjelnik napona pomoću +/- 9V vodova za napajanje tako da mogu spojiti uzemljenje na bilo koju vrijednost od -9 do 9V i tako premjestiti signal gore ili dolje za 9V.

Korak 5: Odabir komponenti i vrijednosti

Odabir komponenti i vrijednosti
Odabir komponenti i vrijednosti

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

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

    • Postoji mnogo različitih vrsta elektroda. Većina ljudi predlaže Ag/AgCl elektrode sa čvrstim gelom za upotrebu u aplikacijama EKG/EOG/itd. Imajući ovo 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 otpornošću 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 odgovarajuće pojačalo za instrumente za svoj uređaj. To se naziva podudaranje buke, a objašnjenja zašto usklađivanje otpora izvora Rs sa otpornošću 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 buke u podatkovnom listu (snimak zaslona gore).

      • Postoji MNOGO članaka koji procjenjuju performanse elektroda, a nijedna 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 listovi s podacima će imati krivulje ili tablice na različitim frekvencijama). Istražite, ali imajte na umu novčanik. 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 upotrebu.

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

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

        • Buka se podudara samo sa 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 kola
Izgradnja kola
Izgradnja kola
Izgradnja kola
Izgradnja kola
Izgradnja kola

Koristite gornji dijagram fritzinga za izgradnju kola (druga kopija ocrtava ono na šta se svaki dio odnosi u dijagramu kola iz prethodnog koraka). Ako vam je potrebna pomoć pri identificiranju 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 potenciometra je 1kOhm (potenciometar varira od 0 do 20kOhm). Ne zaboravite promijeniti vrijednosti otpornika prema potrebi kako biste prilagodili dobitke!

Edit: došlo je do greške u dijelu pomaka tla. Izbrišite lijevu crnu žicu. Otpornik treba spojiti 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 ofsetna masa treba biti spojena na drugi pin, a ne na prvi.

Dosta sam razgovarao o ofset terenu. Na dijagramu možete vidjeti da je Arduino uzemljenje prikazano kao povezano sa 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, prvo pokušajte spojiti Arduino masu na 3.3V pin Arduina i pogledajte svoj signal. U suprotnom pokušajte spojiti narančastu žicu u potenciometru postavljenom (pomaknuta masa) na GND pin Arduina.

SIGURNOSNA NAPOMENA: NE držite baterije unutra pri lemljenju, i NE NE stavljajte niti lemite baterije unatrag. Vaš krug će se početi dimiti, kondenzatori će puhati, a i matična ploča bi se mogla oštetiti. Zlatno pravilo, baterije koristite samo ako želite koristiti krug; u suprotnom ih skinite (dobra bi ideja bila i dodavanje preklopnog prekidača za lako 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 šine (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 radi provjere da li instrumentacijsko pojačalo radi ispravno i da li vaš Rg osigurava vaš ciljani dobitak.

Zatim provjerite niskopropusni filter. Dodajte taj dio kola 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: Testiranje kola sa čovjekom

Ispitivanje kola sa čovjekom
Ispitivanje kola sa čovjekom
Ispitivanje kola sa čovjekom
Ispitivanje kola sa čovjekom
Ispitivanje kola sa čovjekom
Ispitivanje kola sa čovjekom

Ponovo 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 provjerite veze !!! Sada provjerite svoj raspon vrijednosti kada gledate lijevo na desno i podesite 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.

Kada ste zadovoljni sa svim vrijednostima otpornika, lemite sve na protoboard. Lemljenje nije strogo potrebno, ali pruža veću stabilnost u odnosu na jednostavne spojeve 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 5V raspon, 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 napon uzemljenog pomaka (narančasta žica gore) na uzemljenu šinu, a zatim spojite žicu sa uzemljene šine 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 opseg kad god je neizvjesno!

A sada kalibracija: želite da svjetlo promijeni boje za različite položaje očiju (gledajući krajnje lijevo nasuprot 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 vašoj radnoj površini tako da možete snimiti sve vrijednosti dok gledate lijevo ili desno (python kôd 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. Koristeći te vrijednosti, tada možete prilagoditi raspone animacija u mom BioE101_EOG-neopixel.ino kodu. Za mene sam imao animaciju duge kada sam gledao pravo 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 svojim očima. Ima mnogo toga za optimizirati prije nego što stigne do bolnice, ali to je za neki drugi dan: sada je barem lakše razumjeti osnovne koncepte. Jedna stvar koju bih volio vratiti i promijeniti je prilagođavanje moje dobiti na 500 za pojačalo instrumentacije: gledajući unatrag, to je bilo vjerojatno previše jer je moj signal nakon toga 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
  • uslove osvetljenja
  • priprema kože (gelovi, umivanje itd.)

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

Znam da mnogi od ovih vodiča mogu djelovati zbunjujuće (da, krivulja učenja je i meni bila teška) pa slobodno postavljajte pitanja u nastavku i potrudit ću se odgovoriti. Uživajte!

Untouchable Challenge
Untouchable Challenge
Untouchable Challenge
Untouchable Challenge

Drugoplasirani u izazovu Nedodirljiv

Preporučuje se: