Turinys:
- 1 žingsnis: medžiagos
- 2 žingsnis: fiziologinis pagrindas ir grandinės poreikis
- 3 žingsnis: signalų apdorojimas: kodėl ir kaip?
- 4 žingsnis: Kaip veikia grandinė
- 5 žingsnis: komponentų ir vertybių parinkimas
- 6 žingsnis: grandinės kūrimas
- 7 žingsnis: grandinės bandymas su žmogumi
- 8 žingsnis: „Arduino“kodas
- 9 žingsnis: būsimi žingsniai
Video: Šviesų valdymas akimis: 9 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Šį semestrą kolegijoje išklausiau klasę „Instrumentation in Biomedicine“, kurioje išmokau signalų apdorojimo medicinos reikmėms pagrindus. Paskutiniame klasės projekte mano komanda dirbo prie EOG (elektrookulografijos) technologijos. Iš esmės elektrodai, pritvirtinti prie kažkieno šventyklų, siunčia įtampos skirtumą (remiantis ragenos-tinklainės dipoliu) į grandinę, skirtą signalui filtruoti ir sustiprinti. Signalas tiekiamas į ADC (analoginis-skaitmeninis keitiklis-mano atveju „Arduino Uno“ADC) ir naudojamas neopikselio papuošalo spalvoms keisti.
Ši pamoka man yra būdas įrašyti tai, ką sužinojau, taip pat pasidalyti su nuolatiniu skaitytoju, kaip signalai yra izoliuoti nuo žmogaus kūno (todėl būkite įspėti: tai pilna papildomų detalių!). Ši grandinė iš tikrųjų gali būti naudojama su nedideliais pakeitimais variklio širdies elektriniams impulsams kaip EKG bangos forma ir daug daugiau! Nors ši toli gražu nėra tokia pažangi ir ištobulinta, kaip mašinos, kurias rasite ligoninėje, ši akių padėties kontroliuojama lempa puikiai tinka pradiniam supratimui ir žvilgsniui.
Pastaba: nesu signalų apdorojimo ekspertas, todėl jei yra kokių nors klaidų arba turite pasiūlymų dėl patobulinimų, praneškite man! Dar turiu daug ko išmokti, todėl vertinu komentarus. Be to, daugeliui straipsnių, kuriuos nurodau šios mokymo programos nuorodose, reikalinga akademinė prieiga, kurią turiu iš savo universiteto; iš anksto atsiprašau tų, kurie neturės prieigos.
1 žingsnis: medžiagos
- protoboard
- rezistoriai (100, 1k, 10k, 33k, 1M + 0,5M)
- kondensatorius (0,1uF)
- prietaisų stiprintuvas (INA111 mano atveju, bet yra pora, kuri turėtų veikti gana gerai)
- op stiprintuvas (bet koks - atsitiktinai turėjau LM324N)
- neopikselis (bet koks darbas, bet aš naudoju brangakmenį)
- 9V baterijos x2
- 9V baterijų antraštės x2
- kietieji gelio elektrodai (elektrodų pasirinkimas aptariamas 5 žingsnyje)
- potenciometras
- izoliuotas laidas
- vielos nuėmikliai
- lituoklis + lydmetalis
- aligatoriaus spaustukai (su prijungtais laidais - jei reikia, lituokite)
- karšti klijai (stabilizuoti laidus, kurie būtų sulenkti pirmyn ir atgal)
- „Arduino“(beveik bet koks darbas, bet aš naudoju „Arduino Uno“)
LABAI REKOMENDUOJU: osciloskopas, multimetras ir funkcijų generatorius. Patikrinkite savo rezultatus, o ne tik pasikliaukite mano rezistorių vertėmis!
2 žingsnis: fiziologinis pagrindas ir grandinės poreikis
Greitas atsisakymas: aš jokiu būdu nesu šios srities medicinos ekspertas, tačiau toliau surinkau ir supaprastinau tai, ką išmokau pamokoje/iš „Google“, su nuorodomis, kurias galite toliau skaityti, jei norite. Be to, ši nuoroda yra pati geriausia mano rastos temos apžvalga - apima alternatyvius metodus.
EOG (elektro-okulografija) veikia ragenos-tinklainės dipolį. Ragena (akies priekis) yra šiek tiek teigiamai įkrauta, o tinklainė (akies užpakalinė dalis) yra šiek tiek neigiamai įkrauta. Uždėję elektrodus ant šventyklų ir įžeminę grandinę prie kaktos (padeda stabilizuoti rodmenis ir atsikratyti 60 Hz trukdžių), galite išmatuoti maždaug ~ 1–10 mV įtampos skirtumus horizontaliems akių judesiams (žr. Paveikslėlį aukščiau). Norėdami atlikti vertikalius akių judesius, uždėkite elektrodus virš ir po akimi. Peržiūrėkite šį straipsnį, kad gerai perskaitytumėte, kaip kūnas sąveikauja su elektra - puiki informacija apie odos varža ir tt EOG dažniausiai naudojami diagnozuojant oftalmologines ligas, tokias kaip katarakta, refrakcijos sutrikimai ar geltonosios dėmės degeneracija. Taip pat yra akimis valdomos robotikos taikomųjų programų, kuriose paprastos užduotys gali būti atliekamos akies brūkštelėjimu.
Norėdami skaityti šiuos signalus, ty apskaičiuoti įtampos skirtumą tarp elektrodų, į savo grandinę įtraukiame svarbų lustą, vadinamą prietaisų stiprintuvu. Šis prietaisų stiprintuvas susideda iš įtampos sekėjų, neinvertuojančio stiprintuvo ir diferencinio stiprintuvo. Jei nežinote daug apie stiprintuvus, perskaitykite tai, kad susidarytumėte avarijos kursą - iš esmės jie ima įvesties įtampą, ją skaluoja ir išleidžia gautą įtampą naudodamiesi maitinimo bėgiais. Visų rezistorių integravimas tarp kiekvieno etapo padeda išvengti tolerancijos klaidų: paprastai rezistoriai turi 5-10% verčių toleranciją, o įprasta grandinė (ne visiškai integruota į prietaisų stiprintuvą) labai priklauso nuo CMMR tikslumo (žr. Kitą žingsnį)). Įtampos sekimo įrenginiai skirti didelei įėjimo varžai (aptarta aukščiau esančioje pastraipoje - svarbiausia, kad būtų išvengta žalos pacientui), neinvertuojantis stiprintuvas turi užtikrinti didelį signalo padidėjimą (daugiau apie stiprinimą kitame etape), o diferencinis stiprintuvas priima skirtumą tarp įėjimų (atimamos vertės iš elektrodų). Jie yra skirti sutraiškyti kuo daugiau įprastų režimų triukšmo/trukdžių (daugiau apie signalų apdorojimą žr. Kitą žingsnį) biomedicinos signalams, kuriuose gausu pašalinių artefaktų.
Elektrodai susiduria su tam tikra odos varža, nes jūsų odos audiniai ir riebalai trukdo tiesiogiai matuoti įtampą, todėl reikia stiprinti ir filtruoti signalą. Čia, čia ir čia yra keletas straipsnių, kuriuose tyrėjai bandė kiekybiškai įvertinti šią varžą. Šis fiziologinis kiekis paprastai yra modeliuojamas kaip 51 kOhm rezistorius lygiagrečiai su 47 nF kondensatoriumi, nors yra daug variantų ir derinių. Oda skirtingose vietose gali turėti skirtingą varžą, ypač kai atsižvelgiama į skirtingą gretimų raumenų storį ir kiekį. Impedansas taip pat kinta priklausomai nuo to, kaip jūsų oda yra paruošta elektrodams: paprastai siūloma kruopščiai nuvalyti muilu ir vandeniu, kad būtų užtikrintas puikus sukibimas ir nuoseklumas, o net ir specialūs elektrodų geliai, jei tikrai norite tobulumo. Viena pagrindinė pastaba yra ta, kad varža kinta priklausomai nuo dažnio (būdinga kondensatoriams), todėl, norėdami numatyti varžą, turite žinoti savo signalo pralaidumą. Ir taip, norint įvertinti triukšmą, svarbu įvertinti varža - daugiau informacijos apie tai žr.
3 žingsnis: signalų apdorojimas: kodėl ir kaip?
Kodėl negalite tiesiog naudoti 1-10 mV įtampos skirtumo kaip tiesioginio išėjimo valdyti šviesos diodus? Na, yra daug priežasčių filtruoti ir stiprinti signalus:
-
Daugelis ADC (analoginio-skaitmeninio keitiklio-paimkite analoginę įvestį ir suskaitmeninkite juos, kad nuskaitytumėte ir saugotumėte duomenis kompiuteryje) tiesiog negali aptikti tokių mažų pakeitimų. Pvz., „Arduino Uno“ADC yra konkrečiai 10 bitų ADC su 5 V išvestimi, o tai reiškia, kad jis atvaizduoja 0–5 V įėjimo įtampą (už diapazono ribų „bėga“, o tai reiškia, kad mažesnės vertės bus skaitomos kaip 0 V, o didesnės- kaip 5 V) iki sveikųjų skaičių reikšmių nuo 0 iki 1023. 10 mV yra toks mažas tame 5 V diapazone, taigi, jei galite sustiprinti signalą iki viso 5 V diapazono, nedideli pokyčiai bus lengviau aptinkami, nes juos atspindės didesni kiekybiniai pokyčiai (5 mV keitimas į 10 mV, o ne 2 V pakeitimas į 4 V). Pagalvokite apie tai kaip apie mažą paveikslėlį savo kompiuteryje: detalės gali būti puikiai apibrėžtos jūsų pikseliais, tačiau negalėsite atskirti formų, nebent išplėsite paveikslėlį.
Atminkite, kad geriau turėti daugiau bitų savo ADC, nes galite sumažinti kvantavimo triukšmą nuo nuolatinio signalo pavertimo atskiromis skaitmeninėmis reikšmėmis. Norėdami apskaičiuoti, kiek bitų jums reikia norint išlaikyti ~ 96% įvesties SNR, naudokite N = SNR (dB)/6 kaip nykščio taisyklę. Jūs taip pat norite nepamiršti savo piniginės: jei norite daugiau bitų, turite būti pasirengę išleisti daugiau pinigų
-
Triukšmas ir trukdžiai (triukšmas = atsitiktiniai artefaktai, dėl kurių jūsų signalai tampa nelygūs, o ne lygūs, palyginti su trukdžiais = atsitiktiniai, sinusoidiniai artefaktai iš gretimų radijo bangų signalų ir kt.) Vargina visus signalus, išmatuotus iš kasdienio gyvenimo.
- Garsiausias iš jų yra 60 Hz trukdžiai (50 Hz, jei esate Europoje, o Rusijoje jų nėra, nes jie naudoja nuolatinę srovę, o ne kintamosios srovės šaltinį…), kuris yra vadinamas naudingumo dažniu iš kintamosios srovės elektros lizdų elektromagnetinių laukų. Maitinimo linijos perduoda kintamosios srovės įtampą iš elektros generatorių į gyvenamuosius rajonus, kur transformatoriai sumažina įtampą iki standartinės ~ 120 V Amerikos elektros lizduose. Dėl kintamos įtampos mūsų aplinkoje atsiranda nuolatinė 60 Hz trukdžių vonia, kuri trukdo visų tipų signalams ir turi būti filtruojama.
-
60 Hz trukdžiai paprastai vadinami bendrojo režimo trukdžiais, nes jie rodomi abiejuose jūsų įvestyse (+ ir -) prie stiprintuvų. Dabar operaciniai stiprintuvai turi kažką vadinamo bendro režimo atmetimo koeficientu (CMRR), kad sumažintų įprasto režimo artefaktus, tačiau (pataisykite, jei klystu!) Tai daugiausia tinka įprasto režimo triukšmams (atsitiktinis: triukšmas, o ne atsitiktinis: trukdžiai). Norint atsikratyti 60 Hz dažnių juostos filtrų, galima juos selektyviai pašalinti iš dažnių spektro, tačiau tuomet jūs taip pat rizikuojate pašalinti faktinius duomenis. Geriausiu atveju galite naudoti žemo dažnio filtrą, kad išlaikytumėte tik mažesnį nei 60 Hz dažnių diapazoną, todėl viskas, kas yra aukštesnė, yra filtruojama. Tai aš padariau EOG: tikėtinas mano signalo pralaidumas buvo 0–10 Hz (neatsižvelgiant į greitus akių judesius-nenorėjau su juo susidoroti mūsų supaprastintoje versijoje), todėl pašalinau didesnius nei 10 Hz dažnius su žemo dažnio filtru.
- 60 Hz gali sugadinti mūsų signalus per talpinę ir indukcinę jungtis. Talpinė jungtis (skaitykite apie kondensatorius čia) atsiranda, kai oras veikia kaip dielektrikas, kad kintamosios srovės signalai būtų perduodami tarp gretimų grandinių. Indukcinė jungtis kyla iš Faradėjaus dėsnio, kai magnetinė srovė veikia srovę. Yra daug gudrybių, kaip įveikti sujungimą: pavyzdžiui, galite naudoti įžemintą skydą kaip Faradėjaus narvą. Sukant/pinant laidus, kai įmanoma, sumažėja indukcinės movos sritis, kuri gali trukdyti. Laidų sutrumpinimas ir bendro grandinės dydžio sumažinimas taip pat turi tą patį poveikį dėl tos pačios priežasties. Taip pat padeda pasikliauti akumuliatoriaus energija, o ne prijungti prie maitinimo lizdo, nes baterijos yra nuolatinės srovės šaltinis be sinusinio virpesio. Skaitykite daug daugiau čia!
-
Žemo dažnio filtrai taip pat pašalina daug triukšmo, nes atsitiktinis triukšmas yra aukštas dažnis. Daug triukšmo yra baltas triukšmas, o tai reiškia, kad triukšmas yra visuose dažniuose, todėl kiek įmanoma apribojus signalo pralaidumą, galima apriboti to triukšmo kiekį jūsų signale.
Kai kurie žemo dažnio filtrai yra vadinami anti-aliasing filtrais, nes jie apsaugo nuo slapstymosi: kai sinusoidai imami per mažai, jie gali būti aptikti kitokiu dažniu, nei yra iš tikrųjų. Visada turėtumėte nepamiršti vadovautis Nyquist'o atrankos teorema (imties signalai 2x didesniu dažniu: reikia> 2Hz atrankos dažnio tikėtinai 1 Hz sinusinei bangai ir pan.). Šiuo EOG atveju man nereikėjo jaudintis dėl Nyquist, nes tikimasi, kad mano signalas daugiausia bus 10 Hz diapazone, o mano „Arduino ADC“mėginiai esant 10 kHz dažniui - daugiau nei pakankamai greiti, kad viską sugautų
- Taip pat yra mažų triukų, kaip atsikratyti triukšmo. Vienas iš jų yra naudoti žvaigždės įžeminimą, kad visos jūsų grandinių dalys turėtų tą pačią nuorodą. Priešingu atveju tai, ką viena dalis vadina „įžeminimu“, gali skirtis nuo kitos dalies dėl nedidelio laidų pasipriešinimo, o tai padidina nenuoseklumą. Lituoti prie protoboard, o ne klijuoti duonos lentas, taip pat sumažėja triukšmas ir sukuriami saugūs ryšiai, kuriais galite pasitikėti, o ne įterpimas spaudžiant.
Yra daug kitų triukšmo ir trukdžių slopinimo būdų (žr. Čia ir čia), tačiau galite pasimokyti apie tai arba „Google“, kad gautumėte daugiau informacijos: pereikime prie tikrosios grandinės!
4 žingsnis: Kaip veikia grandinė
Neišsigąskite grandinės schemos: čia yra apytikslis suskirstymas, kaip viskas veikia: (taip pat ieškokite paaiškinimų ankstesniame žingsnyje)
- Kairėje pusėje yra elektrodai. Vienas pritvirtintas prie kairės šventyklos, kitas - prie dešinės, o trečiasis elektrodas yra įžemintas prie kaktos. Šis įžeminimas stabilizuoja signalą, todėl sumažėja dreifas, taip pat pašalinami kai kurie 60 Hz trukdžiai.
- Kitas yra instrumentinis stiprintuvas. Grįžkite dviem žingsniais atgal, kad paaiškintumėte, ką jis daro, kad sukurtų įtampos skirtumą. Stiprintuvo stiprinimo keitimo lygtis yra duomenų lapo 7 puslapyje [G = 1+ (50kOhm/Rg), kur Rg yra prijungtas prie stiprintuvo 1 ir 8 kaiščių]. Savo grandinei aš sureguliavau iki 500, naudodamas Rg = 100Ohm.
- Kai prietaisų stiprintuvas išves 500 kartų sustiprintą įtampos skirtumą, yra pirmosios eilės RC žemo dažnio filtras, kurį sudaro rezistorius R_filter ir kondensatorius C_filter. Žemo dažnio filtras apsaugo nuo nuslėpimo (nors man tai nerūpi, nes „Nyquist“man turi imti bent 20 Hz bandymą, kad būtų pasiektas 10 Hz pralaidumas, o „Arduino ADC“mėginiai esant 10 kHz-daugiau nei pakankamai), taip pat sumažina triukšmą visais dažniais, kurių man nereikia. RC sistema veikia, nes kondensatoriai lengvai leidžia aukštus dažnius, bet trukdo žemesniems dažniams (varža Z = 1/(2*pi*f)), o sukūrus įtampos daliklį su įtampa per kondensatorių gaunamas filtras, leidžiantis tik žemesnius dažnius iki [3dB intensyvumo ribą nustato formulė f_c = 1/(2*pi*RC)]. Aš pakoregavau savo filtro R ir C vertes, kad nutraukčiau signalus, aukštesnius nei ~ 10 Hz, nes tikimasi, kad biologinis signalas EOG bus tame diapazone. Iš pradžių aš nutraukiau po 20 Hz, bet po eksperimento 10 Hz veikė taip pat gerai, todėl pasirinkau mažesnį pralaidumą (mažesnis pralaidumas yra geriau iškirpti viską, kas nereikalinga, tik tuo atveju).
- Naudodamas šį filtruotą signalą, aš išmatavau išėjimą osciloskopu, kad pamatyčiau savo verčių diapazoną žiūrėdamas į kairę ir į dešinę (du mano diapazono kraštutinumai). Tai mane pasiekė maždaug 2–4 V (nes prietaisų stiprintuvo stiprinimas buvo 500 kartų, kai diapazonas ~ 4–8 mV), kai mano tikslas yra 5 V (visas „Arduino ADC“diapazonas). Šis diapazonas labai skyrėsi (atsižvelgiant į tai, kaip gerai žmogus prieš tai nusiprausė odą ir pan.), Todėl nenorėjau turėti tiek daug naudos iš antrojo neinversinio stiprintuvo. Galų gale aš jį sureguliavau, kad padidėtų tik apie 1,3 (sureguliuokite R1 ir R2 grandinėje, nes stiprintuvo stipris = 1+R2/R1). Turėsite nustatyti savo išvestį ir koreguoti iš ten, kad neviršytumėte 5 V! Nenaudokite tik mano rezistoriaus verčių.
- Šį signalą dabar galima įvesti į „Arduino“analoginį kaištį skaitymui, BET „Arduino ADC“nepriima neigiamų įėjimų! Turėsite perkelti signalą aukštyn, kad diapazonas būtų 0–5 V, o ne –2,5–2,5 V. Vienas iš būdų tai išspręsti yra prijungti plokštės žemę prie „Arduino“3,3 V kaiščio: tai padidina jūsų signalą 3,3 V (optimalus daugiau nei 2,5 V, bet veikia). Mano diapazonas buvo tikrai nemalonus, todėl sukūriau kintamą įtampos poslinkį: tokiu būdu galėčiau pasukti potenciometrą, kad sucentruotų diapazoną iki 0–5 V. Tai iš esmės kintamos įtampos daliklis, naudojant +/- 9V maitinimo bėgius, kad galėčiau prijungti grandinės įžeminimą prie bet kokios vertės nuo -9 iki 9V ir taip perkelti signalą aukštyn arba žemyn 9V.
5 žingsnis: komponentų ir vertybių parinkimas
Kaip paaiškinti grandinę, kaip pasirinkti, kurį (elektrodą, stiprintuvą) naudoti?
-
Kaip jutiklis, kietieji gelio elektrodai turi aukštą įėjimo varžą ir mažą išėjimo varžą: tai iš esmės reiškia, kad srovė gali lengvai praeiti pasroviui į likusią grandinės dalį (maža išėjimo varža), tačiau tai trukdytų praeiti atgal į jūsų šventyklas (didelė įėjimo varža). Tai neleidžia vartotojui susižeisti dėl didelės srovės ar įtampos likusioje grandinės dalyje; Tiesą sakant, daugelyje sistemų yra kažkas, kas vadinama pacientų apsaugos rezistoriumi, kad būtų užtikrinta papildoma apsauga.
-
Yra daug skirtingų tipų elektrodų. Daugelis žmonių siūlo Ag/AgCl kietus gelio elektrodus naudoti EKG/EOG/tt programose. Turint tai omenyje, reikia ieškoti šių elektrodų šaltinio varžos (eikite dviem žingsniais atgal, kad gautumėte pastabas apie odos varža) ir suderinti ją su atsparumu triukšmui (triukšmo įtampa V/kv. (Hz), padalyta iš triukšmo srovės A/sqrt (Hz) - žiūrėkite savo stiprintuvų darbo stiprintuvų duomenų lapus) - taip pasirenkate savo prietaisui tinkamą instrumentinį stiprintuvą. Tai vadinama triukšmo suderinimu, o paaiškinimus, kodėl šaltinio atsparumas Rs suderinamas su atsparumu triukšmui Rn, galima rasti internete, kaip čia. Mano pasirinktam INA111 Rn galima apskaičiuoti naudojant duomenų lapo triukšmo įtampą ir triukšmo srovę (ekrano kopija aukščiau).
-
Yra daug straipsnių, kuriuose vertinamas elektrodų veikimas, ir nė vienas elektrodas nėra geriausias visiems tikslams: pavyzdžiui, pabandykite čia. Varža taip pat keičiasi skirtingiems pralaidumo pločiams, kaip atsispindi operacinio stiprintuvo duomenų lapuose (kai kuriuose duomenų lapuose kreivės ar lentelės bus skirtingo dažnio). Atlikite savo tyrimus, tačiau nepamirškite nepamiršti savo piniginės. Malonu žinoti, kurie elektrodai/stiprintuvai yra geriausi, tačiau tai nėra naudinga, jei negalite to sau leisti. Bent bandymui jums reikės ~ 50 elektrodų, o ne tik 3 vienkartiniam naudojimui.
-
Norint optimaliai suderinti triukšmą, ne tik Rn ~ = Rs: jūs taip pat norite, kad triukšmo įtampa * triukšmo srovė (Pn) būtų kuo mažesnė. Tai laikoma svarbesne už Rn ~ = Rs, nes prireikus galite reguliuoti Rs ir Rn naudodami transformatorius.
Įspėjimai su transformatoriais (pataisykite, jei klystu): jie gali būti šiek tiek didelių gabaritų ir todėl nėra optimalūs įrenginiams, kurie turi būti nedideli. Jie taip pat kaupia šilumą, todėl būtinos šilumos kriauklės arba puiki ventiliacija
- Triukšmas atitinka tik pirmąjį pradinį stiprintuvą; antrasis stiprintuvas neturi tiek įtakos, todėl bet kuris operacinis stiprintuvas tai padarys.
-
-
-
6 žingsnis: grandinės kūrimas
Norėdami sukurti grandinę, naudokite aukščiau pateiktą matavimo schemą (antroji kopija apibūdina tai, ką kiekviena dalis nurodo ankstesnio žingsnio schemoje). Jei jums reikia pagalbos identifikuojant šviesos diodus diagramoje, naudokite šį rezistoriaus spalvų kodo skaičiuotuvą, tačiau matavimo stiprintuvo Rg yra 100 Ohm, R_filtras yra 1,5MOhm, C_filtras yra 0,1uF, neinversinio stiprintuvo R1 yra 10 kOhm, R2 yra 33 kOhm, o potenciometro rezistorius yra 1 kOhm (potenciometras svyruoja nuo 0 iki 20 kOhm). Nepamirškite pakeisti savo rezistorių verčių, jei reikia koreguoti pelną!
Redaguoti: poslinkio įžeminimo dalyje yra klaida. Ištrinkite kairįjį juodąjį laidą. Rezistorius raudonu laidu turi būti prijungtas prie maitinimo bėgio, kaip parodyta, bet taip pat prie antrojo potenciometro kaiščio, o ne pirmasis. Pirmasis potenciometro kaištis turi būti prijungtas prie 5 V „Arduino“kaiščio. Oranžinė viela, kuri yra poslinkio žemė, turėtų būti prijungta prie antrojo, o ne pirmojo kaiščio.
Aš daug diskutavau apie poslinkį. Diagramoje matote, kad „Arduino“žemė yra parodyta kaip prijungta prie duonos lentos žemės. Tai yra scenarijus, kurio jums nereikia keisti. Jei jūsų signalas yra už diapazono ribų ir jums reikia pakeisti žemę, pirmiausia pabandykite prijungti „Arduino“įžeminimą prie „Arduino“3,3 V kaiščio ir peržiūrėkite savo signalą. Priešingu atveju pabandykite prijungti oranžinę vielą potenciometre (įstrižainėje) prie „Arduino“GND kaiščio.
SAUGOS PASTABA: litavimo metu nelaikykite akumuliatorių ir NEGALIMA uždėti ar lituoti baterijų atgal. Jūsų grandinė pradės rūkyti, kondensatoriai pūs, taip pat gali būti pažeista duonos lenta. Kaip taisyklė, baterijas naudokite tik tada, kai norite naudoti grandinę; priešingu atveju nuimkite juos (taip pat būtų gera idėja pridėti atlenkiamą jungiklį, kad būtų galima lengvai atjungti baterijas).
Atkreipkite dėmesį, kad prieš litavimą į protobloką grandinę turėtumėte statyti po gabalą (patikrinkite kiekvieną etapą!) Ir ant duonos lentos. Pirmasis patikrinimo etapas yra prietaisų stiprintuvas: pritvirtinkite visus bėgelius (lydmetalį baterijų laikikliuose), Rg ir tt ir naudokite osciloskopą ant išvesties kaiščio. Pradedantiesiems naudokite funkcijų generatorių su 1 Hz sinusine banga, kurios amplitudė yra 5 mV (arba žemiausia jūsų generatoriaus vertė). Tai tik norint patikrinti, ar prietaisų stiprintuvas veikia tinkamai, ir ar jūsų Rg suteikia tikslinį pelną.
Tada patikrinkite žemo dažnio filtrą. Pridėkite tą grandinės dalį ir patikrinkite savo bangos formą: ji turėtų atrodyti lygiai tokia pati, bet mažiau triukšmo (nelygi - žr. Du paskutinius vaizdus aukščiau). Dabar patikrinkime galutinį išėjimą osciloskopu su jūsų elektrodais, o ne funkcijų generatoriumi …
7 žingsnis: grandinės bandymas su žmogumi
Vėlgi, uždėkite elektrodus kairėje ir dešinėje šventyklose ir pritvirtinkite įžeminimo laidą prie kaktos elektrodo. Tik po to turėtumėte įdėti baterijas - jei atsiranda dilgčiojimas, nedelsdami išimkite ir dar kartą patikrinkite jungtis !!! Dabar patikrinkite savo verčių diapazoną, kai žiūrite į kairę ir į dešinę, ir sureguliuokite neinvertuojančio stiprintuvo R1/R2, kaip paaiškinta prieš du veiksmus-nepamirškite, kad tikslas yra 5 V diapazonas! Žiūrėkite aukščiau esančias nuotraukas, kuriose rasite pastabų, į ką atkreipti dėmesį.
Kai esate patenkinti visomis rezistorių vertėmis, lituokite viską į protoboardą. Lituoti nebūtinai būtina, tačiau jis užtikrina didesnį stabilumą, palyginti su paprastomis presavimo jungtimis, ir pašalina grandinės neveikimo neapibrėžtumą vien todėl, kad nepakankamai stipriai įspaudėte juos į duonos lentą.
8 žingsnis: „Arduino“kodas
Visas kodas pridedamas šio veiksmo apačioje!
Dabar, kai turite 5 V diapazoną, turite įsitikinti, kad jis patenka į 0-5 V, o ne nuo -1 V iki 4 V ir tt prie įžeminimo bėgelio ir tada prijunkite laidą iš įžeminimo bėgio prie „Arduino“GND kaiščio (tai yra signalo perkėlimas aukštyn arba žemyn, kad patektumėte į 0–5 V diapazoną). Turėsite žaisti: nepamirškite išplėsti savo rezultatų, kai neaišku!
Dabar kalibravimas: norite, kad šviesa pakeistų spalvas skirtingose akių padėtyse (žiūrint į kairę, o ne į kairę..). Tam jums reikia verčių ir diapazonų: paleiskite „EOG-calibration-numbers.ino“į „Arduino“, kai viskas bus tinkamai prijungta (užbaigite ryšius su „Arduino“ir neopikseliu pagal mano šlifavimo schemą). Tai nėra labai būtina, bet taip pat paleiskite turimą „bioe.py“kodą - tai išves tekstinį failą į darbalaukį, kad galėtumėte įrašyti visas vertes, kaip atrodote kairėn arba dešinėn (python kodas buvo pritaikytas pagal šį pavyzdį). Kaip aš tai padariau, atrodžiau kairėje 8 smūgių metu, tada dešinėn, tada aukštyn, tada žemyn ir vėliau pakartokite vidurkį (žr. Output_2.pdf vieną žurnalą, kurį laikiau). Paspauskite „Ctrl“+C, kad priverstumėte išeiti, kai būsite patenkinti. Naudodami šias vertes, galite koreguoti animacijų diapazonus mano BioE101_EOG-neopixel.ino kode. Man atrodė vaivorykštinė animacija, kai žiūrėjau tiesiai į priekį, mėlyna - kairioji, žalia - šiek tiek kairė, violetinė - šiek tiek dešinė ir raudona - dešinė.
9 žingsnis: būsimi žingsniai
Voila; tai, ką galite valdyti tik akimis. Norint patekti į ligoninę, reikia daug ką optimizuoti, tačiau tai dar viena diena: pagrindines sąvokas dabar bent jau lengviau suprasti. Vienas dalykas, kurį norėčiau sugrįžti ir pakeisti, yra prietaiso stiprintuvo padidinimo padidinimas iki 500: žvelgiant atgal, tai tikriausiai buvo daug, nes mano signalas vėliau buvo 2–4 V ir man buvo sunku naudoti nekeičiamą stiprintuvas, kad puikiai pritaikyčiau savo diapazoną …
Sunku pasiekti nuoseklumą, nes signalas labai keičiasi esant įvairioms sąlygoms:
- kitoks žmogus
- apšvietimo sąlygos
- odos paruošimas (gelis, plovimas ir kt.)
bet net ir taip, esu labai patenkintas savo galutiniu vaizdo įrašo atlikimo įrodymu (padarytas 3 val. ryto, nes tada viskas stebuklingai pradeda veikti).
Žinau, kad daugelis šios pamokos gali atrodyti paini (taip, mokymosi kreivė man taip pat buvo sunki), todėl nedvejodami užduokite žemiau esančius klausimus ir aš padarysiu viską, ką galiu. Mėgautis!
Antroji vieta nepaliestame iššūkyje
Rekomenduojamas:
„King Kong“kaukė su animatroninėmis akimis: 4 žingsniai (su nuotraukomis)
„King Kong“kaukė su „Animatronic Eyes“: ši instrukcija parodo, kaip padaryti kaukę tikroviškai judančiomis akimis. Šiam projektui reikalingi šie įgūdžiai, kurie nėra išsamiai aprašyti: - „Arduino“sąranka, programavimas ir eskizų įkėlimas - litavimas - 3D spausdinimas
Ryškumo valdymas PWM pagrįstas LED valdymas naudojant mygtukus, „Raspberry Pi“ir „Scratch“: 8 žingsniai (su nuotraukomis)
Ryškumo valdymas PWM pagrįstas LED valdymas naudojant mygtukus, „Raspberry Pi“ir „Scratch“: bandžiau rasti būdą, kaip paaiškinti, kaip PWM veikė mano mokiniams, todėl iškėliau sau užduotį pabandyti valdyti šviesos diodo ryškumą naudojant du mygtukus - vienas mygtukas padidina šviesos diodo ryškumą, o kitas - jį pritemdo. Programa
Pimp Zombie spindinčiomis akimis: 5 žingsniai (su nuotraukomis)
Pimp Zombie švytinčiomis akimis: sužinokite, kaip prie esamos figūros pridėti šviesos diodų su žėrinčių akių efektu. Mano atveju Helovinui naudojau zombių figūrą. Tai padaryti yra gana paprasta ir nereikia jokių papildomų įgūdžių
Pridėkite šviesų ir bauginančios muzikos prie „Jack-O-Lantern“-be litavimo ar programavimo (nebent norite): 9 žingsniai (su nuotraukomis)
Pridėkite šviesų ir bauginančios muzikos prie savo „Jack-O-Lantern“-be litavimo ar programavimo (nebent norite): turėkite baisiausią „Jack-O-Lantern“savo gatvėje, pridėdami žėrinčių šviesų ir bauginančios muzikos! Tai taip pat puikus būdas išbandyti „Arduino“ir programuojamą elektroniką, nes visą projektą galima užbaigti nerašant kodo ar lituojant
Belaidžiu būdu valdykite kompiuterį, mirksėdami akimis;): 9 žingsniai (su nuotraukomis)
Belaidžiu būdu valdykite kompiuterį, mirksėdami akimis;): O kaip peržengti savo įpročius? Ką apie išbandyti ką nors naujo ?? !!!! O kaip valdyti kompiuterį ir daryti viską, ko norite be klaviatūros ir pelės! Hmm … Bet kaip tai įmanoma ??? Tik akies mirksniu !! Nereikia