Sisällysluettelo:
- Vaihe 1: Materiaalit
- Vaihe 2: Työkalut
- Vaihe 3: 3D -tulostus
- Vaihe 4: Muodosta piiri
- Vaihe 5: LCD -johdotus
- Vaihe 6: Mikrofonin/vahvistimen johdotus
- Vaihe 7: Hetkellinen kytkimen johdotus
- Vaihe 8: Potentiometrin johdotus
- Vaihe 9: Kuulokeliitännän johdotus
- Vaihe 10: Mikrofonin/vahvistimen lähtö
- Vaihe 11: Mikrofonin/vahvistimen lähtö jatkuu
- Vaihe 12: Kotelon komponentit
- Vaihe 13: Kotelon sisäinen juotos
- Vaihe 14: +5 V, GND -laajennetut johdot
- Vaihe 15: Työnnä pitkät johdot kotelon reiän läpi
- Vaihe 16: Kutistuu
- Vaihe 17: Tiivistekotelo
- Vaihe 18: Yhdistä Arduinoon
- Vaihe 19: Arduino IDE/kirjastot
- Vaihe 20: Arduino -luonnos
- Vaihe 21: Testaa se
- Vaihe 22: Tulevaisuuden työ
Video: Nopea Hartley -muunnospektrinen stetoskooppi: 22 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
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
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
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
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
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
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
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:
Nopea vaihde alle 50 dollaria! Kazeshifter Arduino säädettävä pikavaihtaja: 7 vaihetta
Nopea vaihde alle 50 dollaria! Kazeshifter Arduino Säädettävä pikavaihtaja: Hei Superbike- tai moottoripyöräystävät! Tässä ohjeessa kerron, miten voit tehdä oman pikavaihtajan halvalla! Ihmiset, jotka ovat laiskoja lukemaan tämän ohjeen, katso vain videoni! jo käyttää polttoaineen ruiskutusjärjestelmää, joskus
Tee omat widgetit helposti - nopea BPM -laskuri: 6 vaihetta
Tee omat widgetit helposti - Nopea BPM -laskuri: Web -sovellukset ovat yleisiä, mutta verkkosovellukset, jotka eivät vaadi Internet -yhteyttä, eivät ole. Tässä artikkelissa näytän sinulle, kuinka tein BPM -laskurin yksinkertaisella HTML -sivulla ja vanilja javascript Katso tästä). Jos tämä widget on ladattu, sitä voidaan käyttää offline -tilassa
PCB -sovitin hakata - nopea ja kätevä :): 5 vaihetta
PCB -sovittimen hakkerointi - nopea ja kätevä :): Hei e -Earthlings, Tämä ohje on tarkoitettu kaikille elektroniikan alan varusteille ja ammattilaisille. Tarve on keksintöjen äiti. Tämä pieni temppu on yksi näistä keksinnöistä: DI halusi prototyypittää yhden piirin, joka sisälsi yhden SMD c
EasyFFT: Nopea Fourier -muunnos (FFT) Arduinolle: 6 vaihetta
EasyFFT: Nopea Fourier -muunnos (FFT) Arduinolle: Taajuuden mittaus kaapatusta signaalista voi olla vaikea tehtävä, etenkin Arduinolla, koska sen laskentateho on pienempi. Saatavilla on menetelmiä nollanylityksen kaappaamiseen, jossa taajuus kaapataan tarkistamalla, kuinka monta kertaa
Nopea, nopea, halpa, hyvännäköinen LED -huoneen valaistus (kaikille): 5 vaihetta (kuvilla)
Nopea, nopea, halpa, hyvännäköinen LED-huonevalaistus (kaikille): Tervetuloa kaikki :-) Tämä on ensimmäinen ohjeeni, joten kommentit ovat tervetulleita :-) Toivon voivani näyttää teille, kuinka tehdä nopea LED-valaistus, joka on TINY buget.Mitä tarvitset: Kaapelit LED -valotKestävyys