فهرست مطالب:

فتوسکوپ طیفی Fast Hartley Transform: 22 Step
فتوسکوپ طیفی Fast Hartley Transform: 22 Step

تصویری: فتوسکوپ طیفی Fast Hartley Transform: 22 Step

تصویری: فتوسکوپ طیفی Fast Hartley Transform: 22 Step
تصویری: مراقبت از زخم سزارین 2024, ژوئن
Anonim
استتوسکوپ طیفی Fast Hartley Transform
استتوسکوپ طیفی Fast Hartley Transform

در این مقاله آموزشی نحوه ساخت یک گوشی پزشکی طیفی با استفاده از تبدیل سریع هارتلی را خواهید آموخت. این می تواند برای تجسم صداهای قلب و ریه استفاده شود.

مرحله 1: مواد

صفحه LCD 1.8 اینچی (7.50 دلار در آمازون)

Arduino Uno یا Equivalent (7.00 دلار در Gearbest)

تقویت کننده Electret (6.95 دلار در Adafruit)

100 μF خازن (0.79 دلار)

سیم و جامپر (4.00 دلار)

جک 3.5 میلی متری استریو (1.50 دلار)

پتانسیومتر 10 کیلو اهم (2.00 دلار)

سوئیچ لحظه ای (1.50 دلار)

مرحله 2: ابزارها

آهن لحیم کاری

چسب حرارتی تفنگی

چاپگر سه بعدی… یا یک دوست با چاپگر سه بعدی (امکان ساخت با مقوا نیز وجود دارد)

سیم چین

تخته نان

مرحله 3: چاپ سه بعدی

اولین مورد ، چاپ سه بعدی فایل های.stl متصل به این مرحله است. من هر دو فایل را با استفاده از مواد/تنظیمات زیر چاپ کردم:

مواد: PLA

ارتفاع لایه: 0.1 میلی متر

ضخامت دیوار/بالا/پایین: 0.8 میلی متر

دمای چاپ: 200 درجه سانتی گراد

دمای تخت: 60 درجه سانتی گراد

پشتیبانی فعال است @ 10٪

مرحله 4: ساختن مدار

با استفاده از اجزای موجود در قسمت مواد ، مدار را بسازید. من همیشه مدار را ابتدا روی تخته نان قرار می دهم تا قبل از دست زدن به لحیم کاری از عملکرد صحیح آن مطمئن شوم.

مرحله 5: سیم کشی LCD

سیم کشی LCD
سیم کشی LCD

با استفاده از شکل متصل به این مرحله ، سیم ها را به هفت از هشت پین روی صفحه LCD وصل کنید. طول این سیم ها به جز زمین و پینهای +5 ولت (3 فوت اینچ فقط 2 تا 3 اینچ) طول خواهد داشت

مرحله 6: سیم کشی میکروفون/تقویت کننده

سیم کشی میکروفون/تقویت کننده
سیم کشی میکروفون/تقویت کننده

با استفاده از شکل متصل به این مرحله ، سه سیم را به پین های +5V ، Ground و Out در میکروفون/تقویت کننده Adafruit وصل کنید. اینها فقط باید حدود 2-3 اینچ طول داشته باشند.

مرحله 7: سیم کشی سوئیچ لحظه ای

روی یک سوئیچ لحظه ای یک سیم 2-3 اینچی به هر دو شاخه وصل کنید.

مرحله 8: سیم کشی پتانسیومتر

با استفاده از شکل در مرحله 6 ، سه سیم را به طول حدود 2-3 اینچ به سه شاخه پتانسیومتر بچسبانید.

مرحله 9: سیم کشی جک هدفون

سه سیم را به حلقه ، نوک و آستین جک هدفون بچسبانید. من از جک خارج از مترونوم که قبلاً سیم کشی شده بود استفاده کردم. اگر نمی دانید حلقه ، نوک و لبه آستین چیست ، کافی است در گوگل آن را مشاهده کنید ، تصاویر خوبی در مورد سیم کشی جک های استریو وجود دارد.

مرحله 10: خروجی میکروفون/تقویت کننده

پس از لحیم کردن سیم های میکروفن/آمپر ، پتانسیومتر و جک هدفون ، یک سیم را به طول سه فوت به سیم "خارج" تقویت کننده میکروفون لحیم کنید. این سیم بعداً به پین A0 آردوینو متصل می شود.

مرحله 11: خروجی میکروفون/تقویت کننده ادامه دارد

سیم دوم را به سیم "خارج" میکروفون/تقویت کننده لحیم کنید. این سیم باید به یک خازن 100 میکرو فاراد لحیم شود. اگر از خازن الکترولیتی استفاده می کنید ، مطمئن شوید که طرف مثبت به این سیم متصل است.

مرحله 12: اجزای داخل محفظه

قطعات در محوطه
قطعات در محوطه
اجزای موجود در محفظه
اجزای موجود در محفظه

بعد از اینکه همه سیمها روی اجزا لحیم شدند ، قطعات را در محلهای مربوطه و طبق شکلهای پیوست شده به این مرحله قرار دهید. من از چسب حرارتی برای محکم کردن جک میکروفون و هدفون در محل استفاده کردم.

مرحله 13: لحیم کاری در محفظه

بعد از اینکه همه اجزا در محفظه محکم شدند ، تمام سیم های زمین را با هم لحیم کنید. باید یکی از LCD ، یکی از میکروفون/آمپر و یکی از آستین جک هدفون باشد. همچنین سیمهای +5V را به یکدیگر و یک سیم را از کلید لحظه ای لحیم کنید. دوباره باید یکی از LCD ، یکی از میکروفون/تقویت کننده و یکی روی سوئیچ لحظه ای باشد.

مرحله 14: +5V ، GND Extended Wires

حالا دو تکه سیم به طول 3 فوت برش دهید. یکی را روی دسته سیم های اتصال زمین و دیگری را روی سیم باز لحیم کنید.

مرحله 15: سیم های بلند را از سوراخ محفظه عبور دهید

سیمهای بلند را از سوراخ محفظه عبور دهید
سیمهای بلند را از سوراخ محفظه عبور دهید

در حال حاضر ، شما باید در مجموع هشت سیم به طول 3 فوت داشته باشید. اینها را از طریق سوراخ پر نشده در محفظه قرار دهید. شکل پیوست شده به این مرحله را مشاهده کنید

مرحله 16: انقباض حرارتی

پس از اتمام لحیم کاری ، مطمئن شوید که سیم های روکش شده پوشانده شده اند. من از لوله های حرارتی کوچک استفاده کردم ، اما نوار برقی نیز خوب کار می کند.

مرحله 17: مهر و موم محفظه

محفظه مهر و موم
محفظه مهر و موم
محفظه مهر و موم
محفظه مهر و موم

نیمی از محفظه حاوی صفحه LCD را برداشته و روی نیمه دیگر محفظه حاوی سایر اجزا بکشید. در حالی که دو قطعه را به هم فشار می دهید ، آنها را با چسب داغ بچسبانید تا محفظه به هم محکم شود.

مرحله 18: به آردوینو متصل شوید

هشت سیم بلند باقی مانده مستقیماً به پین های آردوینو مربوطه متصل می شوند که در نمودارهای مدار مشخص شده است. اطمینان حاصل کنید که هر بار یکی از آن سیمهای بلند 3 فوت را به مدار بچسبانید و یک نوار را در انتهای دیگر قرار دهید که نشان می دهد پین آردوینو به کدام قسمت می رود!

مرحله 19: Arduino IDE/کتابخانه ها

شما باید Arduino IDE را بارگیری کنید. برای این طرح ، من از سه کتابخانه مختلف استفاده کردم: FHT.h ، SPI.h و TFT.h. اگر نمی دانید چگونه کتابخانه های Arduino را بارگیری کنید ، لطفاً به https://www.arduino.cc/fa/Guide/Libraries مراجعه کنید. کتابخانه FHT.h از openmusiclabs.com بارگیری شد. دو مورد دیگر در GitHub بارگیری شد.

مرحله 20: طرح آردوینو

این کد از Fast Hartley Transform (FHT) برای تغییر دامنه زمان به دامنه فرکانس استفاده می کند. این را می توان با استفاده از تبدیل سریع فوریه (FFT) نیز انجام داد ، اما FHT بسیار سریعتر است. FFT و FHT ایده های بسیار اساسی در پردازش سیگنال هستند و یادگیری آنها بسیار سرگرم کننده است. پیشنهاد می کنم اگر علاقه دارید خودتان مطالعه کنید. کد نمونه FHT که از وب سایت Open Music Labs کپی کردم در ابتدا دامنه هر سطل فرکانس را به صورت خروجی لگاریتمی یا دسیبل خروجی می داد. من این را تغییر دادم تا سطوح فرکانس را در مقیاس خطی خروجی دهم. این به این دلیل است که مقیاس خطی بازنمایی بصری بهتری از نحوه شنیدن صدا توسط انسان است. حلقه for () در انتها برای کشیدن دامنه هر سطل فرکانس روی صفحه LCD است. طیف FHT کامل شامل تمام سطوح فرکانس از i = 0 تا i <128 می شود. متوجه خواهید شد که حلقه for () من از i = 5 تا i <40 است ، زیرا فرکانسهای مهم برای تشخیص شرایط ریه به طور معمول بین 150 هرتز تا 3.5 کیلوهرتز است ، من تصمیم گرفتم تا حدود 4 کیلوهرتز بروم. اگر می خواهید طیف فرکانس کامل را نشان دهید ، می توانید آن را تنظیم کنید.

[کد]

// کد گوشی پزشکی دیجیتال

// کتابخانه Fast Hartley Transform بارگیری شده از openmusiclabs

#تعریف LIN_OUT 1 // FHT را برای تولید خروجی خطی تنظیم کنید

#تعریف LOG_OUT 0 // خروجی لگاریتمی FHT را خاموش کنید

#تعریف FHT_N 256 // شماره نمونه FHT

#شامل // شامل کتابخانه FHT

#شامل // شامل کتابخانه TFT

#شامل // شامل کتابخانه SPI

#cs 10 را تعریف کنید // پین ال سی دی cs را روی آردوینو پین 10 تنظیم کنید

#decine dc 9 // پین dcd LCD را روی arduino pin 9 تنظیم کنید

#define rst 8 // پین تنظیم مجدد LCD را روی آردوینو 8 تنظیم کنید

TFT myScreen = TFT (cs، dc، rst)؛ // اعلام نام صفحه TFT

void setup () {

//Serial.begin(9600)؛// تنظیم میزان نمونه گیری

myScreen.begin ()؛ // مقداردهی اولیه صفحه TFT

myScreen.background (0 ، 0 ، 0) ؛ // تنظیم پس زمینه روی سیاه

ADCSRA = 0xe5؛ // تنظیم adc را در حالت اجرا رایگان قرار دهید

ADMUX = 0x40 ؛ // از adc0 استفاده کنید

}

حلقه خالی () {

while (1) {// jitter cli () را کاهش می دهد؛ // وقفه UDRE به این ترتیب در arduino1.0 کند می شود

برای (int i = 0؛ i <FHT_N؛ i ++) {// ذخیره 256 نمونه

در حالی که (! (ADCSRA & 0x10)) ؛ // منتظر بمانید تا adc آماده شود

ADCSRA = 0xf5؛ // راه اندازی مجدد بایت adc

m = ADCL ؛ // واکشی بایت داده های adc

j = ADCH ؛ int k = (j << 8) | متر // به int تبدیل شود

k -= 0x0200 ؛ // تبدیل به یک int امضا شده

k << = 6؛ // تبدیل به یک int با امضای 16b

fht_input = k ؛ // داده های واقعی را در سطل ها قرار دهید

}

fht_window ()؛ // داده ها را برای پاسخ فرکانسی بهتر پنجره کنید

fht_reorder ()؛ // قبل از انجام fht مرتب سازی مجدد داده ها

fht_run ()؛ // پردازش داده ها در fht

fht_mag_lin ()؛ // خروجی fht را بگیرید

sei ()؛

برای (int i = 5؛ i <40؛ i ++) {

myScreen.stroke (255 ، 255 ، 255) ؛

myScreen.fill (255 ، 255 ، 255) ؛

int drawHeight = map (fht_lin_out ، 10 ، 255 ، 10 ، myScreen.height ()) ؛

int ypos = myScreen.height ()-drawHeight-8؛ myScreen.rect ((4*i) +8 ، ypos ، 3 ، drawHeight) ؛

}

myScreen.background (0 ، 0 ، 0) ؛

}

}

[/کد]

مرحله 21: آزمایش کنید

آن را آزمایش کنید!
آن را آزمایش کنید!

من برای تأیید صحت کارکرد کد از یک دستگاه تولید کننده آهنگ آنلاین (https://www.szynalski.com/tone-generator/) استفاده کردم. پس از تأیید کارکرد ، زنگ گوشی را تا سینه خود فشار دهید ، نفس عمیق بکشید و ببینید چه فرکانس هایی وجود دارد !!

مرحله 22: کار آینده

** توجه: من شیمیدان هستم ، نه مهندس یا دانشمند کامپیوتر **. به احتمال زیاد اشتباهات و بهبودهایی در طراحی و کد وجود خواهد داشت. با توجه به اینها ، من فکر می کنم این شروع خوبی برای چیزی است که می تواند بسیار مفید و ارزان باشد. گلوله های زیر پیشرفت های آینده ای هستند که می خواهم انجام دهم و امیدوارم برخی از شما نیز برای بهبود آن تلاش کنید!

· دستگاه را موبایل کنید. من تجربه زیادی در مورد CPU ها یا سایر میکروکنترلرها ندارم ، اما برای ذخیره کل کتابخانه FHT یا احتمالاً بلوتوث باید حافظه کافی داشته باشد.

· برخی از محاسبات تجزیه و تحلیل آماری را وارد کد کنید. به عنوان مثال ، معمولاً یک خس خس فرکانس اساسی برابر یا بیشتر از 400 هرتز دارد و حداقل 250 میلی ثانیه طول می کشد. رونچی در فرکانس اساسی حدود 200 هرتز یا کمتر رخ می دهد و حداقل 250 میلی ثانیه طول می کشد. بسیاری دیگر از صداهای ریوی تعریف شده و نشان دهنده شرایط سلامتی هستند (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). من فکر می کنم این چیزی است که می توان با مقایسه سیگنال سطل های فرکانس پس از تعدادی چرخه از طریق FHT و سپس اجرای تابع millis () برای بررسی مدت زمان حضور آن ، سپس مقایسه آن را در کد بررسی کرد. به طبقه نویز محاسبه FHT. من مطمئن هستم که این کارها قابل انجام است!

امیدوارم همه از این پروژه لذت ببرید و اگر سوالی داشتید لطفا نظر دهید و من در اسرع وقت پاسخ خواهم داد! بی صبرانه منتظر دیدن نظرات هستم.

توصیه شده: