فهرست مطالب:
- مرحله 1: مواد
- مرحله 2: ابزارها
- مرحله 3: چاپ سه بعدی
- مرحله 4: ساختن مدار
- مرحله 5: سیم کشی LCD
- مرحله 6: سیم کشی میکروفون/تقویت کننده
- مرحله 7: سیم کشی سوئیچ لحظه ای
- مرحله 8: سیم کشی پتانسیومتر
- مرحله 9: سیم کشی جک هدفون
- مرحله 10: خروجی میکروفون/تقویت کننده
- مرحله 11: خروجی میکروفون/تقویت کننده ادامه دارد
- مرحله 12: اجزای داخل محفظه
- مرحله 13: لحیم کاری در محفظه
- مرحله 14: +5V ، GND Extended Wires
- مرحله 15: سیم های بلند را از سوراخ محفظه عبور دهید
- مرحله 16: انقباض حرارتی
- مرحله 17: مهر و موم محفظه
- مرحله 18: به آردوینو متصل شوید
- مرحله 19: Arduino IDE/کتابخانه ها
- مرحله 20: طرح آردوینو
- مرحله 21: آزمایش کنید
- مرحله 22: کار آینده
تصویری: فتوسکوپ طیفی Fast Hartley Transform: 22 Step
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
در این مقاله آموزشی نحوه ساخت یک گوشی پزشکی طیفی با استفاده از تبدیل سریع هارتلی را خواهید آموخت. این می تواند برای تجسم صداهای قلب و ریه استفاده شود.
مرحله 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 وصل کنید. طول این سیم ها به جز زمین و پینهای +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. من مطمئن هستم که این کارها قابل انجام است!
امیدوارم همه از این پروژه لذت ببرید و اگر سوالی داشتید لطفا نظر دهید و من در اسرع وقت پاسخ خواهم داد! بی صبرانه منتظر دیدن نظرات هستم.
توصیه شده:
Super FAST RC Ground Effect Vehicle (Ekranoplan): 5 مرحله (همراه با تصاویر)
وسیله نقلیه زمینی Super FAST RC (Ekranoplan): آیا می دانید چگونه در حین لمس کردن ، هواپیماها چند فوت بالاتر از سطح زمین برای مدتی معلق می مانند قبل از اینکه چرخ های آنها واقعاً به باند برخورد کنند؟ این نه تنها برای فرود راحت مسافران است ، بلکه نتیجه طبیعی اثر زمین است که در آن
EasyFFT: Fast Fourier Transform (FFT) برای آردوینو: 6 مرحله
EasyFFT: Fast Fourier Transform (FFT) برای آردوینو: اندازه گیری فرکانس از سیگنال گرفته شده می تواند کار دشواری باشد ، به ویژه در آردوینو چون قدرت محاسباتی کمتری دارد. روش هایی برای ضبط عبور صفر وجود دارد که در آن فرکانس با بررسی چند بار
Transform-a-Car: کنترل از راه دور به خود کنترل: 4 مرحله
Transform-a-Car: Remote Controlled to Self Controlled: این یک هک روی ماشین RC با ریموت کنترل شکسته است. شما می توانید مقدار زیادی در فروش گاراژ پیدا کنید
چراغ قوه ابر طیفی: 10 مرحله (همراه با تصاویر)
چراغ قوه فوق طیفی: من یک چراغ قوه جمع و جور ، قدرتمند و همه کاره تهیه کردم که علاوه بر نور سفید ، دارای نور UV و IR است. نور سفید دارای قدرت 6 وات است و باید دارای شار نوری در حدود 560 لیتر باشد. معادل یک چراغ LED 20 واتی یا یک هاله 100 واتی
یک دوربین چند طیفی رزبری پای: 8 مرحله (همراه با تصاویر)
یک دوربین چند طیفی رزبری پای: یک دوربین چند طیفی می تواند یک ابزار مفید برای تشخیص استرس در گیاهان باشد یا به جای تفاوت در امضای بازتابندگی گیاهان ، گونه های مختلف را تشخیص دهد. در صورت ترکیب با هواپیمای بدون سرنشین ، دوربین می تواند داده ها را به سرعت ارائه دهد