Përmbajtje:

Stetoskopi Spektral i Shndërrimit i Hartley i shpejtë: 22 hapa
Stetoskopi Spektral i Shndërrimit i Hartley i shpejtë: 22 hapa

Video: Stetoskopi Spektral i Shndërrimit i Hartley i shpejtë: 22 hapa

Video: Stetoskopi Spektral i Shndërrimit i Hartley i shpejtë: 22 hapa
Video: HKI Jabar Banten Online Talks #11 - Analisis Raman Spektroskopi dan Troubleshooting 2024, Korrik
Anonim
Stetoskopi Spektral i Shndërrimit i Hartley Fast
Stetoskopi Spektral i Shndërrimit i Hartley Fast

Në këtë udhëzues do të mësoni se si të bëni një stetoskop spektral duke përdorur transformimin e shpejtë hartley. Kjo mund të përdoret për të vizualizuar tingujt e zemrës dhe mushkërive.

Hapi 1: Materialet

Ekran LCD 1.8 (7.50 dollarë në Amazon)

Arduino Uno ose Ekuivalent (7.00 dollarë në Gearbest)

Përforcuesi Electret ($ 6.95 në Adafruit)

100 μF Kondensator (0.79 dollarë)

Tela dhe kërcyesit (4.00 dollarë)

3.5mm Stereo Jack (1.50 dollarë)

Potenciometër 10kOhm (2.00 dollarë)

Ndërrimi momental (1.50 dollarë)

Hapi 2: Mjetet

Makine per ngjitjen e metalit

Armë me ngjitës të nxehtë

Printer 3D… ose një mik me një printer 3D (E mundur të bëhet edhe me karton)

Prerës i telave

Breadboard

Hapi 3: Shtypja 3D

E para është që të printoni 3D skedarët.stl të bashkangjitur në këtë hap. I printova të dy skedarët duke përdorur materialin/cilësimet e mëposhtme:

Materiali: PLA

Lartësia e Shtresës: 0.1mm

Muri/Pjesa e sipërme/Trashësia e poshtme: 0.8mm

Temperatura e printimit: 200⁰C

Temperatura e shtratit: 60⁰C

Mbështetja është e aktivizuar @ 10%

Hapi 4: Ndërtoni një qark

Duke përdorur përbërësit në seksionin e materialeve, ndërtoni qarkun. Unë gjithmonë e bashkoj qarkun së pari në një dërrasë për të siguruar që po funksionon siç duhet para se të prek hekurin e saldimit.

Hapi 5: Lidhja LCD

Lidhje LCD
Lidhje LCD

Duke përdorur figurën bashkangjitur këtij hapi, lidhni telat në shtatë nga tetë kunjat në ekranin LCD. Këto tela do të duhet të jenë rreth 3 metra të gjata, përveç tokës dhe kunjave +5V (këto duhet të jenë vetëm 2-3 inç)

Hapi 6: Lidhja e mikrofonit/amplifikatorit

Lidhja e mikrofonit/amplifikatorit
Lidhja e mikrofonit/amplifikatorit

Duke përdorur figurën e bashkangjitur në këtë hap lidhni tre tela në kunjat +5V, Ground dhe Out në mikrofonin/amplifikatorin Adafruit. Këto vetëm duhet të jenë rreth 2-3 centimetra të gjata.

Hapi 7: Instalimet e kalimit momental

Lidhni një tel 2-3 inç në secilën prej dy prizave në çelësin e çastit.

Hapi 8: Instalimi i potenciometrit

Duke përdorur figurën në hapin 6, lidhni tre tela me gjatësi rreth 2-3 inç në tre prizat e potenciometrit.

Hapi 9: Instalimi i prizës së kufjeve

Ngjitini tre tela në unazë, majë dhe mëngë të prizës së kufjeve. Kam përdorur një prizë jashtë një metronome që ishte tashmë e lidhur. Nëse nuk e dini se çfarë janë unaza, maja dhe mëngët, mjafton të kërkoni në google se ka shumë imazhe të mira rreth instalimit të prizave stereo.

Hapi 10: Dalja e mikrofonit/amplifikatorit

Pas bashkimit të telave në mikrofon/amplifikator, potenciometër dhe prizë kufje, lidhni një tel rreth tre metra në gjatësi tela "jashtë" e amplifikatorit të mikrofonit. Ky tel më vonë do të lidhet me pinin A0 të arduino.

Hapi 11: Dalja e mikrofonit/amplifikatorit vazhdon

Lidhni një tel të dytë tela "jashtë" të mikrofonit/amplifikatorit. Ky tel duhet të ngjitet në një kondensator 100 microFarad. Nëse jeni duke përdorur një kondensator elektrolitik, sigurohuni që ana pozitive të jetë e lidhur me këtë tel.

Hapi 12: Përbërësit në mbyllje

Përbërësit në Shtojcë
Përbërësit në Shtojcë
Përbërësit në Shtojcë
Përbërësit në Shtojcë

Pasi të jenë ngjitur të gjithë telat në përbërës, vendosni përbërësit në vendet përkatëse duke ndjekur figurat e bashkangjitura në këtë hap. Kam përdorur zam të nxehtë për të siguruar mikrofonin dhe prizën e kufjeve në vend.

Hapi 13: Bashkim-Saldim

Pasi të jenë siguruar të gjithë përbërësit në rrethim, lidhni të gjithë telat e tokës së bashku. Duhet të ketë një nga LCD, një nga mikrofoni/amplifikatori dhe një nga mëngën e prizës së kufjeve. Gjithashtu lidhni telat +5V së bashku dhe një tel nga çelësi i momentit. Përsëri duhet të ketë një nga LCD, një nga mikrofoni/përforcuesi dhe një në ndërprerësin e çastit.

Hapi 14: +5V, Tela të Zgjeruar GND

Tani prerë dy pjesë teli rreth 3 metra në gjatësi. Lidhni njërën në grupin e telave të tokëzimit dhe bashkojeni tjetrën në tela të hapur në çelësin momental.

Hapi 15: Rrëshqitni telat e gjatë nëpër vrimën e rrethimit

Rrëshqitni telat e gjatë nëpër vrimën e rrethimit
Rrëshqitni telat e gjatë nëpër vrimën e rrethimit

Tani, duhet të keni gjithsej tetë tela rreth 3 metra në gjatësi. Vendosini këto nëpër vrimën e paplotësuar në rrethim. Shihni figurën bashkangjitur këtij hapi

Hapi 16: Tkurrja e nxehtësisë

Pasi të ketë përfunduar të gjitha saldimet, sigurohuni që telat e ekspozuar të jenë të mbuluara. Kam përdorur tuba për tkurrjen e nxehtësisë, por kaseta elektrike gjithashtu funksionon mirë.

Hapi 17: Mbyllja e Vulave

Mbyllja e vulës
Mbyllja e vulës
Mbyllja e vulës
Mbyllja e vulës

Merrni gjysmën e mbylljes që përmban ekranin LCD dhe kalojeni atë mbi gjysmën tjetër të mbylljes që përmban përbërësit e tjerë. Ndërsa i shtyni të dy pjesët së bashku, ngjitini ato në mënyrë të nxehtë për të siguruar mbylljen së bashku.

Hapi 18: Lidhuni me Arduino

Tetë telat e gjatë, të mbetur janë të lidhur drejtpërdrejt me kunjat e tyre përkatëse Arduino të përshkruara në skemat e qarkut. Sigurohuni që sa herë që lidhni një nga ato tela të gjata 3 metra në qark, vendosni një copë kasetë në anën tjetër, duke treguar se në cilën kunj të Arduino shkon!

Hapi 19: Arduino IDE/Bibliotekat

Ju do të duhet të shkarkoni Arduino IDE. Për këtë skicë, kam përdorur tre biblioteka të ndryshme: FHT.h, SPI.h dhe TFT.h. Nëse nuk dini si të shkarkoni bibliotekat Arduino, ju lutemi shihni https://www.arduino.cc/en/Guide/Libraries. Biblioteka FHT.h u shkarkua nga openmusiclabs.com. Dy të tjerët u shkarkuan në GitHub.

Hapi 20: Skica Arduino

Kodi përdor transformimin e shpejtë të Hartley (FHT) për të ndryshuar fushën e kohës në një fushë frekuencash. Kjo gjithashtu mund të bëhet duke përdorur Transformimin e Furierit të Shpejtë (FFT), por FHT është shumë më i shpejtë. FFT dhe FHT janë ide shumë themelore në përpunimin e sinjalit dhe shumë argëtuese për tu mësuar. Unë ju sugjeroj të lexoni pak, nëse jeni të interesuar, shihni. Kodi shembull FHT që kopjova nga uebfaqja e Open Music Labs fillimisht po nxirrte amplituda e secilës kosh frekuence si dalje logaritmike ose decibel. E ndryshova këtë për të nxjerrë kazanët e frekuencës në një shkallë lineare. Kjo ndodh sepse shkalla lineare është një përfaqësim më i mirë vizual i mënyrës sesi njerëzit dëgjojnë zërin. Lakri for () në fund është për vizatimin e amplitudës së secilës kosh të frekuencës në ekranin LCD. Spektri i plotë FHT do të përfshijë të gjithë kazanët e frekuencave nga i = 0 në i <128. Ju do të vini re se laku im for () është nga i = 5 në i <40, kjo sepse frekuencat e rëndësishme për diagnostikimin e gjendjeve të mushkërive janë zakonisht midis 150Hz dhe 3.5khz, vendosa të shkoj deri në rreth 4kHz. Kjo mund të rregullohet nëse doni të tregoni spektrin e plotë të frekuencës.

[kodi]

// Kodi dixhital i stetoskopit

// Biblioteka Fast Hartley Transform e shkarkuar nga openmusiclabs

#përcakto LIN_OUT 1 // vendos FHT që të prodhojë dalje lineare

#përcakto LOG_OUT 0 // fikni daljen logaritmike FHT

#përcaktoni FHT_N 256 // numri i mostrës FHT

#include // përfshini bibliotekën FHT

#include // përfshini bibliotekën TFT

#include // përfshini bibliotekën SPI

#define cs 10 // vendosni pin LCD LCD në arduino pin 10

#define dc 9 // vendosni LCD dc pin në arduino pin 9

#define rst 8 // vendosni pinin e rivendosjes së LCD në arduino pin 8

TFT myScreen = TFT (cs, dc, rst); // deklaro emrin e ekranit TFT

void setup () {

//Serial.fillo (9600);//cakto shkallën e marrjes së mostrave

myScreen.begin (); // filloni ekranin TFT

myScreen.background (0, 0, 0); // vendos sfondin në të zezë

ADCSRA = 0xe5; // vendosni adc në modalitetin e lirë të funksionimit

ADMUX = 0x40; // përdorni adc0

}

lak void () {

ndërsa (1) {// zvogëlon jitter cli (); // Ndërprerja UDRE ngadalësohet në këtë mënyrë në arduino1.0

për (int i = 0; i <FHT_N; i ++) {// ruani 256 mostra

ndërsa (! (ADCSRA & 0x10)); // prisni që adc të jetë gati

ADCSRA = 0xf5; // rinis adc byte

m = ADCL; // marr ade të dhëna byte

j = ADCH; int k = (j << 8) | m; // formohet në një int

k -= 0x0200; // formohet në një int të nënshkruar

k << = 6; // formohet në një int 16b të nënshkruar

fht_input = k; // vendos të dhëna reale në kosha

}

fht_window (); // dritare të dhënat për përgjigje më të mirë të frekuencës

fht_reorder (); // riorganizoni të dhënat para se të bëni fht

fht_run (); // përpunoni të dhënat në fht

fht_mag_lin (); // merrni daljen e fht

sei ();

për (int i = 5; i <40; i ++) {

myScreen.stroke (255, 255, 255);

myScreen.fill (255, 255, 255);

int drawHeight = harta (fht_lin_out , 10, 255, 10, myScreen.height ());

int ypos = myScreen.height ()-barazimHeight-8; myScreen.rect ((4*i) +8, ypos, 3, barazim Lartësinë);

}

myScreen. sfond (0, 0, 0);

}

}

[/kodi]

Hapi 21: Provojeni

Provojeni!
Provojeni!

Kam përdorur një gjenerator toni në internet (https://www.szynalski.com/tone-generator/) për të konfirmuar që kodi po funksionon siç duhet. Pasi të konfirmoni se funksionon, shtypni zilen e stetoskopit deri në gjoks, merrni frymë thellë dhe shihni se cilat frekuenca janë të pranishme !!

Hapi 22: Puna në të ardhmen

** Shënim: Unë jam një kimist, jo një inxhinier ose shkencëtar kompjuteri **. Ka të ngjarë të ketë gabime dhe përmirësime në dizajn dhe kod. Duke u thënë kështu, unë mendoj se është një fillim i mirë për diçka që mund të përfundojë të jetë shumë e dobishme dhe e lirë. Plumbat e mëposhtëm janë përmirësime të ardhshme që do të doja të bëja dhe shpresoj që disa prej jush gjithashtu të përpiqen ta përmirësojnë atë!

· Bëjeni pajisjen të lëvizshme. Unë nuk kam përvojë të gjerë me CPU ose mikrokontrollues të tjerë, por do të duhet të ketë memorie të mjaftueshme për të ruajtur të gjithë bibliotekën FHT, ose ndoshta Bluetooth.

· Futni disa kalkulime të analizave statistikore në kod. Për shembull, zakonisht një fishkëllimë ka një frekuencë themelore të barabartë ose më të madhe se 400 Hz dhe zgjat të paktën 250 ms. Rhonchi ndodh në një frekuencë themelore prej rreth 200 Hz ose më pak dhe zgjat për të paktën 250 ms. Shumë tinguj të tjerë pulmonarë janë të përcaktuar dhe tregues të kushteve shëndetësore (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). Unë mendoj se kjo është diçka që mund të kontrollohet në kod duke krahasuar sinjalin e kazanëve të frekuencës pas një numri të caktuar ciklesh përmes FHT dhe pastaj duke funksionuar funksionin millis () për të parë se sa kohë ishte i pranishëm, pastaj duke e krahasuar atë në dyshemenë e zhurmës të llogaritjes FHT. Kam besim se këto gjëra mund të bëhen!

Shpresoj se të gjithë jeni argëtuar me këtë projekt dhe nëse keni ndonjë pyetje ju lutemi komentoni dhe unë do t'ju përgjigjem sa më shpejt që të mundem! Mezi pres të shoh komentet.

Recommended: