Mundarija:

Tez Xartli spektral stetoskopi: 22 qadam
Tez Xartli spektral stetoskopi: 22 qadam

Video: Tez Xartli spektral stetoskopi: 22 qadam

Video: Tez Xartli spektral stetoskopi: 22 qadam
Video: Kaise Pahchane Anxiety Disorder Ko/ Interview Mai Ghabrahat Kyu Hoti Hai/Awareness of Anxiety 2024, Iyul
Anonim
Tez Xartli konvertatsiya qiluvchi spektral stetoskop
Tez Xartli konvertatsiya qiluvchi spektral stetoskop

Ushbu qo'llanmada siz tezkor hartli konvertatsiyasi yordamida spektral stetoskop yasashni o'rganasiz. Bu yurak va o'pka tovushlarini vizualizatsiya qilish uchun ishlatilishi mumkin.

1 -qadam: materiallar

1,8 dyuymli LCD displey (Amazonda 7,50 dollar)

Arduino Uno yoki unga teng (Gearbest -da 7,00 dollar)

Elektret kuchaytirgich (Adafruitda 6,95 dollar)

100 mF kondansatör (0,79 dollar)

Tel va jumper ($ 4.00)

3,5 mm stereo uyasi (1,50 dollar)

10kOm potentsiometr (2,00 dollar)

Lahzali kalit ($ 1.50)

2 -qadam: asboblar

Lehimlash temir

Issiq yopishtiruvchi qurol

3D printer … yoki 3D printerli do'st (kartondan ham qilish mumkin)

Tel kesuvchi

Non paneli

3 -qadam: 3D bosib chiqarish

Birinchisi, bu qadamga biriktirilgan.stl fayllarini 3D chop etish. Men ikkala materialni quyidagi materiallar/sozlamalar yordamida chop etdim:

Materiallar: PLA

Qatlam balandligi: 0,1 mm

Devor/yuqori/pastki qalinligi: 0,8 mm

Bosib chiqarish harorati: 200⁰C

To'shak harorati: 60⁰C

Qo'llab -quvvatlash yoqilgan @ 10%

4 -qadam: O'chirish sxemasini tuzing

Materiallar bo'limidagi komponentlardan foydalanib, sxemani tuzing. Men lehim temiriga tegmasdan oldin uning to'g'ri ishlashiga ishonch hosil qilish uchun har doim sxemani non taxtasida birlashtiraman.

5 -qadam: LCD simlari

LCD simlari
LCD simlari

Ushbu bosqichga biriktirilgan rasmdan foydalanib, LCD displeyidagi sakkizta pinning yettitasiga simlarni lehimlang. Bu simlarning uzunligi taxminan 3 fut bo'lishi kerak, faqat er va +5V pinlar bundan mustasno (ular faqat 2-3 dyuym bo'lishi kerak)

6 -qadam: Mikrofon/kuchaytirgich simlari

Mikrofon/kuchaytirgich simlari
Mikrofon/kuchaytirgich simlari

Ushbu qadamga biriktirilgan rasm yordamida Adafruit mikrofon/kuchaytirgichidagi +5V, Ground va Out pinlariga uchta simni lehimlang. Ularning uzunligi atigi 2-3 dyuym bo'lishi kerak.

7 -qadam: Bir lahzali kalitlarni ulash

Bir lahzali kalitning har ikki qulog'iga bitta 2-3 dyuymli simni ulang.

8 -qadam: Potentsiometr simlari

6-qadamdagi rasmdan foydalanib, uzunligi taxminan 2-3 dyuym bo'lgan uchta simni potansiyometrning uch uchiga lehimlang.

9 -qadam: minigarniturani ulash kabeli

Eshitish vositasi ulagichining halqasiga, uchiga va qisqichlariga uchta simni lehimlang. Men allaqachon simli bo'lgan metronomdan uyadan foydalanardim. Agar siz halqa, uchi va qisqichlari nima ekanligini bilmasangiz, google -da stereo uyalarni ulash haqida juda ko'p yaxshi rasmlar bor.

10 -qadam: Mikrofon/Kuchaytirgich chiqishi

Simlarni mikrofon/amp, potensiometr va naushnik ulagichiga lehimlagandan so'ng, uzunligi taxminan 3 fut bo'lgan bitta simni mikrofon kuchaytirgichining "chiqib ketgan" simiga lehimlang. Bu sim keyinchalik arduino A0 piniga ulanadi.

11 -qadam: Mikrofon/Kuchaytirgich chiqishi davom etdi

Mikrofon/kuchaytirgichning "chiqib ketgan" simiga ikkinchi simni lehimlang. Bu simni 100 microFarad kondansatörüne lehimlash kerak. Agar siz elektrolitik kondansatkichdan foydalanayotgan bo'lsangiz, uning ijobiy tomoni bu simga ulanganligiga ishonch hosil qiling.

12 -qadam: Qoplamadagi komponentlar

Qoplamadagi komponentlar
Qoplamadagi komponentlar
Qoplamadagi komponentlar
Qoplamadagi komponentlar

Barcha simlar komponentlarga lehimlangandan so'ng, ushbu bosqichga biriktirilgan rasmlarga binoan komponentlarni tegishli joylarga joylashtiring. Mikrofon va minigarniturani joyiga qo'yish uchun issiq elim ishlatardim.

13-qadam: Qoplamali-lehim

Barcha komponentlar korpusga mahkamlangandan so'ng, barcha topraklama simlarini bir -biriga lehimlang. LCD -dan, mikrofon/amp -dan va eshitish jakining yengidan bittasi bo'lishi kerak. Bundan tashqari, +5V simlarni va bir lahzali kalitdan bir simni lehimlang. Yana LCD displeyda, mikrofon/kuchaytirgichda va bir lahzali kalitda bo'lishi kerak.

14 -qadam: +5V, GND kengaytirilgan simlari

Endi uzunligi taxminan 3 fut bo'lgan ikkita simni kesib oling. Birini tuproq simlari klasteriga lehimlang, ikkinchisini bir lahzali kalitda ochiq simga lehimlang.

15 -qadam: Uzoq simlarni korpus teshigidan o'tkazing

Uzoq simlarni korpus teshigidan o'tkazing
Uzoq simlarni korpus teshigidan o'tkazing

Endi sizda taxminan 3 fut uzunlikdagi sakkizta sim bo'lishi kerak. Ularni korpusdagi to'ldirilmagan teshikka joylashtiring. Ushbu bosqichga biriktirilgan rasmga qarang

16 -qadam: issiqlik qisqarishi

Barcha lehim tugagandan so'ng, ochiq simlar yopilganligiga ishonch hosil qiling. Men issiqlik o'tkazmaydigan quvurlardan foydalanardim, lekin elektr tasmasi ham yaxshi ishlaydi.

17 -qadam: muhr muhiti

Muhr muhiti
Muhr muhiti
Muhr muhiti
Muhr muhiti

LCD displeyli korpusning yarmini oling va uni boshqa qismlari bo'lgan korpusning ikkinchi yarmiga o'tkazing. Ikkita bo'lakni bir -biriga itarayotganda, ularni mahkam yopish uchun issiq yopishtiring.

18 -qadam: Arduino -ga ulaning

Qolgan sakkizta uzun simlar sxemada ko'rsatilgan Arduino pinlariga to'g'ridan -to'g'ri ulanadi. Har bir uzunlikdagi 3 futli simlardan birini lehimlaganingizda, ikkinchi uchiga bir bo'lak lenta qo'yib, Arduino pinining nimaga ketishini bildiring!

19 -qadam: Arduino IDE/kutubxonalari

Siz Arduino IDE -ni yuklab olishingiz kerak. Bu eskiz uchun men uch xil kutubxonadan foydalandim: FHT.h, SPI.h va TFT.h. Agar siz Arduino kutubxonalarini qanday yuklab olishni bilmasangiz, https://www.arduino.cc/en/Guide/Libraries ga qarang. FHT.h kutubxonasi openmusiclabs.com saytidan yuklab olingan. Qolgan ikkitasi GitHub -da yuklab olingan.

20 -qadam: Arduino eskiz

Vaqt maydonini chastota domeniga o'zgartirish uchun kod Fast Hartley Transform (FHT) dan foydalanadi. Buni Fast Fourier Transform (FFT) yordamida ham qilish mumkin, lekin FHT ancha tezroq. FFT va FHT signallarni qayta ishlashda juda muhim g'oyalar va ularni o'rganish juda qiziq. Men o'zim o'qishni taklif qilaman, agar qiziqsangiz qarang. Open Music Labs veb -saytidan nusxa ko'chirgan FHT kodi dastlab har bir chastota qutisining amplitudasini logarifmik yoki desibelli chiqish sifatida chiqardi. Men buni chastota qutilarini chiziqli shkalada chiqarish uchun o'zgartirdim. Buning sababi shundaki, chiziqli shkala odamlarning ovozni qanday eshitishini yaxshiroq tasvirlaydi. Oxiridagi for () tsikli LCD displeyda har bir chastota qutisining amplitudasini chizish uchun mo'ljallangan. To'liq FHT spektri i = 0 dan i <128 gacha bo'lgan barcha chastota qutilarini o'z ichiga oladi. Siz () loopining i = 5 dan i <40 gacha bo'lganini sezasiz, chunki o'pka kasalliklarini tashxislash uchun muhim bo'lgan chastotalar odatda 150 Gts va 3,5 kHz oralig'ida bo'ladi, men taxminan 4 kHz gacha ko'tarilishga qaror qildim. Agar siz to'liq chastota spektrini ko'rsatmoqchi bo'lsangiz, bu sozlanishi mumkin.

[kod]

// Raqamli stetoskop kodi

// Fast Hartley Transform kutubxonasi openmusiclabs -dan yuklab olingan

#define LIN_OUT 1 // chiziqli chiqishni ishlab chiqarish uchun FHT ni o'rnating

#define LOG_OUT 0 // FHT logarifmik chiqishini o'chirib qo'ying

#dehine FHT_N 256 // FHT namuna raqami

#include // FHT kutubxonasini o'z ichiga oladi

#include // TFT kutubxonasini o'z ichiga oladi

#include // SPI kutubxonasini o'z ichiga oladi

#define cs 10 // lcd cs pinini arduino pin 10 ga o'rnating

#decine dc 9 // lcd dc pinini arduino pin 9 ga o'rnating

#define rst 8 // lcd reset pinini arduino pin 8 ga o'rnating

TFT myScreen = TFT (cs, dc, rst); // TFT ekran nomini e'lon qilish

bo'sh o'rnatish () {

//Serial.begin(9600);// namuna olish tezligini sozlash

myScreen.begin (); // TFT ekranini ishga tushirish

myScreen.background (0, 0, 0); // fonni qora qilib qo'ying

ADCSRA = 0xe5; // adc -ni erkin ishlash rejimiga o'rnating

ADMUX = 0x40; // adc0 dan foydalaning

}

void loop () {

while (1) {// jitter cli () ni kamaytiradi; // UDRE uzilishi arduino1.0 da shu tarzda sekinlashadi

for (int i = 0; i <FHT_N; i ++) {// 256 ta namunani saqlash

esa (! (ADCSRA & 0x10)); // adc tayyor bo'lishini kuting

ADCSRA = 0xf5; // adc baytini qayta ishga tushiring

m = ADCL; // adc ma'lumotlar baytini oling

j = ADCH; int k = (j << 8) | m; // formasini int ga aylantiring

k -= 0x0200; // imzolangan int shaklida

k << = 6; // ariza 16b imzolangan int

fht_input = k; // haqiqiy ma'lumotlarni axlat qutisiga joylashtiring

}

fht_window (); // chastotaga yaxshiroq javob berish uchun ma'lumotlarni oching

fht_reorder (); // fht bajarishdan oldin ma'lumotlarni qayta tartiblang

fht_run (); // fht -dagi ma'lumotlarni qayta ishlash

fht_mag_lin (); // fht natijasini oling

sei ();

uchun (int i = 5; i <40; i ++) {

myScreen.stroke (255, 255, 255);

myScreen.fill (255, 255, 255);

int drawHeight = xarita (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);

}

}

[/kod]

21 -qadam: Sinab ko'ring

Sinab ko'ring!
Sinab ko'ring!

Kodning to'g'ri ishlashini tasdiqlash uchun men onlayn ohang generatoridan (https://www.szynalski.com/tone-generator/) foydalandim. Ishlayotganini tasdiqlaganingizdan so'ng, stetoskop qo'ng'irog'ini ko'kragingizga bosing, chuqur nafas oling va qanday chastotalar borligini ko'ring !!

22 -qadam: Kelgusi ish

** Eslatma: Men kimyogarman, muhandis yoki kompyuter olimi emasman **. Dizayn va kodda xatolar va yaxshilanishlar bo'lishi mumkin. Aytgancha, menimcha, bu juda foydali va arzon bo'lishi mumkin bo'lgan narsaning yaxshi boshlanishi. Quyidagi o'qlar men kelajakda yaxshilashni xohlayman va umid qilamanki, ba'zilaringiz ham uni yaxshilashga harakat qilishadi!

· Qurilmani mobil qilib qo'ying. Menda protsessorlar yoki boshqa mikrokontrollerlar borasida katta tajriba yo'q, lekin butun FHT kutubxonasini yoki ehtimol Bluetooth -ni saqlash uchun etarli xotira bo'lishi kerak.

· Kodga ba'zi statistik tahlil hisob -kitoblarini kiritish. Masalan, xirillashning asosiy chastotasi 400 Gts ga teng yoki undan katta va kamida 250 ms davom etadi. Ronchi taxminan 200 Gts yoki undan kam bo'lgan asosiy chastotada sodir bo'ladi va kamida 250 ms davom etadi. Boshqa ko'plab o'pka tovushlari aniqlangan va sog'liq holatini ko'rsatadi (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). O'ylaymanki, bu FHT orqali ma'lum miqdordagi tsikllardan keyin chastota qutilarining signalini taqqoslash va keyin millis () funktsiyasini ishga tushirib, uning qancha vaqt mavjudligini ko'rish va keyin solishtirish orqali kodda tekshirilishi mumkin bo'lgan narsa. FHT hisobining shovqin darajasiga. Ishonchim komilki, bu narsalarni qilish mumkin!

Umid qilamanki, barchangiz ushbu loyihadan zavq oldingiz va agar sizda biron bir savol bo'lsa, sharh qoldiring va men imkon qadar tezroq javob beraman! Fikrlarni ko'rishni orziqib kutaman.

Tavsiya: