Sisällysluettelo:

Nopea Hartley -muunnospektrinen stetoskooppi: 22 vaihetta
Nopea Hartley -muunnospektrinen stetoskooppi: 22 vaihetta

Video: Nopea Hartley -muunnospektrinen stetoskooppi: 22 vaihetta

Video: Nopea Hartley -muunnospektrinen stetoskooppi: 22 vaihetta
Video: Слишком много хороших продуктов! Антикварный магазин🇬🇧 [Часть 2] Покупки 2024, Heinäkuu
Anonim
Nopea Hartley -muunnospektrinen stetoskooppi
Nopea Hartley -muunnospektrinen stetoskooppi

Tässä ohjeessa opit tekemään spektraalisen stetoskoopin käyttämällä nopeaa hartley -muunnosta. Tätä voidaan käyttää visualisoimaan sydämen ja keuhkojen äänet.

Vaihe 1: Materiaalit

1,8 tuuman LCD -näyttö (7,50 dollaria Amazonissa)

Arduino Uno tai vastaava (7,00 dollaria Gearbestissa)

Electret -vahvistin (6,95 dollaria Adafruitissa)

100 µF kondensaattori (0,79 dollaria)

Lanka ja puserot (4,00 dollaria)

3,5 mm: n stereoliitin (1,50 dollaria)

10 kOhm: n potentiometri (2,00 dollaria)

Hetkellinen kytkin (1,50 dollaria)

Vaihe 2: Työkalut

Juotin

Kuuma liimapistooli

3D -tulostin… tai ystäväsi 3D -tulostimella (mahdollista myös pahvilla)

Lankaleikkuri

Leipälauta

Vaihe 3: 3D -tulostus

Ensimmäinen on tähän vaiheeseen liitettyjen.stl -tiedostojen 3D -tulostus. Tulostin molemmat tiedostot käyttämällä seuraavaa materiaalia/asetuksia:

Materiaali: PLA

Kerroksen korkeus: 0,1 mm

Seinän/ylä-/alaosan paksuus: 0,8 mm

Tulostuslämpötila: 200 ° C

Sängyn lämpötila: 60 ⁰C

Tuki käytössä @ 10%

Vaihe 4: Muodosta piiri

Rakenna piiri materiaalit -osassa olevien komponenttien avulla. Laitan aina piirin yhteen leipälaudalle varmistaakseni, että se toimii kunnolla ennen juotosraudan koskettamista.

Vaihe 5: LCD -johdotus

LCD -johdotus
LCD -johdotus

Käytä tähän vaiheeseen liitettyä kuvaa ja juota johdot seitsemään kahdeksasta LCD -näytön nastasta. Näiden johtojen on oltava noin 3 metriä pitkiä, lukuun ottamatta maata ja +5 V: n nastoja (näiden on oltava vain 2-3 tuumaa)

Vaihe 6: Mikrofonin/vahvistimen johdotus

Mikrofonin/vahvistimen johdotus
Mikrofonin/vahvistimen johdotus

Tähän vaiheeseen liitetyn kuvan avulla juotetaan kolme johtoa Adafruit -mikrofonin/vahvistimen +5V-, maadoitus- ja lähtöliittimiin. Näiden on oltava vain noin 2-3 tuumaa pitkiä.

Vaihe 7: Hetkellinen kytkimen johdotus

Kytke yksi 2-3 tuuman johto kumpaankin hetkelliskytkimen kahteen korvakkeeseen.

Vaihe 8: Potentiometrin johdotus

Juota kolme vaihetta, joiden pituus on noin 2–3 tuumaa, potentiometrin kolmeen korvakkeeseen käyttämällä kohdan 6 kuvaa.

Vaihe 9: Kuulokeliitännän johdotus

Juotos kolme johtoa kuulokeliitännän renkaaseen, kärkeen ja holkkikorvakkeisiin. Käytin pistoketta metronomista, joka oli jo kytketty. Jos et tiedä mitä rengas-, kärki- ja holkkikorvakkeet ovat, googlettamalla on paljon hyviä kuvia stereoliittimien johdotuksesta.

Vaihe 10: Mikrofonin/vahvistimen lähtö

Kun olet juottanut mikrofonin/vahvistimen, potentiometrin ja kuulokeliitännän johdot, juota yksi noin kolmen metrin pituinen johto mikrofonivahvistimen "ulos" -johtoon. Tämä johto liitetään myöhemmin arduinon A0 -nastaan.

Vaihe 11: Mikrofonin/vahvistimen lähtö jatkuu

Juotos toinen johto mikrofonin/vahvistimen "ulos" -johtoon. Tämä johto on juotettava 100 mikroFaradin kondensaattoriin. Jos käytät elektrolyyttikondensaattoria, varmista, että positiivinen puoli on kytketty tähän johtoon.

Vaihe 12: Kotelon komponentit

Kotelon osat
Kotelon osat
Kotelon osat
Kotelon osat

Kun kaikki johdot on juotettu komponentteihin, aseta komponentit vastaaviin paikkoihin tämän vaiheen liitteenä olevien kuvien mukaisesti. Kiinnitin mikrofonin ja kuulokeliitännän paikalleen kuumaliimalla.

Vaihe 13: Kotelon sisäinen juotos

Kun kaikki komponentit on kiinnitetty koteloon, juota kaikki maadoitusjohdot yhteen. Niitä pitäisi olla nestekidenäytöstä, toinen mikrofonista/vahvistimesta ja toinen kuulokeliitännän holkista. Juotetaan myös +5V johdot yhteen ja yksi johdin hetkellisestä kytkimestä. Jälleen pitäisi olla yksi nestekidenäytöstä, toinen mikrofonista/vahvistimesta ja toinen hetkellisestä kytkimestä.

Vaihe 14: +5 V, GND -laajennetut johdot

Leikkaa nyt kaksi noin 3 metrin pituista lankaa. Juotos toinen maadoitusjohtimien ryhmään ja toinen juotos hetkelliskytkimen avoimeen johtoon.

Vaihe 15: Työnnä pitkät johdot kotelon reiän läpi

Työnnä pitkät johdot kotelon reiän läpi
Työnnä pitkät johdot kotelon reiän läpi

Nyt sinulla pitäisi olla yhteensä kahdeksan noin 3 metrin pituista johtoa. Vie ne kotelon täyttämättömän reiän läpi. Katso tähän vaiheeseen liitetty kuva

Vaihe 16: Kutistuu

Kun kaikki juotos on valmis, varmista, että paljaat johdot on peitetty. Käytin kutisteputkia, mutta myös sähköteippi toimii hyvin.

Vaihe 17: Tiivistekotelo

Tiivistekotelo
Tiivistekotelo
Tiivistekotelo
Tiivistekotelo

Ota LCD -näytön sisältävä kotelon puolet ja liu'uta se muiden osien sisältävän kotelon toisen puolen yli. Kun työnnät kahta kappaletta yhteen, kiinnitä ne kuumaliimalla kotelon kiinnittämiseksi yhteen.

Vaihe 18: Yhdistä Arduinoon

Jäljellä olevat kahdeksan pitkää johtoa on kytketty suoraan niiden vastaaviin Arduino -nastoihin, jotka on esitetty piirikaavioissa. Varmista, että joka kerta, kun juotat yhden näistä pitkistä 3 jalan johtimista piiriin, laitat teippiä toiseen päähän osoittamaan, mihin Arduino -nasta se menee!

Vaihe 19: Arduino IDE/kirjastot

Sinun on ladattava Arduino IDE. Tässä luonnoksessa käytin kolmea eri kirjastoa: FHT.h, SPI.h ja TFT.h. Jos et tiedä kuinka ladata Arduino -kirjastoja, katso https://www.arduino.cc/en/Guide/Libraries. FHT.h -kirjasto ladattiin osoitteesta openmusiclabs.com. Kaksi muuta ladattiin GitHubista.

Vaihe 20: Arduino -luonnos

Koodi käyttää Fast Hartley Transformia (FHT) muuttaakseen aikatason taajuusalueeksi. Tämä voidaan tehdä myös käyttämällä nopeaa Fourier -muunnosta (FFT), mutta FHT on paljon nopeampi. FFT ja FHT ovat erittäin perusideoita signaalinkäsittelyssä ja niistä on erittäin hauskaa oppia. Suosittelen lukemaan itse, jos kiinnostaa katso. Open Music Labsin verkkosivustolta kopioimani FHT -esimerkkikoodi lähetti aluksi jokaisen taajuusalueen amplitudin logaritmisena tai desibelilähtönä. Muutin tämän antamaan taajuusastiat lineaariasteikolla. Tämä johtuu siitä, että lineaarinen asteikko on parempi visuaalinen esitys siitä, miten ihmiset kuulevat äänen. Lopussa oleva for () -silmukka on tarkoitettu piirtämään kunkin taajuusalueen amplitudi nestekidenäytössä. Koko FHT -spektri kattaisi kaikki taajuusalustat i = 0 - i <128. Huomaat, että for () -silmukani on i = 5 - i <40, koska keuhkosairauksien diagnosoimiseksi tärkeät taajuudet ovat tyypillisesti välillä 150 Hz - 3,5 khz, päätin siirtyä noin 4 kHz: iin. Sitä voidaan säätää, jos haluat näyttää koko taajuusspektrin.

[koodi]

// Digitaalinen stetoskooppikoodi

// Fast Hartley Transform -kirjasto ladattu openmusiclabsista

#define LIN_OUT 1 // aseta FHT tuottamaan lineaarinen lähtö

#define LOG_OUT 0 // sammuta FHT -logaritminen lähtö

#define FHT_N 256 // FHT -näytteen numero

#include // sisällytä FHT -kirjasto

#include // sisällytä TFT -kirjasto

#include // sisällytä SPI -kirjasto

#define cs 10 // aseta lcd cs -nasta arduino -nastaksi 10

#define dc 9 // aseta lcd dc -nasta arduino -nastaksi 9

#define rst 8 // aseta lcd -nollaustappi arduino -nastaksi 8

TFT myScreen = TFT (cs, dc, rst); // ilmoita TFT -näytön nimi

void setup () {

//Serial.begin(9600);//set näytteenottotaajuus

myScreen.begin (); // TFT -näytön alustus

myScreen.background (0, 0, 0); // aseta tausta mustaksi

ADCSRA = 0xe5; // aseta adc vapaaseen toimintatilaan

ADMUX = 0x40; // käytä adc0

}

void loop () {

while (1) {// vähentää värinää cli (); // UDRE -keskeytys hidastaa tällä tavalla arduino1.0: ssa

for (int i = 0; i <FHT_N; i ++) {// tallenna 256 näytettä

while (! (ADCSRA & 0x10)); // odota, että adc on valmis

ADCSRA = 0xf5; // käynnistä uudelleen adc -tavu

m = ADCL; // hae adc -datatavu

j = ADCH; int k = (j << 8) | m; // muodostaa int

k -= 0x0200; // muodosta allekirjoitettu int

k << = 6; // muoto 16b allekirjoitettu int

fht_input = k; // laita todellisia tietoja roskakoriin

}

fht_window (); // ikkunoi tiedot taajuusvasteen parantamiseksi

fht_reorder (); // järjestää tiedot uudelleen ennen fht

fht_run (); // käsitellä tietoja fht

fht_mag_lin (); // ottaa fht: n tulos

sei ();

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

myScreen.troke (255, 255, 255);

myScreen.fill (255, 255, 255);

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

}

}

[/koodi]

Vaihe 21: Testaa se

Testaa se!
Testaa se!

Käytin online-äänigeneraattoria (https://www.szynalski.com/tone-generator/) varmistaakseni, että koodi toimi oikein. Kun olet vahvistanut sen toimivuuden, paina stetoskoopin kelloa rintaasi vasten, hengitä syvään ja katso mitä taajuuksia on läsnä !!

Vaihe 22: Tulevaisuuden työ

** Huomautus: Olen kemisti, en insinööri tai tietojenkäsittelytieteilijä **. Suunnittelussa ja koodissa on todennäköisesti virheitä ja parannuksia. Tästä huolimatta mielestäni se on hyvä alku jollekin, joka voi olla erittäin hyödyllinen ja halpa. Seuraavat luodit ovat tulevia parannuksia, joita haluaisin tehdä, ja toivon, että jotkut teistä yrittävät myös parantaa sitä!

· Tee laitteesta mobiili. Minulla ei ole laajaa kokemusta suorittimista tai muista mikro -ohjaimista, mutta siinä pitäisi olla tarpeeksi muistia koko FHT -kirjaston tai mahdollisesti Bluetoothin tallentamiseen.

· Lisää koodiin joitakin tilastollisen analyysin laskelmia. Esimerkiksi hengityksen vinkumisen perustaajuus on vähintään 400 Hz ja se kestää vähintään 250 ms. Rhonchit esiintyvät perustaajuudella noin 200 Hz tai vähemmän ja kestävät vähintään 250 ms. Monet muut keuhkoäänet ovat määriteltyjä ja viittaavat terveydentilaan (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). Luulen, että tämä on jotain, joka voidaan tarkistaa koodista vertaamalla taajuusalustojen signaalia tietyn FHT -jakson jälkeen ja suorittamalla sitten millis () -funktio nähdäksesi, kuinka kauan se oli läsnä, ja vertaamalla sitä FHT -laskennan melutasoon. Olen varma, että nämä asiat voidaan tehdä!

Toivon, että teillä kaikilla oli hauskaa tämän projektin kanssa, ja jos sinulla on kysyttävää, kommentoi ja vastaan mahdollisimman pian! Odotan innolla kommentteja.

Suositeltava: