Mündəricat:
- Addım 1: Materiallar
- Addım 2: Fizioloji Tarix və Bir Dövrə Ehtiyacı
- Addım 3: Siqnal İşlənməsi: Niyə və Necə?
- Addım 4: Dövrə necə işləyir
- Addım 5: Komponentlərin və Dəyərlərin Seçilməsi
- Addım 6: Dövrün qurulması
- Addım 7: İnsanla Dövrü Test Etmək
- Addım 8: Arduino Kodu
- Addım 9: Gələcək addımlar
Video: İşıqları gözlərinizlə idarə edin: 9 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Kollecdə bu semestrdə, Tibbi tətbiqlər üçün siqnal işlənməsinin əsaslarını öyrəndiyim Biotibbi Alətlər adlı bir dərs aldım. Sinifin son layihəsi üçün komandam EOG (elektrookulografiya) texnologiyası üzərində çalışdı. Əslində, kiminsə məbədinə bağlanan elektrodlar, siqnalı süzmək və gücləndirmək üçün hazırlanmış bir dövrə üçün bir gərginlik fərqi (korneo-retinal dipol əsasında) göndərir. Siqnal bir ADC-yə (analoq-rəqəmsal çevirici-mənim vəziyyətimdə, bir Arduino Uno-nun ADC-si) verilir və neopikselli bir zərgərin rənglərini dəyişdirmək üçün istifadə olunur.
Bu dərs mənim öyrəndiklərimi yazmağın və insan bədənindən siqnalların necə təcrid olunduğunu daimi oxucu ilə bölüşməyimin bir yoludur (xəbərdar olun: əlavə detallarla doludur!). Bu dövrə əslində EKG dalğa forması olaraq motor ürəklərin elektrik impulslarında bir neçə kiçik dəyişikliklə və daha çox istifadə edilə bilər! Əlbəttə ki, xəstəxanada tapa biləcəyiniz maşınlar qədər inkişaf etmiş və təkmilləşdirilmiş bir yerdə olmasa da, bu göz mövqeyi idarə olunan lampa ilkin anlayış və fikir üçün idealdır.
Qeyd: Siqnal emalında mütəxəssis deyiləm, buna görə hər hansı bir səhv varsa və ya təkmilləşdirmə üçün təklifləriniz varsa, mənə bildirin! Hələ öyrənəcəyim çox şey var, buna görə şərhlər təqdir olunur. Ayrıca, bu dərslikdəki bağlantılarda istinad etdiyim bir çox sənəd, universitetimdən icazə aldığım akademik giriş tələb edir; girişi olmayanlar üçün əvvəlcədən üzr istəyirik.
Addım 1: Materiallar
- protoboard
- rezistorlar (100, 1k, 10k, 33k, 1M + 0.5M)
- kondansatör (0.1uF)
- alət amp (mənim vəziyyətimdə INA111, amma nisbətən yaxşı işləməli olan bir cüt var)
- op amp (hər hansı bir - təsadüfən LM324N)
- neopixel (hər hansı bir əsər, amma bir zərgərdən istifadə etdim)
- 9V batareyalar x2
- 9V batareya başlıqları x2
- bərk gel elektrodları (elektrod seçimi 5 -ci addımda müzakirə olunur)
- potensialiometr
- izolyasiya edilmiş tel
- tel soyucular
- lehimləmə dəmir + lehim
- timsah klipləri (tellər bağlı olduqda - lazım olduqda bir az lehimləyin)
- isti yapışqan (irəli və irəli əyilmiş telləri sabitləşdirmək üçün)
- Arduino (demək olar ki, hər hansı bir əsər var, amma bir Arduino Uno istifadə etdim)
TƏKLİF EDİR: osiloskop, multimetr və funksiya generatoru. Yalnız müqavimət dəyərlərimə güvənmək əvəzinə nəticələrinizi yoxlayın!
Addım 2: Fizioloji Tarix və Bir Dövrə Ehtiyacı
Sürətli imtina: Mən heç bir halda bu sahədə bir tibb mütəxəssisi deyiləm, amma istəsəniz daha da oxumaq üçün bağlantılarla birlikdə aşağıda/aşağıdaGooglingdən öyrəndiklərimi topladım və sadələşdirdim. Ayrıca, bu link tapdığım mövzuya ən yaxşı baxışdır - alternativ üsullar daxildir.
EOG (elektro-okuloqrafiya) kornea-retinal dipol üzərində işləyir. Kornea (gözün önü) bir qədər müsbət yüklüdür və retina (gözün arxası) bir qədər mənfi yüklüdür. Məbədlərə elektrodlar vurduqda və alnınıza dövrə bağladığınızda (oxunuşlarınızı sabitləşdirməyə və 60Hz-lik müdaxilədən qurtulmağa kömək edir), üfüqi göz hərəkətləri üçün ~ 1-10mV gərginlik fərqlərini ölçə bilərsiniz (yuxarıdakı şəklə baxın). Şaquli göz hərəkətləri üçün elektrodları gözünüzün üstünə və altına qoyun. Bədənin elektrik enerjisi ilə necə qarşılıqlı əlaqədə olduğunu yaxşı oxumaq üçün bu məqaləyə baxın - dəri empedansı və s. Haqqında böyük məlumatlar EOG'lar ümumiyyətlə katarakt, refraktiv səhvlər və ya makula dejenerasiyası kimi oftalmoloji xəstəliklərin diaqnozu üçün istifadə olunur. Gözlə idarə olunan robototexnika sahəsində də sadə işlərin gözlərin çalması ilə yerinə yetirilə biləcəyi tətbiqlər var.
Bu siqnalları oxumaq üçün, yəni elektrodlar arasındakı gərginlik fərqini hesablamaq üçün, dövrəyə alət gücləndiricisi adlanan əhəmiyyətli bir çip daxil edirik. Bu alət gücləndiricisi gərginlik ardıcıllarından, ters çevrilməyən bir amplifikatordan və diferensial amperdən ibarətdir. Op amper haqqında çox şey bilmirsinizsə, zəhmət olmasa bir qəza kursu üçün oxuyun - mahiyyətcə bir giriş gərginliyi götürürlər, ölçürlər və elektrik relslərindən istifadə edərək ortaya çıxan gərginliyi çıxarırlar. Hər bir mərhələ arasında bütün rezistorların inteqrasiyası dözümlülük səhvlərinə kömək edir: normalda rezistorlar dəyərlərdə 5-10% dözümlülüyə malikdir və müntəzəm dövrə (bir cihaz gücləndiricisinə tam inteqrasiya olunmamışdır) yaxşı CMMR üçün dəqiqliyə çox güvənərdi (növbəti addıma baxın)). Gərginlik ardıcılları yüksək giriş empedansı üçündür (yuxarıdakı paraqrafda müzakirə olunur - xəstəyə zərər verməmək üçün əsasdır), ters çevrilməyən gücləndirici siqnalın yüksək qazancını təmin etməkdir (növbəti addımda gücləndirmə haqqında daha çox) və diferensial amper fərqi götürür. girişlər arasında (dəyərləri elektrodlardan çıxarır). Bunlar, kənar artefaktlarla zəngin olan biotibbi siqnallar üçün mümkün olduğu qədər ümumi rejimin səs -küy/müdaxiləsini (siqnal işlənməsi haqqında daha çox məlumat üçün, növbəti addıma baxın) əzmək üçün hazırlanmışdır.
Elektrodlar, bəzi dəri empedansı ilə üzləşirlər, çünki dərinizin toxumaları və yağları gərginliyin birbaşa ölçülməsinə mane olur və bu da siqnalın gücləndirilməsinə və süzülməsinə ehtiyac yaradır. Burada, burada və burada tədqiqatçıların bu empedansı ölçməyə çalışdıqları bəzi məqalələr var. Bu fizioloji miqdar, 47nF kondansatörə paralel olaraq 51kOhm müqavimət olaraq modelləşdirilir, baxmayaraq ki, bir çox dəyişiklik və birləşmə var. Fərqli yerlərdə olan dəri fərqli impedanslara malik ola bilər, xüsusən də bitişik əzələlərin fərqli qalınlığını və miqdarını nəzərə alaraq. Empedans dərinizin elektrodlar üçün nə qədər yaxşı hazırlandığı ilə də dəyişir: Mükəmməl yapışma və tutarlılıq təmin etmək üçün ümumiyyətlə sabun və su ilə hərtərəfli təmizləmə təklif olunur və həqiqətən mükəmməllik istəsəniz elektrodlar üçün xüsusi jellər də var. Bir əsas qeyd, empedansın tezliklə dəyişməsi (kondansatörlərin xüsusiyyəti), buna görə də empedansı proqnozlaşdırmaq üçün siqnal bant genişliyinizi bilməlisiniz. Bəli, səs -küy uyğunluğu üçün empedansın qiymətləndirilməsi vacibdir - bu barədə daha çox məlumat üçün sonrakı addıma baxın.
Addım 3: Siqnal İşlənməsi: Niyə və Necə?
İndi niyə LEDləri idarə etmək üçün 1-10mV gərginlik fərqini dərhal çıxış olaraq istifadə edə bilməzsiniz? Yaxşı, siqnalları süzmək və gücləndirmək üçün bir çox səbəb var:
-
Bir çox ADC (analoq-rəqəmsal çeviricilər-analoq girişinizi götürün və məlumatları kompüterdə oxumaq və saxlamaq üçün rəqəmsallaşdırın) belə kiçik dəyişiklikləri aşkar edə bilmir. Məsələn, Arduino Uno-nun ADC-si, xüsusi olaraq 5V çıxışı olan 10 bitlik bir ADC-dir, yəni 0-5V giriş gərginliyini xəritələyir (diapazondan kənar dəyərlər "rels" olacaq, yəni aşağı dəyərlər 0V və daha yüksək dəyərlər oxunacaq) 0V ilə 1023 arasında tam ədədlər üçün. 10mV 5V aralığında o qədər kiçikdir, buna görə də siqnalınızı 5V aralığına qədər gücləndirə bilsəniz, kiçik dəyişikliklər daha çox kəmiyyət dəyişiklikləri ilə əks olunacağı üçün daha asan aşkarlanacaq (5V -dən 10V -ə 2V -dən 4V -ə keçiddən fərqli olaraq). Kompüterinizdəki kiçik bir şəkil kimi düşünün: detallar pikselləriniz tərəfindən mükəmməl müəyyən edilə bilər, ancaq şəkli genişləndirməyincə şəkilləri fərqləndirə bilməyəcəksiniz.
Diqqət yetirin ki, ADC üçün daha çox bitə sahib olmaq daha yaxşıdır, çünki davamlı siqnalınızı diskret, rəqəmsal dəyərlərə çevirməklə kvantlama səs -küyünü minimuma endirə bilərsiniz. SNR girişinin ~ 96% tutulması üçün nə qədər bit lazım olduğunu hesablamaq üçün bir qayda olaraq N = SNR (dB ilə)/6 istifadə edin. Cüzdanınızı da yadda saxlamaq istəyirsiniz: daha çox bit istəyirsinizsə, daha çox pul yığmağa hazır olmalısınız
-
Səs -küy və müdaxilə (səs -küy = hamar müdaxilə yerinə siqnallarınızı çaxnaşmaya salan təsadüfi artefaktlar = radio dalğalarından bitişik siqnallardan təsadüfi olmayan, sinusoidal artefaktlar və s.) Gündəlik həyatda ölçülən bütün siqnalları boğur.
- Ən məşhuru 60Hz müdaxiləsidir (Avropada olsanız 50Hz və Rusiyada heç biriniz yoxdur, çünki onlar elektrik enerjisi prizlərinin AC elektromaqnit sahələrindən kommunal tezliyi adlanır. Elektrik xətləri elektrik generatorlarından yaşayış sahələrinə yüksək gərginlikli AC keçirir, burada transformatorlar Amerika elektrik prizlərində gərginliyi ~ 120V -ə endirirlər. Alternativ gərginlik, ətrafımızda hər cür siqnallara müdaxilə edən və süzülməsi lazım olan 60 Hz müdaxilənin bu daimi hamamına gətirib çıxarır.
-
60Hz müdaxiləsinə ümumiyyətlə ümumi rejim müdaxiləsi deyilir, çünki hər iki girişinizdə (+ və -) op amperə çıxır. İndi, op amperlər, ümumi rejim artefaktlarını azaltmaq üçün ümumi rejimi rədd etmə nisbəti (CMRR) adlanan bir şeyə sahibdirlər, amma (səhv etsəm düzəldin!) Bu, əsasən ümumi rejim səsləri üçün yaxşıdır (təsadüfi: təsadüfi deyil, səs -küy: müdaxilə). 60Hz -dən qurtulmaq üçün bandstop filtrlərindən istifadə edərək onu tezlik spektrindən seçici şəkildə çıxarmaq olar, ancaq sonra faktiki məlumatların silinmə riski də var. Ən yaxşı halda, yalnız 60 Hz -dən aşağı olan tezlik aralığını saxlamaq üçün aşağı keçid filtrindən istifadə edə bilərsiniz, buna görə də daha yüksək tezliklərə malik olan hər şey süzülür. EOG üçün etdiyim budur: siqnalımın gözlənilən bant genişliyi 0-10Hz idi (sürətli göz hərəkətlərinə laqeyd yanaşmaq-sadələşdirilmiş versiyamızda bununla məşğul olmaq istəmirdim), buna görə aşağı ötürmə filtri ilə 10 Hz-dən böyük tezlikləri çıxardım..
- 60Hz siqnallarımızı kapasitif bağlama və induktiv birləşmə vasitəsilə korlaya bilər. Kapasitif birləşmə (burada kondansatörlərdə oxunur) hava, bitişik dövrələr arasında AC siqnalları üçün bir dielektrik rolunu oynadığı zaman meydana gəlir. Endüktif birləşmə, maqnit sahəsində cərəyan keçirərkən Faraday qanunundan irəli gəlir. Birləşməni aradan qaldırmaq üçün bir çox fəndlər var: məsələn, bir növ Faraday qəfəsi kimi topraklanmış bir qalxan istifadə edə bilərsiniz. Mümkün olduqda bükülmə/örgü telləri, induktiv birləşmənin müdaxilə etməsi üçün mövcud olan ərazini azaldır. Telləri qısaltmaq və dövrənizin ümumi ölçüsünü azaltmaq da eyni səbəbdən eyni təsirə malikdir. Elektrik prizinə qoşulmaqdan fərqli olaraq, op amp rayları üçün batareya gücünə güvənmək də kömək edir, çünki batareyalar sinusoidal salınımsız bir DC mənbəyi təmin edir. Daha çoxunu burada oxuyun!
-
Aşağı keçid filtrləri də çox səs -küydən xilas olur, çünki təsadüfi səs -küy yüksək tezliklər ilə təmsil olunur. Bir çox səs -küy ağ səs -küydür, yəni bütün tezliklərdə səs -küy var, buna görə siqnal bant genişliyinizi mümkün qədər məhdudlaşdırmaq siqnalınızda nə qədər səs -küy olduğunu məhdudlaşdırmağa kömək edir.
Bəzi aşağı keçid filtrləri, kənarlaşdırmanın qarşısını aldıqları üçün anti-aliasing filtrləri adlanır: sinusoidlər nümunə altına alındıqda, əslində fərqli bir tezlikdə aşkar edilə bilər. Nyquistin nümunə götürmə teoremini (2x daha yüksək tezlikdə nümunə siqnalları: gözlənilən 1Hz sinus dalğası üçün> 2Hz nümunə götürmə tezliyinə ehtiyac var) riayət etməyi həmişə xatırlamalısınız. Bu EOG vəziyyətində, Nyquist haqqında narahat olmaq lazım deyildi, çünki siqnalımın əsasən 10Hz diapazonunda olması və Arduino ADC nümunələrimin 10kHz - hər şeyi tutmaq üçün kifayət qədər sürətli olacağı gözlənilirdi
- Səs -küydən xilas olmaq üçün kiçik fəndlər də var. Biri, bir ulduz zəmini istifadə etməkdir ki, dövrələrinizin bütün hissələri eyni referansa malikdir. Əks təqdirdə, bir hissənin "torpaq" adlandırdığı şey, uyğunsuzluqlara səbəb olan tellərdə kiçik bir müqavimət səbəbiylə digər hissədən fərqlənə bilər. Çörək taxtası ilə yapışmaq əvəzinə protoboya lehimləmək də bəzi səs-küyü azaldır və bərkidilmədən fərqli olaraq etibar edə biləcəyiniz etibarlı bağlantılar yaradır.
Səs -küyün və müdaxilənin qarşısını almaq üçün bir çox başqa yol var (bura və buraya baxın), lakin daha çox məlumat üçün bu və ya Google -da dərs keçə bilərsiniz: həqiqi dövrə keçək!
Addım 4: Dövrə necə işləyir
Dövrə diaqramından qorxmayın: burada hər şeyin necə işlədiyinə dair kobud bir bölmə var: (bəzi izahatlar üçün əvvəlki addıma da baxın)
- Ən solda elektrodlarımız var. Biri sol məbədə, digəri sağ məbədə, üçüncü elektrod alnına sabitlənmişdir. Bu topraklama siqnalı sabitləşdirir, buna görə daha az sürüşmə var və 60Hz müdaxiləsinin bir hissəsini də aradan qaldırır.
- Sonrakı cihazların gücləndiricisidir. Gərginlik fərqini yaratmaq üçün nə etdiyini izah etmək üçün iki addımı geri çəkin. Ampin qazancını dəyişdirmək üçün tənlik, məlumat vərəqinin [G = 1+ (50kOhm/Rg) 7 -ci səhifəsindədir, burada Rg amp -in 1 və 8 sancaqlarına bağlıdır). Dövrüm üçün Rg = 100Ohm istifadə edərək 500 qazanc əldə etdim.
- Alətlər gücləndiricisi 500x gücləndirilmiş gərginlik fərqini çıxardıqdan sonra R_filter və C_filter kondansatöründən ibarət birinci dərəcəli RC aşağı keçid filtri var. Aşağı keçid filtri kənarlaşmanın qarşısını alır (mənim üçün heç bir narahatlıq yoxdur, çünki Nyquist tərəfindən gözlənilən 10Hz bant genişliyi üçün ən azı 20 Hz və 10 kHz-də Arduino ADC nümunələri kifayət qədər çoxdur) və səs-küyü də kəsir. ehtiyac duymadığım bütün tezliklərdə. RC sistemi işləyir, çünki kondansatörlər yüksək tezliklərə asanlıqla keçir, lakin daha aşağı tezliklərə mane olur (impedans Z = 1/(2*pi*f)) və kondansatör üzərindəki gərginliklə bir gərginlik bölücü yaratmaqla yalnız aşağı tezliklərə icazə verən bir filtr meydana gəlir. vasitəsilə [3dB intensivliyinin kəsilməsi f_c = 1/(2*pi*RC) formulu ilə idarə olunur]. Filtrimin R və C dəyərlərini ~ 10Hz -dən yüksək olan siqnalları kəsmək üçün düzəltdim, çünki bu diapazonda EOG -lar üçün bioloji siqnal gözlənilir. Əvvəlcə 20 Hz -dən sonra kəsdim, amma təcrübədən sonra 10 Hz də eyni şəkildə çalışdı, buna görə daha kiçik bant genişliyi ilə getdim (kiçik bant genişliyi lazımsız bir şeyi kəsmək üçün daha yaxşıdır).
- Bu süzülmüş siqnalla, dəyərlər aralığımı sola və sağa (aralığımın iki ucu) baxmaq üçün bir osiloskopla çıxışı ölçdüm. Hədəfim 5V olduqda (Arduino ADC-nin tam diapazonu) 2-4V-ə yaxınlaşdım (çünki cihaz gücləndiricisi ~ 4-8mV aralığında 500x idi). Bu diapazon çox dəyişdi (insanın dərini əvvəlcədən nə qədər yaxşı yuduğuna və s.), Buna görə də ikinci çevrilməyən amfimlə bu qədər qazanc əldə etmək istəmədim. Yalnız 1,3 qazanc əldə etmək üçün onu düzəltdim (amp = 1+R2/R1 qazancı səbəbindən dövrədə R1 və R2 tənzimləyin). 5V -dən yuxarı keçməmək üçün öz çıxışınızı əhatə etməli və oradan tənzimləməlisiniz! Yalnız müqavimət dəyərlərimi istifadə etməyin.
- Bu siqnal indi oxumaq üçün Arduino analog pininə verilə bilər, ancaq Arduino ADC mənfi girişləri qəbul etmir! Siqnalınızı -2.5V -dan 2.5V -a qədər 0-5V aralığına qaldırmaq lazımdır. Bunu düzəltməyin bir yolu, dövrə lövhənizin zəmini Arduinonun 3.3V pininə bağlamaqdır: bu, siqnalınızı 3.3V artırır (optimal 2,5V -dən çoxdur, amma işləyir). Mənim aralığım həqiqətən də uğursuz idi, buna görə dəyişən bir ofset gərginliyi hazırladım: beləliklə, potensialiometrini aralığını 0-5V-a mərkəzləşdirmək üçün fırlaya bilərdim. Əsasən +/- 9V elektrik raylarını istifadə edərək dəyişən bir gərginlik ayırıcısıdır ki, dövrə torpağını -9 ilə 9V arasında olan hər hansı bir dəyərə bağlaya bilərəm və beləliklə siqnalımı 9V yuxarı və ya aşağı dəyişə bilərəm.
Addım 5: Komponentlərin və Dəyərlərin Seçilməsi
Dövrə izah edildikdə, hansını (elektrod, op amp) istifadə edəcəyimizi necə seçə bilərik?
-
Bir sensor olaraq, bərk gel elektrodları yüksək giriş empedansına və aşağı çıxış empedansına malikdir: bunun mahiyyəti budur ki, cərəyan axının aşağı axını ilə dövrənin qalan hissəsinə asanlıqla keçə bilər (aşağı çıxış empedansı), ancaq yuxarıya doğru məbədlərinizə qayıtmaq çətin olacaq. (yüksək giriş empedansı). Bu, istifadəçinin dövrənizin qalan hissəsində hər hansı bir yüksək cərəyan və ya gərginlikdən yaralanmasının qarşısını alır; Əslində, bir çox sistemdə, hər halda, əlavə qoruma üçün xəstə qoruma rezistoru deyilən bir şey var.
-
Bir çox fərqli elektrod növü mövcuddur. Əksər insanlar EKG/EOG/etc tətbiqlərində istifadə üçün Ag/AgCl bərk gel elektrodları təklif edir. Bunu nəzərə alaraq, bu elektrodların qaynaq müqavimətini axtarmalısınız (dəri empedansına dair qeydlərim üçün iki addım geriyə gedin) və onu səs -küy müqavimətinə (V/sqrt (Hz) olan səs -küy gərginliyinə görə bölün. A/sqrt (Hz) - op ampsinizin məlumat vərəqlərinə baxın) - cihazınız üçün doğru cihaz gücləndiricisini necə seçdiyiniz. Buna səs -küy uyğunluğu deyilir və mənbə müqavimətinin Rs -in səs -küy müqavimətinin Rn -ə uyğun gəlməsinin izahlarını burada olduğu kimi onlayn olaraq tapmaq olar. Seçdiyim INA111 üçün Rn, məlumat vərəqinin səs -küy gərginliyi və səs axını istifadə edərək hesablana bilər (yuxarıdakı ekran görüntüsü).
-
Elektrodun performansını qiymətləndirən bol məqalələr var və heç bir elektrod bütün məqsədlər üçün ən yaxşısı deyil: məsələn, burada cəhd edin. Müxtəlif bant genişlikləri üçün empedans da op amp məlumat vərəqlərində əks olunduğu kimi dəyişir (bəzi məlumat vərəqlərində fərqli tezliklərdə əyrilər və ya cədvəllər olacaq). Araşdırma aparın, ancaq cüzdanınızı unutmayın. Hansı elektrodların/op amperlərin daha yaxşı olduğunu bilmək çox xoşdur, amma bunu ödəyə bilmirsinizsə faydası yoxdur. Test üçün ən azı ~ 50 elektrod lazımdır, birdəfəlik istifadə üçün 3 yox.
-
Optimal səs -küy uyğunluğu üçün nəinki Rn ~ = Rs olmalıdır: həm də səs gərginliyi * səs axınının (Pn) mümkün qədər aşağı olmasını istəyirsiniz. Bu, Rn ~ = Rs etməkdən daha vacib hesab olunur, çünki lazım olduqda transformatorlardan istifadə edərək R və Rn -i tənzimləyə bilərsiniz.
Transformatorlu xəbərdarlıqlar (səhv olduqda düzəldin): bir qədər həcmli ola bilər və buna görə də kiçik olması lazım olan cihazlar üçün optimal deyil. Həm də istilik yığırlar, buna görə istilik yuyucusu və ya əla havalandırma lazımdır
- Səs -küy yalnız ilk başlanğıc amp ilə uyğun gəlir; ikinci amp o qədər də təsir etmir, buna görə hər hansı bir op amp təsir edəcək.
-
-
-
Addım 6: Dövrün qurulması
Dövr qurmaq üçün yuxarıdakı qıvrım diaqramını istifadə edin (ikinci nüsxədə, hər bir hissənin bir əvvəlki addımdakı dövrə diaqramında nəyə istinad etdiyi təsvir olunur). Diaqramdakı LED -lərin müəyyən edilməsinə kömək lazımdırsa, bu rezistor rəng kodu hesablayıcısından istifadə edin, ancaq cihaz amplifikatörünün Rg 100Ohm, R_filter 1.5MOhm, C_filter 0.1uF, ters çevrilməyən ampin R1 10kOhm, R2 33kOhm və potansiyometr üçün müqavimət 1kOhmdur (potansiyometr 0 ilə 20kOhm arasında dəyişir). Qazancları tənzimləmək üçün lazım olduqda rezistor dəyərlərinizi dəyişdirməyi unutmayın!
Düzəliş: ofset torpaq hissəsində bir səhv var. Sol qara teli silin. Rezistor qırmızı tellə göstərildiyi kimi elektrik rayına deyil, həm də potensiometrin birinci deyil, ikinci pininə bağlanmalıdır. Potensiometrin ilk pimi Arduinonun 5V pininə bağlanmalıdır. Ofset zəmini olan narıncı tel birinciyə deyil, ikinci pinə bağlanmalıdır.
Ofset zəminində çox danışdım. Diaqramda Arduino zəminin çörək taxtasının zəminə bağlı olaraq göstərildiyini görə bilərsiniz. Bu ssenaridə yerinizi dəyişdirməyinizə ehtiyac yoxdur. Siqnalınız diapazonda deyilsə və yerinizi dəyişdirmək lazımdırsa, əvvəlcə Arduino torpaqlarını Arduinonun 3.3V pininə bağlamağa çalışın və siqnalınıza baxın. Əks təqdirdə, narıncı teli potensialiometrdə (ofset torpaq) Arduinonun GND pininə bağlamağa çalışın.
TƏHLÜKƏSİZLİK LEHİMİ zamanı batareyaları içəridə saxlamayın və batareyaları geriyə qoymayın. Dövrünüz siqaret çəkməyə başlayacaq, kondansatörlər partlayacaq və çörək taxtası da zədələnə bilər. Bir qayda olaraq, batareyaları yalnız dövrəni istifadə etmək istədiyiniz zaman istifadə edin; əks halda, onları çıxarın (batareyaları asanlıqla ayırmaq üçün çevirmə açarı əlavə etmək də yaxşı olardı).
Diqqət yetirin ki, protoboya lehimləməzdən əvvəl dövrə hissələrini (hər mərhələni yoxlayın!) Və bir çörək taxtası üzərində qurmalısınız. Yoxlamağın ilk mərhələsi cihaz gücləndiricisidir: bütün rayları (batareya tutacaqlarında lehim), Rg və s. Bağlayın və çıxış pinində bir osiloskop istifadə edin. Yeni başlayanlar üçün 5mV amplitüdlü 1Hz sinus dalğalı bir funksiya generatoru istifadə edin (və ya generatorunuzun gedəcəyi ən aşağı). Bu, yalnız cihaz gücləndiricisinin düzgün işlədiyini və Rg -nin hədəf qazancınızı təmin etdiyini yoxlamaqdır.
Sonra, aşağı keçid filtrinizi yoxlayın. Dövrün həmin hissəsini əlavə edin və dalğa formunuzu yoxlayın: tam olaraq eyni görünməlidir, lakin daha az səs -küylüdür (əyri - yuxarıdakı son iki şəklə baxın). İndi bir funksiya generatoru yerinə elektrodlarınızla bir osiloskopla son çıxışınızı araşdıraq …
Addım 7: İnsanla Dövrü Test Etmək
Yenə sol və sağ məbədlərinizə elektrodlar qoyun və alnınızdakı bir elektroda torpaq teli bağlayın. Yalnız bundan sonra batareyaları əlavə etməlisiniz - hər hansı bir karıncalanma baş verərsə, dərhal çıxarın və əlaqələri iki dəfə yoxlayın !!! İndi sola və sağa baxdığınız zaman dəyərlər aralığınızı yoxlayın və iki addım əvvəl izah edildiyi kimi ters çevrilməyən gücləndiricinin R1/R2-ni tənzimləyin-hədəfin 5V aralığında olduğunu unutmayın! Nələrə diqqət etməli olduğunuzu qeyd etmək üçün yuxarıdakı şəkillərə baxın.
Bütün müqavimət dəyərlərindən məmnun olduğunuzda, hər şeyi bir protoboya lehimləyin. Lehimləmə qətiliklə lazım deyil, ancaq sadə bərkidilmə birləşmələri üzərində daha çox sabitlik təmin edir və kifayət qədər sərt bir çörək taxtasına basmadığınız üçün işləməyən dövrənin qeyri -müəyyənliyini aradan qaldırır.
Addım 8: Arduino Kodu
Bütün kod bu addımın altına əlavə olunur!
İndi 5V aralığına malik olduğunuz üçün -1V -dən 4V -a deyil, 0-5V -ə düşdüyündən əmin olmalısınız. Ya Arduino'nun 3.3V pininə torpaq bağlayın və ya ofset torpaq gərginliyini (yuxarıdakı narıncı tel) bağlayın yer rayına və sonra Arduinonun GND pininə yer relsindən bir tel bağlayın (bu, siqnalı yuxarı və ya aşağıya çevirmək üçün 0-5V aralığına daxil olursunuz). Ətrafınızda oynamaq məcburiyyətindəsiniz: qeyri -müəyyən olduqda çıxışınızı əhatə etməyi unutmayın!
İndi kalibrləmə üçün: işığın fərqli göz mövqeləri üçün rəngləri dəyişdirməsini istəyirsən (sola baxaraq sola qədər deyil..). Bunun üçün dəyərlərə və aralığa ehtiyacınız var: EOG-calibration-numbers.ino'yu hər şey düzgün bir şəkildə bağlandıqdan sonra Arduino-ya işə salın (Arduino və neopixel ilə əlaqəni kəsmə diaqramıma uyğun olaraq bitirin). Çox lazım deyil, həm də sahib olduğum bioe.py kodunu işlədin - bu, masaüstünüzə bir mətn faylı çıxaracaq, beləliklə sola və ya sağa baxdığınız zaman bütün dəyərləri qeyd edə bilərsiniz (python kodu bu nümunədən uyğunlaşdırılmışdır). Bunu necə etdim, 8 vuruş üçün sola baxdım, sonra sağa, sonra yuxarıya, sonra aşağıya endirdim və sonra ortalamaq üçün təkrarladım (saxladığım bir qeyd üçün output_2.pdf -ə baxın). Məmnun olduğunuz zaman çıxmaq üçün ctrl+C düymələrini basın. Bu dəyərlərdən istifadə edərək BioE101_EOG-neopixel.ino kodumda animasiyaların aralığını tənzimləyə bilərsiniz. Mənim üçün düz irəli baxdığımda göy qurşağı animasiyam var idi, sola mavi, sola yaşıl, yüngül sola bənövşəyi və sağa qırmızı.
Addım 9: Gələcək addımlar
Voila; yalnız gözlərinizlə idarə edə biləcəyiniz bir şey. Xəstəxanaya getmədən əvvəl optimallaşdırılacaq çox şey var, amma bu başqa bir gün üçün: əsas anlayışları indi başa düşmək ən azı daha asandır. Geri qayıtmaq və dəyişmək istədiyim bir şey qazancımı cihazların gücləndiricisi üçün 500-ə düzəltməkdir: geriyə baxanda bu, çox güman ki, çox idi, çünki siqnalım artıq 2-4V idi və ters çevrilmədən istifadə etməkdə çətinlik çəkirdim. diapazonumu mükəmməl tənzimləmək üçün amp…
Siqnal fərqli şərtlər üçün çox dəyişdiyindən tutarlılıq əldə etmək çətindir:
- fərqli adam
- işıqlandırma şərtləri
- dərinin hazırlanması (jellər, yuyulma və s.)
amma buna baxmayaraq, performansımın son video sübutundan olduqca məmnunam (3AM -da çəkildim, çünki hər şey sehrli şəkildə işə başlayır).
Bilirəm ki, bu dərsliyin çoxu çaşqın görünə bilər (bəli, öyrənmə əyrisi mənim üçün də çətin idi), buna görə də aşağıda suallar verməkdən çekinmeyin və cavab vermək üçün əlimdən gələni edəcəyəm. Zövq alın!
Toxunulmaz Çağırışda Qalib
Tövsiyə:
WiFi İdarə olunan Unicorn Şapkası? RGB işıqları ilə: 5 addım (şəkillərlə)
WiFi İdarə olunan Unicorn Şapkası? RGB İşıqları ilə: Hər kəsə salam. Mənim balacam bir müddət unicorns ilə bağlı maraqlı geyilə bilən DIYlər haqqında məni dartırdı. Başımı cızdım və qeyri -adi və çox aşağı büdcəli bir şey yaratmağa qərar verdim. Bu layihənin davam etməsi üçün tətbiq tələb olunmur
İnteraktiv həyət işıqları, keçid işıqları: 3 addım
İnteraktiv həyət işıqları, keçid işıqları: Arxa həyətim üçün bir növ interaktiv həyət işıqları qurmaq istəyirdim. Fikir, kimsə bir tərəfə getdiyi zaman, getdiyin istiqamətdə bir animasiya quracaqdı. Dollar General 1.00 dollarlıq günəş işığı ilə başladım
PSP -ni Kompüter Joystick olaraq istifadə edin və sonra PSP ilə kompüterinizi idarə edin: 5 addım (şəkillərlə)
PSP -ni Kompüter Joystick Olaraq İstifadə Edin və Sonra PSP ilə Kompüterinizi İdarə Edin: PSP homebrew ilə çox gözəl şeylər edə bilərsiniz və bu təlimatda mən sizə PSP -ni oyun oynamaq üçün joystick kimi necə istifadə edəcəyinizi öyrədəcəyəm. joystickdən siçan kimi istifadə etməyə imkan verən bir proqram. İşdə ana
DIY Milad İşıqları Musiqiyə Quruldu - Xoreoqrafik Ev İşıqları: 15 Addım (Şəkillərlə)
DIY Milad İşıqları Musiqiyə Quruldu - Xoreoqrafiya Edilmiş Ev İşıqları: Musiqiyə Qurulan DIY Milad İşıqları - Xoreoqrafiya Edilmiş Ev İşıqları Bu yeni başlayan DIY deyil. Elektronika, dövrə, BASIC proqramlaşdırma və elektrik təhlükəsizliyi haqqında ümumi müdrikliklərə dair möhkəm bir anlayışa ehtiyacınız olacaq. Bu DIY təcrübəli bir adam üçündür, buna görə də
Lazer Göstərici və Arduino ilə Floresan İşıqları İdarə Edin: 4 addım
Lazer Göstərici və Arduino ilə Floresan İşıqları İdarə Edin: Alpha One Labs Hackerspace -in bir neçə üzvü floresan qurğular tərəfindən verilən sərt işığı sevmir. Fərdi qurğuları asanlıqla idarə etmək üçün bir yol istədilər, bəlkə də bir lazer göstəricisi ilə? Mən bunu düz etdim. Mən