विषयसूची:

फास्ट हार्टले ट्रांसफॉर्म स्पेक्ट्रल स्टेथोस्कोप: 22 कदम
फास्ट हार्टले ट्रांसफॉर्म स्पेक्ट्रल स्टेथोस्कोप: 22 कदम

वीडियो: फास्ट हार्टले ट्रांसफॉर्म स्पेक्ट्रल स्टेथोस्कोप: 22 कदम

वीडियो: फास्ट हार्टले ट्रांसफॉर्म स्पेक्ट्रल स्टेथोस्कोप: 22 कदम
वीडियो: First Aid unit से पूछे जाने वाले महत्वपूर्ण प्रश्न, anm & gnm nursing exam, H.A exam 📝 2024, जुलाई
Anonim
फास्ट हार्टले ट्रांसफॉर्म स्पेक्ट्रल स्टेथोस्कोप
फास्ट हार्टले ट्रांसफॉर्म स्पेक्ट्रल स्टेथोस्कोप

इस निर्देश में आप सीखेंगे कि फास्ट हार्टले ट्रांसफॉर्म का उपयोग करके स्पेक्ट्रल स्टेथोस्कोप कैसे बनाया जाता है। इसका उपयोग हृदय और फेफड़ों की ध्वनियों की कल्पना करने के लिए किया जा सकता है।

चरण 1: सामग्री

1.8”एलसीडी स्क्रीन (अमेज़न पर $ 7.50)

Arduino Uno या समकक्ष (गियरबेस्ट पर $7.00)

इलेक्ट्रेट एम्पलीफायर (एडफ्रूट पर $6.95)

१०० µF संधारित्र ($0.79)

तार और जंपर्स ($4.00)

3.5 मिमी स्टीरियो जैक ($1.50)

10kOhm पोटेंशियोमीटर ($2.00)

क्षणिक स्विच ($1.50)

चरण 2: उपकरण

सोल्डरिंग आयरन

गर्म गोंद वाली बंदूक

3D प्रिंटर…या 3D प्रिंटर वाला कोई मित्र (कार्डबोर्ड से भी बनाना संभव)

तार काटने वाला

ब्रेड बोर्ड

चरण 3: 3डी प्रिंटिंग

पहला इस चरण से जुड़ी.stl फ़ाइलों को 3D प्रिंट करना है। मैंने निम्नलिखित सामग्री/सेटिंग्स का उपयोग करके दोनों फाइलों को मुद्रित किया:

सामग्री: पीएलए

परत की ऊँचाई: 0.1 मिमी

दीवार / ऊपर / नीचे मोटाई: 0.8 मिमी

मुद्रण तापमान: 200⁰C

बिस्तर का तापमान: 60⁰C

समर्थन सक्षम @ 10%

चरण 4: सर्किट का निर्माण

सामग्री अनुभाग में घटकों का उपयोग करके, सर्किट का निर्माण करें। सोल्डरिंग आयरन को छूने से पहले यह सुनिश्चित करने के लिए कि यह ठीक से काम कर रहा है, मैं हमेशा सर्किट को ब्रेडबोर्ड पर एक साथ रखता हूं।

चरण 5: एलसीडी वायरिंग

एलसीडी वायरिंग
एलसीडी वायरिंग

इस चरण से जुड़ी आकृति का उपयोग करते हुए, एलसीडी स्क्रीन पर आठ में से सात पिनों को मिलाप तार। जमीन और +5V पिन को छोड़कर इन तारों की लंबाई लगभग 3 फीट होनी चाहिए (इन्हें केवल 2-3 इंच होना चाहिए)

चरण 6: माइक/एम्पलीफायर वायरिंग

माइक/एम्पलीफायर वायरिंग
माइक/एम्पलीफायर वायरिंग

एडफ्रूट माइक्रोफोन/एम्पलीफायर पर इस स्टेप सोल्डर से जुड़ी आकृति का उपयोग करते हुए +5वी, ग्राउंड और आउट पिन में तीन तार लगाएं। इनकी लंबाई केवल 2-3 इंच होनी चाहिए।

चरण 7: क्षणिक स्विच वायरिंग

क्षणिक स्विच पर दो लगों में से प्रत्येक के लिए एक 2-3 इंच का तार तार करें।

चरण 8: पोटेंशियोमीटर वायरिंग

चरण 6 में आकृति का उपयोग करते हुए, तीन तारों को लगभग 2-3 इंच लंबाई में पोटेंशियोमीटर के तीन लग्स में मिलाएं।

चरण 9: हेडफोन जैक वायरिंग

हेडफोन जैक की रिंग, टिप और स्लीव लग्स में तीन तारों को मिलाएं। मैंने एक मेट्रोनोम से जैक का इस्तेमाल किया जो पहले से ही वायर्ड था। यदि आप नहीं जानते कि रिंग, टिप और स्लीव लग्स क्या हैं, तो बस इसे गूगल करें, स्टीरियो जैक वायरिंग के बारे में बहुत सारी अच्छी छवियां हैं।

चरण 10: माइक्रोफ़ोन / एम्पलीफायर आउटपुट

माइक/amp, पोटेंशियोमीटर, और हेडफोन जैक पर तारों को मिलाप करने के बाद, एक तार को माइक्रोफ़ोन एम्पलीफायर के "आउट" तार से लगभग तीन फीट लंबा मिलाप करें। इस तार को बाद में arduino के A0 पिन से जोड़ा जाएगा।

चरण 11: माइक्रोफ़ोन/एम्पलीफ़ायर आउटपुट जारी रहा

माइक/एम्पलीफायर के "आउट" तार के लिए एक दूसरा तार मिलाएं। इस तार को 100 माइक्रोफ़ारड कैपेसिटर में मिलाप करने की आवश्यकता है। यदि आप इलेक्ट्रोलाइटिक कैपेसिटर का उपयोग कर रहे हैं, तो सुनिश्चित करें कि सकारात्मक पक्ष इस तार से जुड़ा है।

चरण 12: संलग्नक में घटक

संलग्नक में अवयव
संलग्नक में अवयव
संलग्नक में अवयव
संलग्नक में अवयव

घटकों पर सभी तारों को मिलाप करने के बाद, इस चरण से जुड़े आंकड़ों का पालन करते हुए घटकों को संबंधित स्थानों पर रखें। मैंने माइक्रोफ़ोन और हेडफ़ोन जैक को सुरक्षित करने के लिए गर्म गोंद का उपयोग किया।

चरण 13: इन-एनक्लोजर-सोल्डरिंग

बाड़े में सभी घटकों को सुरक्षित करने के बाद, सभी जमीन के तारों को एक साथ मिलाएं। एक एलसीडी से, एक माइक/amp से, और एक हेडफोन जैक की आस्तीन से होना चाहिए। साथ ही +5V तारों को एक साथ और एक तार को क्षणिक स्विच से मिलाप करें। फिर से एक एलसीडी से, एक माइक/एम्पलीफायर से, और एक क्षणिक स्विच पर होना चाहिए।

चरण 14: +5V, GND विस्तारित तार

अब तार के दो टुकड़े लगभग 3 फीट लंबाई में काट लें। एक को जमीन के तारों के समूह में मिलाएं और दूसरे को क्षणिक स्विच पर खुले तार से मिलाएं।

चरण 15: संलग्नक छेद के माध्यम से लंबी तारों को खिसकाएं

संलग्नक छेद के माध्यम से लंबी तारों को खिसकाएं
संलग्नक छेद के माध्यम से लंबी तारों को खिसकाएं

अब, आपके पास कुल आठ तार होने चाहिए जिनकी लंबाई लगभग 3 फीट हो। इन्हें बाड़े में भरे हुए छेद के माध्यम से रखें। इस चरण के साथ संलग्न चित्र देखें

चरण 16: हीट सिकोड़ें

सभी सोल्डरिंग पूर्ण होने के बाद, सुनिश्चित करें कि उजागर तारों को कवर किया गया है। मैंने हीट सिकुड़ ट्यूबिंग का इस्तेमाल किया, लेकिन बिजली का टेप भी ठीक काम करता है।

चरण 17: सील संलग्नक

सील संलग्नक
सील संलग्नक
सील संलग्नक
सील संलग्नक

एलसीडी स्क्रीन वाले बाड़े के आधे हिस्से को लें और इसे अन्य घटकों वाले बाड़े के दूसरे आधे हिस्से पर खिसकाएं। दो टुकड़ों को एक साथ धकेलते हुए, बाड़े को एक साथ सुरक्षित करने के लिए उन्हें गर्म गोंद दें।

चरण 18: Arduino से कनेक्ट करें

शेष आठ, लंबे, तार सीधे उनके संबंधित Arduino पिन से जुड़े होते हैं जो सर्किट स्कीमैटिक्स में उल्लिखित होते हैं। सुनिश्चित करें कि हर बार जब आप सर्किट में उन लंबे 3 फीट तारों में से एक को मिलाते हैं, तो आप दूसरे छोर पर टेप का एक टुकड़ा डालते हैं जो दर्शाता है कि यह किस Arduino पिन पर जाता है!

चरण 19: Arduino IDE/लाइब्रेरी

आपको Arduino IDE डाउनलोड करना होगा। इस स्केच के लिए, मैंने तीन अलग-अलग पुस्तकालयों का उपयोग किया: FHT.h, SPI.h, और TFT.h। यदि आप नहीं जानते कि Arduino लाइब्रेरी कैसे डाउनलोड करें, तो कृपया https://www.arduino.cc/en/Guide/Libraries देखें। FHT.h लाइब्रेरी openmusiclabs.com से डाउनलोड की गई थी। अन्य दो GitHub पर डाउनलोड किए गए थे।

चरण 20: Arduino स्केच

कोड टाइम डोमेन को फ़्रीक्वेंसी डोमेन में बदलने के लिए Fast Hartley Transform (FHT) का उपयोग करता है। यह फास्ट फूरियर ट्रांसफॉर्म (एफएफटी) का उपयोग करके भी किया जा सकता है, लेकिन एफएचटी बहुत तेज है। सिग्नल प्रोसेसिंग में FFT और FHT बहुत ही मौलिक विचार हैं और इसके बारे में जानने में बहुत मज़ा आता है। मेरा सुझाव है कि यदि आप रुचि रखते हैं तो स्वयं कुछ पढ़ें। ओपन म्यूजिक लैब्स वेबसाइट से मैंने जो FHT उदाहरण कोड कॉपी किया था, वह शुरू में लॉगरिदमिक या डेसीबल आउटपुट के रूप में प्रत्येक फ़्रीक्वेंसी बिन के आयाम को आउटपुट कर रहा था। मैंने इसे रैखिक पैमाने पर आवृत्ति डिब्बे को आउटपुट करने के लिए बदल दिया। ऐसा इसलिए है क्योंकि रेखीय पैमाना इस बात का बेहतर दृश्य प्रतिनिधित्व है कि मनुष्य ध्वनि कैसे सुनते हैं। अंत में () लूप एलसीडी स्क्रीन पर प्रत्येक आवृत्ति बिन के आयाम को चित्रित करने के लिए है। पूर्ण FHT स्पेक्ट्रम में i=0 से i<128 तक के सभी फ़्रीक्वेंसी डिब्बे शामिल होंगे। आप देखेंगे कि मेरा for() लूप i=5 से i<40 तक है, ऐसा इसलिए है क्योंकि फेफड़ों की स्थिति के निदान के लिए महत्वपूर्ण आवृत्तियां आमतौर पर 150Hz और 3.5khz के बीच होती हैं, मैंने लगभग 4kHz तक जाने का निर्णय लिया। यदि आप पूर्ण आवृत्ति स्पेक्ट्रम दिखाना चाहते हैं तो इसे समायोजित किया जा सकता है।

[कोड]

// डिजिटल स्टेथोस्कोप कोड

// फास्ट हार्टले ट्रांसफॉर्म लाइब्रेरी ओपनम्यूजिकलैब्स से डाउनलोड की गई

#define LIN_OUT 1 // रैखिक आउटपुट उत्पन्न करने के लिए FHT सेट करें

#define LOG_OUT 0 // FHT लॉगरिदमिक आउटपुट बंद करें

#define FHT_N 256 //FHT नमूना संख्या

#शामिल करें // एफएचटी पुस्तकालय शामिल करें

#include // TFT लाइब्रेरी शामिल करें

#शामिल करें // एसपीआई पुस्तकालय शामिल करें

#define cs 10 // एलसीडी सीएस पिन को arduino pin 10 पर सेट करें

#define dc 9 // एलसीडी डीसी पिन को आर्डिनो पिन पर सेट करें 9

#define rst 8 // एलसीडी रीसेट पिन को arduino pin पर सेट करें 8

TFT myScreen = TFT (cs, dc, rst); // TFT स्क्रीन का नाम घोषित करें

व्यर्थ व्यवस्था() {

//Serial.begin(9600);//सेटिंग नमूना दर

myScreen.begin();//TFT स्क्रीन को इनिशियलाइज़ करें

myScreen.background(0, 0, 0);//पृष्ठभूमि को काले रंग में सेट करें

ADCSRA=0xe5;//adc को फ्री रनिंग मोड पर सेट करें

ADMUX=0x40;//adc0 का उपयोग करें

}

शून्य लूप () {

जबकि (1) {// जिटर क्ली कम कर देता है (); // UDRE इंटरप्ट इस तरह से arduino1.0. पर धीमा हो जाता है

के लिए (int i = 0; i <FHT_N; i++) {// 256 नमूने सहेजें

जबकि (! (एडीसीएसआरए और 0x10)); // एडीसी के तैयार होने की प्रतीक्षा करें

एडीसीएसआरए = 0xf5; // एडीसी बाइट को पुनरारंभ करें

एम = एडीसीएल; // एडीसी डेटा बाइट प्राप्त करें

जे = एडीसीएच; इंट के = (जे << 8) | एम; // एक int. में फार्म

के - = 0x0200; // एक हस्ताक्षरित int. में फ़ॉर्म

कश्मीर <<= 6; // फॉर्म एक 16b हस्ताक्षरित int. में

fht_input = k; // वास्तविक डेटा को डिब्बे में डालें

}

fht_window (); // बेहतर आवृत्ति प्रतिक्रिया के लिए डेटा विंडो करें

fht_reorder (); // fht. करने से पहले डेटा को फिर से व्यवस्थित करें

fht_run (); // fht. में डेटा को प्रोसेस करें

fht_mag_lin (); // fht. का आउटपुट लें

सेई ();

के लिए (int i=5;i<40;i++){

माईस्क्रीन.स्ट्रोक (255, 255, 255);

myScreen.fill (255, 255, 255);

इंट ड्रॉहाइट = मैप (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);

}

}

[/कोड]

चरण 21: इसका परीक्षण करें

इसका परीक्षण करें!
इसका परीक्षण करें!

कोड ठीक से काम कर रहा था, इसकी पुष्टि करने के लिए मैंने एक ऑनलाइन टोन जनरेटर (https://www.szynalski.com/tone-generator/) का उपयोग किया। यह पुष्टि करने के बाद कि यह काम करता है, स्टेथोस्कोप की घंटी को अपनी छाती तक दबाएं, गहरी सांस लें और देखें कि कौन सी आवृत्तियां मौजूद हैं !!

चरण 22: भविष्य का काम

**नोट: मैं एक रसायनज्ञ हूं, इंजीनियर या कंप्यूटर वैज्ञानिक नहीं**। डिज़ाइन और कोड में गलतियाँ और सुधार होने की संभावना है। कहा जा रहा है, मुझे लगता है कि यह किसी ऐसी चीज की अच्छी शुरुआत है जो बहुत उपयोगी और सस्ती हो सकती है। निम्नलिखित बुलेट भविष्य के सुधार हैं जो मैं करना चाहता हूं और मुझे आशा है कि आप में से कुछ इसे सुधारने का भी प्रयास करेंगे!

· डिवाइस को मोबाइल बनाएं। मुझे सीपीयू या अन्य माइक्रोकंट्रोलर के साथ व्यापक अनुभव नहीं है, लेकिन संपूर्ण एफएचटी लाइब्रेरी या संभवतः ब्लूटूथ को स्टोर करने के लिए पर्याप्त मेमोरी की आवश्यकता होगी।

· कोड में कुछ सांख्यिकीय विश्लेषण गणनाओं का परिचय दें। उदाहरण के लिए, आम तौर पर एक घरघराहट की मौलिक आवृत्ति 400 हर्ट्ज के बराबर या उससे अधिक होती है और कम से कम 250 एमएस तक रहती है। रोंची लगभग 200 हर्ट्ज या उससे कम की मौलिक आवृत्ति पर होता है और कम से कम 250 एमएस तक रहता है। कई अन्य फुफ्फुसीय ध्वनियां परिभाषित हैं और स्वास्थ्य स्थितियों का संकेत देती हैं (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf)। मुझे लगता है कि यह ऐसा कुछ है जिसे एफएचटी के माध्यम से एक निश्चित संख्या में चक्रों के बाद आवृत्ति डिब्बे के सिग्नल की तुलना करके कोड में जांचा जा सकता है और फिर मिलिस() फ़ंक्शन चलाकर यह देखने के लिए कि यह कितने समय तक मौजूद था, फिर इसकी तुलना करना FHT गणना के शोर तल पर। मुझे विश्वास है कि ये चीजें की जा सकती हैं!

मुझे आशा है कि आप सभी को इस परियोजना में मज़ा आया होगा और यदि आपके कोई प्रश्न हैं तो कृपया टिप्पणी करें और मैं जल्द से जल्द जवाब दूंगा! मैं टिप्पणियों को देखने के लिए उत्सुक हूं।

सिफारिश की: