![Fast Hartley Transform Spektral Stetoskop: 22 addım Fast Hartley Transform Spektral Stetoskop: 22 addım](https://i.howwhatproduce.com/preview/how-it-works/16398-fast-hartley-transform-spectral-stethoscope-22-steps-0.webp)
Mündəricat:
- Addım 1: Materiallar
- Addım 2: Alətlər
- Addım 3: 3D çap
- Addım 4: Dövrə qurun
- Addım 5: LCD naqilləri
- Addım 6: Mikrofon/Gücləndirici Kablolama
- Addım 7: Bir anlıq keçid naqilləri
- Addım 8: Potansiyometr naqilləri
- Addım 9: Qulaqlıq Jack Kabloları
- Addım 10: Mikrofon/Gücləndirici Çıxışı
- Addım 11: Mikrofon/Gücləndirici Çıxışı Davam Edir
- Addım 12: Qutuda olan komponentlər
- Addım 13: Qutuda-Lehimləmə
- Addım 14: +5V, GND Genişləndirilmiş Tellər
- Addım 15: Uzun Telləri Qoşma Deliyindən Keçirin
- Addım 16: İstilik azaldır
- Addım 17: Mühür Qutusu
- Addım 18: Arduinoya qoşulun
- Addım 19: Arduino IDE/Kitabxanalar
- Addım 20: Arduino Sketch
- Addım 21: Test edin
- Addım 22: Gələcək İş
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-23 12:54
![Fast Hartley Transform Spektral Stetoskopu Fast Hartley Transform Spektral Stetoskopu](https://i.howwhatproduce.com/images/005/image-12194-1-j.webp)
Bu təlimatda sürətli hartley çevrilməsindən istifadə edərək spektral stetoskopun necə hazırlanacağını öyrənəcəksiniz. Ürək və ağciyər səslərini görüntüləmək üçün istifadə edilə bilər.
Addım 1: Materiallar
1.8 LCD Ekran (Amazonda 7.50 dollar)
Arduino Uno və ya ekvivalenti (Gearbest -də 7.00 dollar)
Elektret Gücləndiricisi (Adafruit -də 6,95 dollar)
100 µF kondansatör (0.79 dollar)
Tel və tullananlar ($ 4.00)
3,5 mm Stereo Jack (1,50 dollar)
10kOhm Potansiyometr (2.00 dollar)
Anlıq keçid ($ 1.50)
Addım 2: Alətlər
Lehimleme dəmir
İsti Yapışqan Tabancası
3D Printer… və ya 3D printeri olan bir dost (Kartondan da etmək mümkündür)
Tel kəsici
Çörək lövhəsi
Addım 3: 3D çap
Birincisi, bu addıma əlavə olunan.stl fayllarını 3D çap etməkdir. Aşağıdakı material/parametrlərdən istifadə edərək hər iki faylı çap etdim:
Material: PLA
Lay hündürlüyü: 0.1 mm
Divar/Üst/Alt Qalınlıq: 0.8mm
Çap temperaturu: 200⁰C
Yataq temperaturu: 60⁰C
10% -də dəstək aktivdir
Addım 4: Dövrə qurun
Materiallar bölməsindəki komponentlərdən istifadə edərək dövrə qurun. Lehimləmə dəmirinə toxunmadan əvvəl düzgün işlədiyinə əmin olmaq üçün həmişə dövrə bir çörək taxtasına yığdım.
Addım 5: LCD naqilləri
![LCD naqilləri LCD naqilləri](https://i.howwhatproduce.com/images/005/image-12194-2-j.webp)
Bu addıma əlavə edilən rəqəmi istifadə edərək, LCD ekrandakı səkkiz sancağın yeddisinə tel bağlayın. Torpaq və +5V sancaqlar istisna olmaqla, bu tellərin təxminən 3 fut uzunluğunda olması lazımdır (bunların yalnız 2-3 düym olması lazımdır)
Addım 6: Mikrofon/Gücləndirici Kablolama
![Mikrofon/Gücləndirici naqilləri Mikrofon/Gücləndirici naqilləri](https://i.howwhatproduce.com/images/005/image-12194-3-j.webp)
Bu addıma əlavə olunan şəkildən istifadə edərək, Adafruit mikrofon/gücləndiricisindəki +5V, Torpaq və Çıxış pinlərinə üç tel lehimləyin. Bunlar yalnız 2-3 düym uzunluğunda olmalıdır.
Addım 7: Bir anlıq keçid naqilləri
Ani keçiddəki hər iki qolun hər birinə 2-3 düymlük bir tel bağlayın.
Addım 8: Potansiyometr naqilləri
6-cı addımdakı rəqəmi istifadə edərək, təxminən 2-3 düym uzunluğunda üç teli potansiyometrin üç qoluna lehimləyin.
Addım 9: Qulaqlıq Jack Kabloları
Qulaqlıq yuvasının üzüyünə, ucuna və manşetinə üç tel lehimləyin. Artıq telli bir metronomdan bir kriko istifadə etdim. Üzükün, ucun və manşetin nə olduğunu bilmirsinizsə, sadəcə google -da baxın, stereo jakların naqilləri ilə bağlı bir çox yaxşı şəkillər var.
Addım 10: Mikrofon/Gücləndirici Çıxışı
Mikrofon/amp, potansiometr və qulaqlıq yuvasına telləri lehimlədikdən sonra təxminən üç fut uzunluğunda bir teli mikrofon gücləndiricisinin "çıxan" telinə lehimləyin. Bu tel daha sonra arduinonun A0 pininə bağlanacaq.
Addım 11: Mikrofon/Gücləndirici Çıxışı Davam Edir
Mikrofon/gücləndiricinin "çıxan" telinə ikinci bir tel lehimləyin. Bu telin 100 microFarad kondansatörə lehimlənməsi lazımdır. Bir elektrolitik kondansatör istifadə edirsinizsə, müsbət tərəfinin bu telə bağlı olduğundan əmin olun.
Addım 12: Qutuda olan komponentlər
![Qutuda olan komponentlər Qutuda olan komponentlər](https://i.howwhatproduce.com/images/005/image-12194-4-j.webp)
![Qutuda olan komponentlər Qutuda olan komponentlər](https://i.howwhatproduce.com/images/005/image-12194-5-j.webp)
Bütün tellər komponentlərə lehimləndikdən sonra, bu addıma əlavə olunan rəqəmləri izləyərək komponentləri müvafiq yerlərə yerləşdirin. Mikrofonu və qulaqlıq yuvasını möhkəm bağlamaq üçün isti yapışqan istifadə etdim.
Addım 13: Qutuda-Lehimləmə
Bütün komponentlər korpusa bərkidildikdən sonra bütün topraklama tellərini birlikdə lehimləyin. Biri LCD -dən, biri mikrofon/amperdən və biri qulaqlıq yuvasının qolundan olmalıdır. +5V telləri bir anda və bir anlıq keçiddən bir tel lehimləyin. Yenə biri LCD -dən, biri mikrofondan/gücləndiricidən və biri anlıq keçiddə olmalıdır.
Addım 14: +5V, GND Genişləndirilmiş Tellər
İndi təxminən 3 fut uzunluğunda iki tel kəsin. Birini torpaq telləri qrupuna lehimləyin, digərini isə ani açarda açıq telə lehimləyin.
Addım 15: Uzun Telləri Qoşma Deliyindən Keçirin
![Qoşma Deliyindən Uzun Telləri Kaydırın Qoşma Deliyindən Uzun Telləri Kaydırın](https://i.howwhatproduce.com/images/005/image-12194-6-j.webp)
İndi təxminən 3 fut uzunluğunda cəmi səkkiz telə sahib olmalısınız. Bunları korpusdakı doldurulmamış delikdən keçirin. Bu addıma əlavə edilmiş şəklə baxın
Addım 16: İstilik azaldır
Bütün lehimləmə tamamlandıqdan sonra, açıq tellərin örtülmüş olduğundan əmin olun. İstilik büzücü borulardan istifadə etdim, amma elektrik lenti də yaxşı işləyir.
Addım 17: Mühür Qutusu
![Mühür Qutusu Mühür Qutusu](https://i.howwhatproduce.com/images/005/image-12194-7-j.webp)
![Mühür Qutusu Mühür Qutusu](https://i.howwhatproduce.com/images/005/image-12194-8-j.webp)
LCD ekranı olan korpusun yarısını götürün və digər komponentləri olan muhafazanın digər yarısına sürüşdürün. İki parçanı bir -birinə itələyərkən, korpusu bir -birinə bağlamaq üçün isti yapışdırın.
Addım 18: Arduinoya qoşulun
Qalan səkkiz uzun tellər, sxem sxemlərində göstərilən müvafiq Arduino pinlərinə birbaşa bağlıdır. Uzun 3ft tellərdən birini hər dəfə lehimlədiyiniz zaman, digər ucuna Arduino pininin nəyə getdiyini göstərən bir parça yapışdırdığınızdan əmin olun!
Addım 19: Arduino IDE/Kitabxanalar
Arduino IDE -ni yükləməlisiniz. Bu eskiz üçün üç fərqli kitabxanadan istifadə etdim: FHT.h, SPI.h və TFT.h. Arduino kitabxanalarını necə yükləməyi bilmirsinizsə, https://www.arduino.cc/en/Guide/Libraries səhifəsinə baxın. FHT.h kitabxanası openmusiclabs.com saytından endirildi. Digər ikisi GitHub -da yükləndi.
Addım 20: Arduino Sketch
Kod, vaxt sahəsini bir tezlik sahəsinə dəyişdirmək üçün Fast Hartley Transformu (FHT) istifadə edir. Bu, Fast Fourier Transformu (FFT) istifadə etməklə də edilə bilər, lakin FHT daha sürətlidir. FFT və FHT siqnal emalında çox fundamental fikirlərdir və öyrənmək çox əyləncəlidir. Özünüz oxumağı məsləhət görürəm, maraqlanırsınızsa baxın. Open Music Labs veb saytından kopyaladığım FHT nümunə kodu əvvəlcə hər bir tezlik qutusunun amplitüdünü loqarifmik və ya desibel çıxışı olaraq çıxardı. Bunu tezlik qutularını xətti miqyasda çıxarmaq üçün dəyişdirdim. Bunun səbəbi, xətti miqyasın insanların səsi necə eşitdiyini daha yaxşı əyani şəkildə ifadə etməsidir. Sonundakı for () döngəsi, LCD ekranda hər bir tezlik qutusunun amplitudunu çəkmək üçündür. Tam FHT spektri, i = 0 -dan i <128 -ə qədər olan bütün tezlik qutularını əhatə edəcək. Mənim üçün () döngüsünün i = 5 -dən i <40 -a qədər olduğunu görürsünüz, bunun səbəbi ağciyər xəstəliklərinin diaqnozu üçün vacib olan tezliklərin adətən 150 Hz və 3.5 kHz arasında olmasıdır, təxminən 4 kHz -ə qədər getməyə qərar verdim. Tam tezlik spektrini göstərmək istəyirsinizsə bu tənzimlənə bilər.
[kod]
// Rəqəmsal Stetoskop Kodu
// Fast Hartley Transform kitabxanası openmusiclabsdan endirildi
#define LIN_OUT 1 // xətti çıxış istehsal etmək üçün FHT qurun
#define LOG_OUT 0 // FHT logaritmik çıxışını söndürün
#dehine FHT_N 256 // FHT nümunə nömrəsi
#include // FHT kitabxanasını daxil edin
#include // TFT kitabxanasını daxil edin
#include // SPI kitabxanasını daxil edin
#define cs 10 // lcd cs pinini arduino pin 10 -a təyin edin
#decine dc 9 // lcd dc pinini arduino pin 9 olaraq təyin edin
#destine rst 8 // lcd sıfırlama pinini arduino pin 8 -ə təyin edin
TFT myScreen = TFT (cs, dc, rst); // TFT ekranının adını elan edin
boş quraşdırma () {
//Serial.begin(9600);// nümunə götürmə nisbətini təyin edin
myScreen.begin (); // TFT ekranını işə salın
myScreen.background (0, 0, 0); // fonu qara rəngə qoyun
ADCSRA = 0xe5; // adc -ni sərbəst işləmə rejiminə qoyun
ADMUX = 0x40; // adc0 istifadə edin
}
boşluq döngəsi () {
while (1) {// jitter cli () azaldır; // UDRE kəsilməsi arduino1.0 -da bu şəkildə yavaşlayır
for (int i = 0; i <FHT_N; i ++) {// 256 nümunəni qeyd edin
isə (! (ADCSRA & 0x10)); // adc -nin hazır olmasını gözləyin
ADCSRA = 0xf5; // adc baytını yenidən başladın
m = ADCL; // ADC məlumat baytı alın
j = ADCH; int k = (j << 8) | m; // int şəklində yaradın
k -= 0x0200; // imzalanmış int formasına salın
k << = 6; // formu 16b imzalı int
fht_input = k; // həqiqi məlumatları zibil qutularına yerləşdirin
}
fht_window (); // daha yaxşı tezlik cavabı üçün məlumatları pəncərəyə qoyun
fht_reorder (); // fht etməzdən əvvəl məlumatları yenidən sıralayın
fht_run (); // fht -də məlumatları emal edin
fht_mag_lin (); // fht çıxışını götürün
sei ();
üçün (int i = 5; i <40; i ++) {
myScreen.stroke (255, 255, 255);
myScreen.fill (255, 255, 255);
int drawHeight = xəritə (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]
Addım 21: Test edin
![Test edin! Test edin!](https://i.howwhatproduce.com/images/005/image-12194-9-j.webp)
Kodun düzgün işlədiyini təsdiqləmək üçün bir onlayn ton generatoru (https://www.szynalski.com/tone-generator/) istifadə etdim. İşlədiyini təsdiqlədikdən sonra stetoskopun zəngi sinəsinə qədər basın, dərindən nəfəs alın və hansı tezliklərin olduğunu görün !!
Addım 22: Gələcək İş
** Qeyd: Mən kimyaçıyam, mühəndis və ya kompüter alimi deyiləm **. Dizaynda və kodda çox güman ki səhvlər və təkmilləşdirmələr olacaq. Deyilənə görə, çox faydalı və ucuz ola biləcək bir işin yaxşı bir başlanğıc olduğunu düşünürəm. Aşağıdakı güllələr etmək istədiyim gələcək təkmilləşdirmələrdir və ümid edirəm bəziləriniz də onu yaxşılaşdırmağa çalışırsınız!
· Cihazı mobil hala gətirin. CPU və ya digər mikrokontrolörlərlə geniş təcrübəm yoxdur, amma bütün FHT kitabxanasını və ya bəlkə də Bluetooth -u saxlamaq üçün kifayət qədər yaddaşa sahib olmalıyam.
· Bəzi statistik analiz hesablamalarını koda daxil edin. Məsələn, bir hırıltı 400 Hz -ə bərabər və ya daha çox əsas tezliyə malikdir və ən az 250 ms davam edir. Rhonchi, təxminən 200 Hz və ya daha az bir əsas tezlikdə meydana gəlir və ən az 250 ms davam edir. Bir çox digər ağciyər səsləri müəyyən edilir və sağlamlıq vəziyyətini göstərir (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). Düşünürəm ki, müəyyən bir dövrdən sonra FHT vasitəsilə tezlik qutularının siqnalını müqayisə etmək və sonra nə qədər mövcud olduğunu görmək üçün millis () funksiyasını işə salmaqla kodda yoxlanıla bilən bir şeydir və sonra müqayisə edir. FHT hesablamasının səs -küy səviyyəsinə. Əminəm ki, bu işlər edilə bilər!
Ümid edirəm ki, hamınız bu layihə ilə əyləndiniz və hər hansı bir sualınız varsa, şərh yazın və bacardığım qədər cavab verəcəyəm! Şərhləri görmək üçün səbirsizliklə gözləyirəm.
Tövsiyə:
Super FAST RC Ground Effect Vehicle (Ekranoplan): 5 Addım (Şəkillərlə)
![Super FAST RC Ground Effect Vehicle (Ekranoplan): 5 Addım (Şəkillərlə) Super FAST RC Ground Effect Vehicle (Ekranoplan): 5 Addım (Şəkillərlə)](https://i.howwhatproduce.com/images/001/image-732-j.webp)
Super FAST RC Ground Effect Vehicle (Ekranoplan): Bilirsinizmi, toxunma zamanı təyyarələr təkərləri uçuş zolağına dəyməzdən əvvəl bir müddət yerdən bir neçə metr yuxarı qalxır? Bu, sərnişinlərə hamar bir eniş etmək üçün deyil, həm də yer təsirinin təbii nəticəsidir
Fast Edge Square Dalğa Pulse Generatoru: 4 Addım
![Fast Edge Square Dalğa Pulse Generatoru: 4 Addım Fast Edge Square Dalğa Pulse Generatoru: 4 Addım](https://i.howwhatproduce.com/images/001/image-2492-44-j.webp)
Fast Edge Square Wave Pulse Generator: Fast Edge Pulse Generator - Ultra Fast Square Dalğalı Pulse GeneratorBu sadə dövrə, 74HC14N (aşağı sürətlə altı TTL çevirici) istifadə edərək 10MHZ -ə qədər kvadrat dalğa siqnalları yarada bilir. Bəzi elektronika sınaqları üçün idealdır. Çürüklə
Fast Edge Square Dalğa Generatoru: 4 addım
![Fast Edge Square Dalğa Generatoru: 4 addım Fast Edge Square Dalğa Generatoru: 4 addım](https://i.howwhatproduce.com/images/003/image-6533-31-j.webp)
Fast Edge Square Dalğa Generatoru: Hər hansı bir komponentin endüktansını, tutumunu ölçmək istəyirsinizsə, bu məqalədə bu mövzuda öyrəndiyimiz sürətli bir kənar kvadrat dalğasına ehtiyacınız var
SLOW/DEAD Laptopu FAST Laptopa çevirmək üçün LAPTOP CPU -nu (və digər sərin əşyaları!) Necə Təkmilləşdirmək olar: 4 Addım
![SLOW/DEAD Laptopu FAST Laptopa çevirmək üçün LAPTOP CPU -nu (və digər sərin əşyaları!) Necə Təkmilləşdirmək olar: 4 Addım SLOW/DEAD Laptopu FAST Laptopa çevirmək üçün LAPTOP CPU -nu (və digər sərin əşyaları!) Necə Təkmilləşdirmək olar: 4 Addım](https://i.howwhatproduce.com/images/001/image-1411-109-j.webp)
SLOW/DEAD Laptopu FAST Laptopa çevirmək üçün LAPTOP CPU -nu (və Digər Sərin Şeyləri!) Necə Təkmilləşdirmək olar!: Hamınıza salam! çox köhnəlmiş … LCD parçalandı və əsas sabit disk ələ keçirildi, belə ki, dizüstü kompüter əslində öldü … Fotoya baxın
FAST FOAM TORHE: 9 addım (şəkillərlə)
![FAST FOAM TORHE: 9 addım (şəkillərlə) FAST FOAM TORHE: 9 addım (şəkillərlə)](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10960398-fast-foam-lathe-9-steps-with-pictures-j.webp)
FAST FOAM TORHE: Torna, taxta, metal və ya düzgün kəsici alətlərdən istifadə etmədən torna etməyə (torna üzərində əşyalar düzəltməyə) başlamağın sürətli və asan bir yolu. Bu əsas anlayışları əhatə edir: quraşdırma, kobud kəsmə, naxış, forma, bitirmə.Burada əsas addımlar var: SETUP-As