Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kagamitan
- Hakbang 2: Mga tool
- Hakbang 3: Pag-print sa 3D
- Hakbang 4: Bumuo ng Circuit
- Hakbang 5: LCD Mga Kable
- Hakbang 6: Mga Kable ng Mic / Amplifier
- Hakbang 7: Mga Kable ng Switch ng Sandali
- Hakbang 8: Mga Kable ng Potensyomiter
- Hakbang 9: Mga Kable ng Jack ng Headphone
- Hakbang 10: Output ng Mikropono / Amplifier
- Hakbang 11: Nagpapatuloy ang Output ng Mikropono / Amplifier
- Hakbang 12: Mga Bahagi sa Enclosure
- Hakbang 13: In-Enclosure-Soldering
- Hakbang 14: + 5V, GND Extended Wires
- Hakbang 15: I-slip ang Long Wires Sa Pamamagitan ng Horn ng Enclosure
- Hakbang 16: Heat Shrink
- Hakbang 17: Enclosure ng Seal
- Hakbang 18: Kumonekta sa Arduino
- Hakbang 19: Arduino IDE / Mga Aklatan
- Hakbang 20: Arduino Sketch
- Hakbang 21: Subukan Ito
- Hakbang 22: Trabaho sa Hinaharap
Video: Mabilis na Hartley Transform Spectral Stethoscope: 22 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Sa itinuturo na ito matututunan mo kung paano gumawa ng isang spectral stethoscope gamit ang mabilis na hartley transform. Maaari itong magamit upang mailarawan ang tunog ng puso at baga.
Hakbang 1: Mga Kagamitan
1.8 LCD Screen ($ 7.50 sa Amazon)
Arduino Uno o Katumbas ($ 7.00 sa Gearbest)
Electret Amplifier ($ 6.95 sa Adafruit)
100 µF Capacitor ($ 0.79)
Mga Wire at Jumper ($ 4.00)
3.5mm Stereo Jack ($ 1.50)
10kOhm Potentiometer ($ 2.00)
Sandali na Lumipat ($ 1.50)
Hakbang 2: Mga tool
Panghinang
Mainit na glue GUN
3D Printer… o isang kaibigan na may 3D printer (Posibleng gawin din sa karton)
Pamutol ng Wire
Breadboard
Hakbang 3: Pag-print sa 3D
Ang una ay upang i-print ng 3D ang.stl na mga file na nakakabit sa hakbang na ito. Nai-print ko ang parehong mga file gamit ang sumusunod na materyal / setting:
Materyal: PLA
Taas ng Layer: 0.1mm
Kapal ng Wall / Top / Bottom: 0.8mm
Temperatura sa Pag-print: 200⁰C
Temperatura ng Kama: 60⁰C
Pinagana ang Suporta @ 10%
Hakbang 4: Bumuo ng Circuit
Gamit ang mga sangkap sa seksyon ng mga materyales, buuin ang circuit. Palagi kong pinagsasama ang circuit sa isang breadboard muna upang matiyak na gumagana ito nang maayos bago hawakan ang panghinang na bakal.
Hakbang 5: LCD Mga Kable
Gamit ang figure na nakakabit sa hakbang na ito, ang mga wire ng panghinang sa pito sa walong mga pin sa LCD screen. Ang mga wire na ito ay kailangang humigit-kumulang na 3 talampakan ang haba, maliban sa lupa at + 5V na mga pin (kailangan lamang ng 2-3 pulgada)
Hakbang 6: Mga Kable ng Mic / Amplifier
Gamit ang figure na nakakabit sa hakbang na ito solder ng tatlong mga wire sa + 5V, Ground, at Out pin sa Adafruit microphone / amplifier. Kailangan lamang ang mga ito ng halos 2-3 pulgada ang haba.
Hakbang 7: Mga Kable ng Switch ng Sandali
I-wire ang isang 2-3 pulgadang wire sa bawat isa sa dalawang lug sa panandalian na switch.
Hakbang 8: Mga Kable ng Potensyomiter
Gamit ang pigura sa hakbang 6, maghinang ng tatlong mga wire na halos 2-3 pulgada ang haba sa tatlong lugs ng potentiometer.
Hakbang 9: Mga Kable ng Jack ng Headphone
Naghinang ng tatlong mga wire sa singsing, tip, at mga manggas ng manggas ng headphone jack. Gumamit ako ng isang jack mula sa isang metronome na naka-wire na. Kung hindi mo alam kung ano ang singsing, tip, at mga manggas sa manggas, i-google mo lang ito maraming mga magagandang imahe tungkol sa mga kable na stereo jack.
Hakbang 10: Output ng Mikropono / Amplifier
Matapos ang paghihinang ng mga wire sa mic / amp, potentiometer, at headphone jack, maghinang ng isang kawad na halos tatlong talampakan ang haba sa "labas" na kawad ng microphone amplifier. Ang kawad na ito ay makakonekta sa ibang pagkakataon sa A0 pin ng arduino.
Hakbang 11: Nagpapatuloy ang Output ng Mikropono / Amplifier
Maghinang ng pangalawang kawad sa "labas" na kawad ng mic / amplifier. Ang wire na ito ay kailangang solder sa isang 100 microFarad capacitor. Kung gumagamit ka ng isang electrolytic capacitor, tiyaking ang positibong bahagi ay konektado sa wire na ito.
Hakbang 12: Mga Bahagi sa Enclosure
Matapos ang lahat ng mga wire ay na-solder sa mga bahagi, ilagay ang mga bahagi doon sa kani-kanilang mga lugar na sumusunod sa mga figure na naka-attach sa hakbang na ito. Gumamit ako ng mainit na pandikit upang ma-secure ang mikropono at headphone jack sa lugar.
Hakbang 13: In-Enclosure-Soldering
Matapos ang lahat ng mga bahagi ay na-secure sa enclosure, maghinang ang lahat ng mga ground wires na magkasama. Dapat mayroong isa mula sa LCD, isa mula sa mic / amp, at isa mula sa manggas ng headphone jack. Maghinang din ng + 5V na mga wire nang magkasama at isang kawad mula sa panandaliang paglipat. Muli dapat mayroong isa mula sa LCD, isa mula sa mic / amplifier, at isa sa pansamantalang switch.
Hakbang 14: + 5V, GND Extended Wires
Gupitin ngayon ang dalawang piraso ng kawad na halos 3 talampakan ang haba. Ang isang panghinang sa kumpol ng mga wire sa lupa at panghinang ang iba pa sa bukas na kawad sa pansamantalang switch.
Hakbang 15: I-slip ang Long Wires Sa Pamamagitan ng Horn ng Enclosure
Ngayon, dapat ay mayroon kang isang kabuuang walong wires na halos 3 talampakan ang haba. Ilagay ang mga ito sa pamamagitan ng hindi napunan na butas sa enclosure. Tingnan ang figure na naka-attach sa hakbang na ito
Hakbang 16: Heat Shrink
Matapos makumpleto ang lahat ng paghihinang, siguraduhing natakpan ang mga nakalantad na mga wire. Gumamit ako ng heat shrink tubing, ngunit gumagana rin ang electrical tape.
Hakbang 17: Enclosure ng Seal
Kunin ang kalahati ng enclosure na naglalaman ng LCD screen at i-slip ito sa kabilang kalahati ng enclosure na naglalaman ng iba pang mga bahagi. Habang itinutulak ang dalawang piraso, isama ang mainit na pandikit upang mai-secure ang enclosure.
Hakbang 18: Kumonekta sa Arduino
Ang walong, mahaba, natitirang mga wires ay konektado nang direkta sa kani-kanilang mga pin ng Arduino na nakabalangkas sa mga circuit scheme. Siguraduhin na sa tuwing maghinang ka ng isa sa mga mahabang 3ft wires na iyon sa circuit na inilalagay mo ang isang piraso ng tape sa kabilang dulo na nagpapahiwatig kung ano ang pinupuntahan ng Arduino na ito!
Hakbang 19: Arduino IDE / Mga Aklatan
Kakailanganin mong i-download ang Arduino IDE. Para sa sketch na ito, gumamit ako ng tatlong magkakaibang aklatan: FHT.h, SPI.h, at TFT.h. Kung hindi mo alam kung paano mag-download ng mga aklatan ng Arduino, mangyaring tingnan ang https://www.arduino.cc/en/Guide/Libraries. Ang library ng FHT.h ay na-download mula sa openmusiclabs.com. Ang iba pang dalawa ay na-download sa GitHub.
Hakbang 20: Arduino Sketch
Gumagamit ang code ng Fast Hartley Transform (FHT) upang baguhin ang time domain sa isang domain ng dalas. Maaari rin itong magawa gamit ang Fast Fourier Transform (FFT), ngunit ang FHT ay mas mabilis. Ang FFT at FHT ay napakahalagang mga ideya sa pagproseso ng signal at napakasayang malaman tungkol sa. Iminumungkahi kong gawin ang ilang pagbabasa ng iyong sarili, kung interesado kang tingnan. Ang halimbawang code ng FHT na kinopya ko mula sa website ng Open Music Labs ay unang naglalabas ng amplitude ng bawat dalas ng dalas bilang isang logarithmic o decibel output. Binago ko ito upang maipalabas ang mga dalas ng dalas sa isang linear scale. Ito ay dahil ang linear scale ay isang mas mahusay na visual na representasyon ng kung paano marinig ng mga tao ang tunog. Ang para sa () loop sa dulo ay para sa pagguhit ng amplitude ng bawat dalas ng dalas sa LCD screen. Saklaw ng buong FHT spectrum ang lahat ng mga bin ng dalas mula i = 0 hanggang i <128. Mapapansin mo na ang aking para sa () loop ay mula sa i = 5 hanggang i <40, ito ay dahil ang mga frequency na mahalaga para sa pag-diagnose ng mga kondisyon ng baga ay karaniwang nasa pagitan ng 150Hz at 3.5khz, nagpasya akong umakyat hanggang sa 4kHz. Maaaring iakma iyon kung nais mong ipakita ang buong spectrum ng dalas.
[code]
// Digital Stethoscope Code
// Na-download ang library ng Mabilis na Hartley Transform mula sa openmusiclabs
# tukuyin ang LIN_OUT 1 // itakda ang FHT upang makabuo ng linear output
#define LOG_OUT 0 // patayin ang output ng logaritmic ng FHT
# tukuyin ang FHT_N 256 // FHT sample na numero
# isama // isama ang FHT library
# isama // isama ang TFT library
# isama // isama ang SPI library
#define cs 10 // itakda ang lcd cs pin sa arduino pin 10
#define dc 9 // itakda ang lcd dc pin sa arduino pin 9
#define rst 8 // itakda ang lcd reset pin sa arduino pin 8
TFT myScreen = TFT (cs, dc, rst); // ideklara ang pangalan ng TFT screen
walang bisa ang pag-setup () {
//Serial.begin(9600);//set sampling rate
myScreen.begin (); // ipasimula ang TFT screen
myScreen.background (0, 0, 0); // itakda ang background sa itim
ADCSRA = 0xe5; // itakda ang adc sa libreng running mode
ADMUX = 0x40; // use adc0
}
void loop () {
habang (1) {// binabawasan ang jitter sij (); // UDRE makagambala ay nagpapabagal sa ganitong paraan sa arduino1.0
para sa (int i = 0; i <FHT_N; i ++) {// makatipid ng 256 na mga sample
habang (! (ADCSRA & 0x10)); // hintaying maging handa ang adc
ADCSRA = 0xf5; // restart adc byte
m = ADCL; // fetch adc data byte
j = ADCH; int k = (j << 8) | m; // form into an int
k - = 0x0200; // form sa isang naka-sign int
k << = 6; // form sa isang 16b sign int
fht_input = k; // maglagay ng totoong data sa mga bin
}
fht_window (); // window ang data para sa mas mahusay na tugon sa dalas
fht_reorder (); // muling ayusin ang data bago gawin ang fht
fht_run (); // iproseso ang data sa fht
fht_mag_lin (); // kunin ang output ng fht
sei ();
para sa (int i = 5; i <40; i ++) {
myScreen.stroke (255, 255, 255);
myScreen.fill (255, 255, 255);
int drawHeight = mapa (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);
}
}
[/code]
Hakbang 21: Subukan Ito
Gumamit ako ng isang online tone generator (https://www.szynalski.com/tone-generator/) upang kumpirmahing gumagana nang maayos ang code. Matapos kumpirmahing gumagana ito, pindutin ang kampanilya ng stethoscope hanggang sa iyong dibdib, huminga ng malalim at tingnan kung anong mga frequency ang naroroon !!
Hakbang 22: Trabaho sa Hinaharap
** Tandaan: Ako ay isang chemist, hindi isang engineer o computer scientist **. Malamang may mga pagkakamali at pagpapabuti sa disenyo at code. Sinabi na, sa palagay ko ito ay isang mahusay na pagsisimula sa isang bagay na maaaring magtapos sa pagiging napaka kapaki-pakinabang at hindi magastos. Ang mga sumusunod na bala ay mga pagpapabuti sa hinaharap na nais kong gawin at sana ay subukan din ng ilan sa inyo na pagbutihin ito!
· Gawing mobile ang aparato. Wala akong malawak na karanasan sa mga CPU o iba pang mga microcontroller, ngunit kakailanganin itong magkaroon ng sapat na memorya upang maiimbak ang buong library ng FHT, o posibleng Bluetooth.
· Ipakilala ang ilang mga kalkulasyon ng pagsusuri sa istatistika sa code. Halimbawa, karaniwang ang isang wheeze ay may isang pangunahing dalas na pantay o mas malaki sa 400 Hz at tumatagal ng hindi bababa sa 250 ms. Ang Rhonchi ay nangyayari sa isang pangunahing dalas ng tungkol sa 200 Hz o mas mababa at tumatagal ng hindi bababa sa 250 ms. Maraming iba pang mga tunog ng baga ay tinukoy at nagpapahiwatig ng mga kondisyon sa kalusugan (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). Sa palagay ko iyon ay isang bagay na maaaring suriin para sa code sa pamamagitan ng paghahambing ng signal ng mga dalas ng dalas pagkatapos ng isang tiyak na bilang ng mga pag-ikot sa pamamagitan ng FHT at pagkatapos ay patakbuhin ang millis () na pag-andar upang makita kung gaano katagal ito naroroon, pagkatapos ihambing ito sa sahig ng ingay ng pagkalkula ng FHT. Sigurado ako na magagawa ang mga bagay na ito!
Umaasa ako na masaya kayong lahat sa proyektong ito at kung mayroon kang anumang mga katanungan mangyaring magbigay ng puna at tutugon ako sa lalong madaling panahon! Inaasahan kong makakita ng mga komento.
Inirerekumendang:
EasyFFT: Mabilis na Fourier Transform (FFT) para sa Arduino: 6 Hakbang
EasyFFT: Fast Fourier Transform (FFT) para sa Arduino: Ang pagsukat ng dalas mula sa nakunan ng signal ay maaaring maging isang mahirap na gawain, lalo na sa Arduino dahil mayroon itong mas mababang computational power. Mayroong mga pamamaraan na magagamit upang makuha ang zero-tawiran kung saan ang dalas ay nakuha sa pamamagitan ng pag-check kung gaano karaming beses ang
Mabilis at Madaling Paraan upang Baguhin ang Iyong Lock Screen sa 6 Mga Simpleng Hakbang (Windows 8-10): 7 Mga Hakbang
Mabilis at Madaling Paraan upang Baguhin ang Iyong Lock Screen sa 6 Mga Simpleng Hakbang (Windows 8-10): Nais mong baguhin ang mga bagay sa iyong laptop o PC? Nais mo ng isang pagbabago sa iyong kapaligiran? Sundin ang mga mabilis at madaling hakbang na ito upang matagumpay na maisapersonal ang iyong computer lock screen
Mabilis, Mabilis, Mura, Magandang Naghahanap ng LED Room Lighting (para sa Sinumang): 5 Hakbang (na may Mga Larawan)
Mabilis, Mabilis, Mura, Magandang Naghahanap ng Pag-iilaw ng LED Room (para sa Sinumang): Maligayang pagdating sa lahat :-) Ito ang aking unang itinuro sa gayon ang mga komento ay maligayang pagdating :-) Ang inaasahan kong ipakita sa iyo ay kung paano gumawa ng mabilis na pag-iilaw sa LED na nasa isang TINY buget. Ano ang kailangan mo: CableLEDsResistors (510Ohms para sa 12V) StapelsSoldering ironCutters at iba pang basi
Paano mapanatili ang Iyong PC na Tumatakbo nang Mabilis at Mabilis: 7 Hakbang
Paano Mapapanatiling Tumatakbo ang Iyong PC Mabilis at MABISA: Ang itinuturo na ito ay gagabay sa iyo hakbang-hakbang sa kung paano linisin ang iyong computer at panatilihin itong tumatakbo nang mabilis nang hindi nagbabayad para sa isa sa mga masalimuot na programa
Mabilis at Simple na Mga Soft Switch (para sa Mabilis na Prototyping): 5 Mga Hakbang
Mabilis at Simple na Mga Soft Switch (para sa Mabilis na Prototyping): Ang iba't ibang mga paraan upang makagawa ng isang malambot na switch. Ang itinuturo na ito ay nagpapakita ng isa pang pagpipilian ng isang napakabilis na prototype para sa soft switch, gamit ang isang aluminyo tape sa halip na conductive na tela, at solidong mga wire sa halip na isang conductive thread, na bot