विषयसूची:

स्टोन एलसीडी पर एआर के साथ हृदय गति कैसे प्रदर्शित करें: 31 कदम
स्टोन एलसीडी पर एआर के साथ हृदय गति कैसे प्रदर्शित करें: 31 कदम

वीडियो: स्टोन एलसीडी पर एआर के साथ हृदय गति कैसे प्रदर्शित करें: 31 कदम

वीडियो: स्टोन एलसीडी पर एआर के साथ हृदय गति कैसे प्रदर्शित करें: 31 कदम
वीडियो: 10'x6' मैं जीना बनाने का सबसे आसान तरीका//How to make staircase in civil work 2024, नवंबर
Anonim
स्टोन एलसीडी पर Ar. के साथ हृदय गति कैसे प्रदर्शित करें
स्टोन एलसीडी पर Ar. के साथ हृदय गति कैसे प्रदर्शित करें

संक्षिप्त परिचय

कुछ समय पहले, मुझे ऑनलाइन खरीदारी में हृदय गति संवेदक मॉड्यूल MAX30100 मिला। यह मॉड्यूल उपयोगकर्ताओं के रक्त ऑक्सीजन और हृदय गति डेटा एकत्र कर सकता है, जो उपयोग करने के लिए सरल और सुविधाजनक भी है। डेटा के अनुसार, मैंने पाया कि Arduino लाइब्रेरी फ़ाइलों में MAX30100 की लाइब्रेरी हैं। कहने का तात्पर्य यह है कि, अगर मैं Arduino और MAX30100 के बीच संचार का उपयोग करता हूं, तो मैं ड्राइवर फ़ाइलों को फिर से लिखे बिना सीधे Arduino लाइब्रेरी फ़ाइलों को कॉल कर सकता हूं। यह अच्छी बात है, इसलिए मैंने MAX30100 का मॉड्यूल खरीदा।

चरण 1: मैंने MAX30100 के हृदय गति और रक्त ऑक्सीजन संग्रह समारोह को सत्यापित करने के लिए Arduino का उपयोग करने का निर्णय लिया।

मैंने MAX30100 की हृदय गति और रक्त ऑक्सीजन संग्रह कार्य को सत्यापित करने के लिए Arduino का उपयोग करने का निर्णय लिया।
मैंने MAX30100 की हृदय गति और रक्त ऑक्सीजन संग्रह कार्य को सत्यापित करने के लिए Arduino का उपयोग करने का निर्णय लिया।

नोट: यह मॉड्यूल डिफ़ॉल्ट रूप से केवल 3.3 V स्तर के MCU संचार के साथ है, क्योंकि यह IIC पिन का उपयोग करने के लिए 4.7 K से 1.8 V के प्रतिरोध को खींचता है, इसलिए यदि आप Arduino के साथ संवाद करना चाहते हैं, तो डिफ़ॉल्ट रूप से Arduino के साथ कोई संचार नहीं है। और VIN पिन से जुड़े IIC पिन पुल-अप रेसिस्टर के दो 4.7 K की आवश्यकता है, इन सामग्रियों को अध्याय के पीछे पेश किया जाएगा।

चरण 2: कार्यात्मक असाइनमेंट

इस परियोजना को शुरू करने से पहले, मैंने कुछ सरल विशेषताओं के बारे में सोचा:

  • हृदय गति डेटा और रक्त ऑक्सीजन डेटा एकत्र किए गए थे
  • एलसीडी स्क्रीन के माध्यम से हृदय गति और रक्त ऑक्सीजन डेटा प्रदर्शित किया जाता है

ये केवल दो विशेषताएं हैं, लेकिन अगर हम इसे लागू करना चाहते हैं, तो हमें और अधिक सोचने की जरूरत है:

  • किस मास्टर एमसीयू का उपयोग किया जाता है?
  • किस तरह का एलसीडी डिस्प्लेर?

जैसा कि हमने पहले उल्लेख किया है, हम MCU के लिए Arduino का उपयोग करते हैं, लेकिन यह एक Arduino LCD डिस्प्ले प्रोजेक्ट है, इसलिए हमें उपयुक्त LCD डिस्प्ले मॉड्यूल चुनने की आवश्यकता है। मेरी योजना सीरियल पोर्ट के साथ LCD डिस्प्ले स्क्रीन का उपयोग करने की है। मेरे पास यहां एक STVI070WT-01 डिस्प्लेर है, लेकिन अगर Arduino को इसके साथ संवाद करने की आवश्यकता है, तो स्तर रूपांतरण करने के लिए MAX3232 की आवश्यकता है। फिर बुनियादी इलेक्ट्रॉनिक सामग्री निम्नानुसार निर्धारित की जाती है:

1. Arduino Mini Pro डेवलपमेंट बोर्ड

2. MAX30100 हृदय गति और रक्त ऑक्सीजन सेंसर मॉड्यूल

3. स्टोन STVI070WT-01 एलसीडी सीरियल पोर्ट डिस्प्ले मॉड्यूल

4. MAX3232 मॉड्यूल

चरण 3: हार्डवेयर परिचय

MAX30100

MAX30100 एक एकीकृत पल्स ऑक्सीमेट्री और हृदय गति मॉनिटर सेंसर समाधान है। यह पल्स ऑक्सीमेट्री और हृदय गति संकेतों का पता लगाने के लिए दो एल ई डी, एक फोटोडेटेक्टर, अनुकूलित प्रकाशिकी और कम शोर वाले एनालॉग सिग्नल प्रोसेसिंग को जोड़ती है।

MAX30100 1.8V और 3.3V बिजली की आपूर्ति से संचालित होता है और इसे सॉफ्टवेयर के माध्यम से नगण्य स्टैंडबाय करंट के साथ संचालित किया जा सकता है, जिससे बिजली की आपूर्ति हर समय जुड़ी रहती है।

चरण 4: अनुप्रयोग

पहनने योग्य उपकरण

स्वास्थ्य सहायक उपकरण

चिकित्सा निगरानी उपकरण

चरण 5: लाभ और विशेषताएं

1、पूर्ण पल्स ऑक्सीमीटर और हृदय गति सेंसर समाधान डिजाइन को सरल बनाता है

  • एकीकृत एल ई डी, फोटो सेंसर, और उच्च प्रदर्शन एनालॉग फ्रंट-एंड
  • छोटा 5.6 मिमी x 2.8 मिमी x 1.2 मिमी 14-पिन वैकल्पिक रूप से उन्नत सिस्टम-इन-पैकेज

2、अल्ट्रा-लो-पावर ऑपरेशन पहनने योग्य उपकरणों के लिए बैटरी लाइफ बढ़ाता है

  • बिजली की बचत के लिए प्रोग्राम करने योग्य नमूना दर और एलईडी करंट
  • अल्ट्रा-लो शटडाउन करंट (0.7μA, टाइप)

3、उन्नत कार्यक्षमता मापन प्रदर्शन में सुधार करती है

  • उच्च एसएनआर मजबूत गति विरूपण साक्ष्य लचीलापन प्रदान करता है
  • एकीकृत परिवेश प्रकाश रद्दीकरण
  • उच्च नमूना दर क्षमता
  • फास्ट डेटा आउटपुट क्षमता

चरण 6: जांच सिद्धांत

जांच सिद्धांत
जांच सिद्धांत

पल्स ऑक्सीजन सैचुरेशन (SpO2) और पल्स (दिल की धड़कन के बराबर) का अनुमान लगाने के लिए बस सेंसर के खिलाफ अपनी उंगली दबाएं।

पल्स ऑक्सीमीटर (ऑक्सीमीटर) एक मिनी-स्पेक्ट्रोमीटर है जो रक्त की ऑक्सीजन संतृप्ति का विश्लेषण करने के लिए विभिन्न लाल कोशिका अवशोषण स्पेक्ट्रा के सिद्धांतों का उपयोग करता है। यह वास्तविक समय और तेजी से माप पद्धति कई नैदानिक संदर्भों में भी व्यापक रूप से उपयोग की जाती है। मैं MAX30100 का बहुत अधिक परिचय नहीं दूंगा, क्योंकि ये सामग्रियां इंटरनेट पर उपलब्ध हैं। इच्छुक मित्र इंटरनेट पर इस हृदय गति परीक्षण मॉड्यूल की जानकारी देख सकते हैं, और इसके पता लगाने के सिद्धांत की गहरी समझ प्राप्त कर सकते हैं।

चरण 7: पत्थर STVI070WT-01

स्टोन STVI070WT-01
स्टोन STVI070WT-01

प्रदर्शक का परिचय

इस परियोजना में, मैं हृदय गति और रक्त ऑक्सीजन डेटा प्रदर्शित करने के लिए स्टोन STVI070WT-01 का उपयोग करूंगा। ड्राइवर चिप को डिस्प्ले स्क्रीन के अंदर एकीकृत किया गया है, और उपयोगकर्ताओं के उपयोग के लिए सॉफ्टवेयर है। उपयोगकर्ताओं को केवल डिज़ाइन किए गए UI चित्रों के माध्यम से बटन, टेक्स्ट बॉक्स और अन्य तर्क जोड़ने की आवश्यकता होती है, और फिर कॉन्फ़िगरेशन फ़ाइलें उत्पन्न करते हैं और उन्हें चलाने के लिए डिस्प्ले स्क्रीन में डाउनलोड करते हैं। STVI070WT-01 का प्रदर्शन uart-rs232 सिग्नल के माध्यम से MCU के साथ संचार करता है, जिसका अर्थ है कि हमें RS232 सिग्नल को TTL सिग्नल में बदलने के लिए MAX3232 चिप जोड़ने की आवश्यकता है, ताकि हम Arduino MCU के साथ संचार कर सकें।

चरण 8: यदि आप सुनिश्चित नहीं हैं कि MAX3232 का उपयोग कैसे करें, तो कृपया निम्नलिखित चित्रों को देखें:

यदि आप सुनिश्चित नहीं हैं कि MAX3232 का उपयोग कैसे करें, तो कृपया निम्नलिखित चित्रों को देखें
यदि आप सुनिश्चित नहीं हैं कि MAX3232 का उपयोग कैसे करें, तो कृपया निम्नलिखित चित्रों को देखें

यदि आपको लगता है कि स्तर रूपांतरण बहुत परेशानी भरा है, तो आप STONE के अन्य प्रकार के डिस्प्लेर्स चुन सकते हैं, जिनमें से कुछ सीधे uart-ttl सिग्नल को आउटपुट कर सकते हैं।

आधिकारिक वेबसाइट में विस्तृत जानकारी और परिचय है:

चरण 9: यदि आपको उपयोग करने के लिए वीडियो ट्यूटोरियल और ट्यूटोरियल की आवश्यकता है, तो आप इसे आधिकारिक वेबसाइट पर भी पा सकते हैं।

यदि आपको उपयोग करने के लिए वीडियो ट्यूटोरियल और ट्यूटोरियल की आवश्यकता है, तो आप इसे आधिकारिक वेबसाइट पर भी पा सकते हैं।
यदि आपको उपयोग करने के लिए वीडियो ट्यूटोरियल और ट्यूटोरियल की आवश्यकता है, तो आप इसे आधिकारिक वेबसाइट पर भी पा सकते हैं।

चरण 10: विकास कदम

स्टोन डिस्प्ले स्क्रीन विकास के तीन चरण:

  • STONE TOOL सॉफ़्टवेयर के साथ डिस्प्ले लॉजिक और बटन लॉजिक डिज़ाइन करें, और डिज़ाइन फ़ाइल को डिस्प्ले मॉड्यूल में डाउनलोड करें।
  • MCU सीरियल पोर्ट के माध्यम से STONE LCD डिस्प्ले मॉड्यूल के साथ संचार करता है।
  • चरण 2 में प्राप्त आंकड़ों के साथ, एमसीयू अन्य क्रियाएं करता है।

चरण 11: स्टोन टूल सॉफ्टवेयर इंस्टालेशन

स्टोन टूल सॉफ्टवेयर इंस्टालेशन
स्टोन टूल सॉफ्टवेयर इंस्टालेशन

वेबसाइट से स्टोन टूल सॉफ्टवेयर (वर्तमान में TOOL2019) का नवीनतम संस्करण डाउनलोड करें और इसे इंस्टॉल करें।

सॉफ़्टवेयर स्थापित होने के बाद, निम्न इंटरफ़ेस खोला जाएगा:

एक नया प्रोजेक्ट बनाने के लिए ऊपरी बाएँ कोने में "फ़ाइल" बटन पर क्लिक करें, जिस पर हम बाद में चर्चा करेंगे।

चरण 12: अरुडिनो

Arduino एक खुला स्रोत इलेक्ट्रॉनिक प्रोटोटाइप प्लेटफ़ॉर्म है जो उपयोग में आसान और उपयोग में आसान है। इसमें हार्डवेयर भाग (विभिन्न विकास बोर्ड जो Arduino विनिर्देश के अनुरूप हैं) और सॉफ़्टवेयर भाग (Arduino IDE और संबंधित विकास किट) शामिल हैं।

हार्डवेयर भाग (या विकास बोर्ड) में एक माइक्रोकंट्रोलर (एमसीयू), फ्लैश मेमोरी (फ्लैश), और सार्वभौमिक इनपुट/आउटपुट इंटरफेस (जीपीआईओ) का एक सेट होता है, जिसे आप माइक्रो कंप्यूटर मदरबोर्ड के रूप में सोच सकते हैं। सॉफ्टवेयर भाग मुख्य रूप से पीसी पर Arduino IDE, संबंधित बोर्ड-स्तरीय समर्थन पैकेज (BSP) और समृद्ध तृतीय-पक्ष फ़ंक्शन लाइब्रेरी से बना है। Arduino IDE के साथ, आप आसानी से अपने विकास बोर्ड से जुड़े BSP और आपको आवश्यक पुस्तकालयों को डाउनलोड कर सकते हैं। अपने कार्यक्रम लिखने के लिए। Arduino एक ओपन सोर्स प्लेटफॉर्म है। अब तक, Arduino Uno, Arduino Nano, ArduinoYun आदि सहित कई मॉडल और कई व्युत्पन्न नियंत्रक हो चुके हैं। इसके अलावा, Arduino IDE अब न केवल Arduino श्रृंखला विकास बोर्डों का समर्थन करता है, बल्कि लोकप्रिय विकास बोर्डों के लिए समर्थन भी जोड़ता है। बीएसपी की शुरुआत करके इंटेल गैलीलियो और नोडएमसीयू के रूप में।

Arduino विभिन्न प्रकार के सेंसर के माध्यम से पर्यावरण को महसूस करता है, रोशनी, मोटर्स और अन्य उपकरणों को नियंत्रित करने और पर्यावरण को प्रभावित करने के लिए। बोर्ड पर माइक्रोकंट्रोलर को एक Arduino प्रोग्रामिंग भाषा के साथ प्रोग्राम किया जा सकता है, जिसे बायनेरिज़ में संकलित किया जाता है, और माइक्रोकंट्रोलर में जलाया जाता है। प्रोग्रामिंग Arduino के लिए Arduino प्रोग्रामिंग भाषा (वायरिंग पर आधारित) और Arduino विकास पर्यावरण (प्रसंस्करण पर आधारित) के साथ लागू किया गया है। Arduino- आधारित परियोजनाओं में केवल Arduino, साथ ही Arduino और PC पर चलने वाले अन्य सॉफ़्टवेयर शामिल हो सकते हैं, और वे प्रत्येक के साथ संचार करते हैं अन्य (जैसे फ्लैश, प्रोसेसिंग, मैक्सएमएसपी)।

चरण 13: विकास पर्यावरण

विकास पर्यावरण
विकास पर्यावरण

Arduino विकास वातावरण Arduino IDE है, जिसे इंटरनेट से डाउनलोड किया जा सकता है।

Arduino की आधिकारिक वेबसाइट में लॉग इन करें और सॉफ्टवेयर डाउनलोड करें https://www.arduino.cc/en/Main/Software?setlang=c… Arduino IDE स्थापित करने के बाद, जब आप सॉफ़्टवेयर खोलते हैं तो निम्न इंटरफ़ेस दिखाई देगा:

Arduino IDE डिफ़ॉल्ट रूप से दो फ़ंक्शन बनाता है: सेटअप फ़ंक्शन और लूप फ़ंक्शन। इंटरनेट पर कई Arduino परिचय हैं। अगर आपको कुछ समझ में नहीं आता है, तो आप इसे खोजने के लिए इंटरनेट पर जा सकते हैं।

चरण 14: Arduino LCD परियोजना कार्यान्वयन प्रक्रिया

Arduino LCD परियोजना कार्यान्वयन प्रक्रिया
Arduino LCD परियोजना कार्यान्वयन प्रक्रिया

हार्डवेयर कनेक्शन

यह सुनिश्चित करने के लिए कि कोड लिखने का अगला चरण सुचारू रूप से चल रहा है, हमें पहले हार्डवेयर कनेक्शन की विश्वसनीयता का निर्धारण करना चाहिए।

इस परियोजना में केवल चार हार्डवेयर का उपयोग किया गया था:

1. अरुडिनो मिनी प्रो डेवलपमेंट बोर्ड

2. स्टोन STVI070WT-01 tft-lcd डिस्प्ले स्क्रीन

3. MAX30100 हृदय गति और रक्त ऑक्सीजन सेंसर

4. MAX3232 (rs232-> TTL) Arduino Mini Pro डेवलपमेंट बोर्ड और STVI070WT-01 TFT-LCD डिस्प्ले स्क्रीन UART के माध्यम से जुड़े हुए हैं, जिसके लिए MAX3232 के माध्यम से स्तर रूपांतरण की आवश्यकता होती है, और फिर Arduino Mini Pro डेवलपमेंट बोर्ड और MAX30100 मॉड्यूल के माध्यम से जुड़े होते हैं आईआईसी इंटरफ़ेस। स्पष्ट रूप से सोचने के बाद, हम निम्नलिखित वायरिंग चित्र बना सकते हैं:

चरण 15:

छवि
छवि

सुनिश्चित करें कि हार्डवेयर कनेक्शन में कोई त्रुटि नहीं है और अगले चरण पर आगे बढ़ें।

चरण 16: टीएफटी एलसीडी यूजर इंटरफेस डिजाइन

टीएफटी एलसीडी यूजर इंटरफेस डिजाइन
टीएफटी एलसीडी यूजर इंटरफेस डिजाइन

सबसे पहले, हमें एक यूआई डिस्प्ले इमेज डिजाइन करने की जरूरत है, जिसे फोटोशॉप या अन्य इमेज डिजाइन टूल्स द्वारा डिजाइन किया जा सकता है। UI डिस्प्ले इमेज डिजाइन करने के बाद, इमेज को-j.webp

सॉफ्टवेयर STONE TOOL2019 खोलें और एक नया प्रोजेक्ट बनाएं:

चरण 17: नई परियोजना में डिफ़ॉल्ट रूप से लोड की गई छवि को हटा दें, और हमारे द्वारा डिज़ाइन की गई UI छवि जोड़ें।

नई परियोजना में डिफ़ॉल्ट रूप से लोड की गई छवि को हटा दें, और हमारे द्वारा डिज़ाइन की गई UI छवि जोड़ें।
नई परियोजना में डिफ़ॉल्ट रूप से लोड की गई छवि को हटा दें, और हमारे द्वारा डिज़ाइन की गई UI छवि जोड़ें।

चरण 18: पाठ प्रदर्शन घटक जोड़ें

टेक्स्ट डिस्प्ले कंपोनेंट जोड़ें
टेक्स्ट डिस्प्ले कंपोनेंट जोड़ें

टेक्स्ट डिस्प्ले कंपोनेंट जोड़ें, डिस्प्ले डिजिट और डेसीमल पॉइंट डिज़ाइन करें, डिस्प्लेर में टेक्स्ट डिस्प्ले कंपोनेंट का स्टोरेज लोकेशन प्राप्त करें।

प्रभाव इस प्रकार है:

चरण 19:

पाठ प्रदर्शन घटक पता:

  • कनेक्शन स्टा: 0x0008
  • हृदय गति: 0x0001

रक्त ऑक्सीजन: 0x0005 UI इंटरफ़ेस की मुख्य सामग्री इस प्रकार है:

  • संपर्क स्थिति
  • हृदय गति प्रदर्शन
  • रक्त ऑक्सीजन दिखाया

चरण 20: कॉन्फ़िगरेशन फ़ाइल जनरेट करें

कॉन्फ़िगरेशन फ़ाइल जनरेट करें
कॉन्फ़िगरेशन फ़ाइल जनरेट करें

एक बार UI डिज़ाइन पूरा हो जाने पर, कॉन्फ़िगरेशन फ़ाइल उत्पन्न की जा सकती है और STVI070WT-01 डिस्प्ले पर डाउनलोड की जा सकती है।

सबसे पहले, चरण 1 निष्पादित करें, फिर कंप्यूटर में यूएसबी फ्लैश ड्राइव डालें, और डिस्क प्रतीक प्रदर्शित किया जाएगा। फिर यूएसबी फ्लैश ड्राइव पर कॉन्फ़िगरेशन फ़ाइल डाउनलोड करने के लिए "यू-डिस्क पर डाउनलोड करें" पर क्लिक करें, और फिर अपग्रेड को पूरा करने के लिए यूएसबी फ्लैश ड्राइव को STVI070WT-01 में डालें।

चरण 21: MAX30100

MAX30100
MAX30100

MAX30100 IIC के माध्यम से संचार करता है। इसका कार्य सिद्धांत यह है कि हृदय गति का ADC मान अवरक्त एलईडी विकिरण के माध्यम से प्राप्त किया जा सकता है। MAX30100 रजिस्टर को पांच श्रेणियों में विभाजित किया जा सकता है: राज्य रजिस्टर, फीफो, नियंत्रण रजिस्टर, तापमान रजिस्टर और आईडी रजिस्टर। तापमान रजिस्टर तापमान के कारण होने वाले विचलन को ठीक करने के लिए चिप का तापमान मान पढ़ता है। आईडी रजिस्टर चिप की आईडी संख्या पढ़ सकता है।

MAX30100 IIC संचार इंटरफेस के माध्यम से Arduino Mini Pro डेवलपमेंट बोर्ड से जुड़ा है। क्योंकि Arduino IDE में तैयार MAX30100 लाइब्रेरी फ़ाइलें हैं, हम MAX30100 के रजिस्टरों का अध्ययन किए बिना हृदय गति और रक्त ऑक्सीजन डेटा पढ़ सकते हैं। MAX30100 रजिस्टर की खोज में रुचि रखने वालों के लिए, MAX30100 डेटाशीट देखें।

चरण 22: MAX30100 IIC पुल-अप रोकनेवाला को संशोधित करें

MAX30100 IIC पुल-अप रेसिस्टर को संशोधित करें
MAX30100 IIC पुल-अप रेसिस्टर को संशोधित करें

यह ध्यान दिया जाना चाहिए कि MAX30100 मॉड्यूल के IIC पिन का 4.7k पुल-अप प्रतिरोध 1.8v से जुड़ा है, जो सिद्धांत में कोई समस्या नहीं है। हालाँकि, Arduino IIC पिन का संचार तर्क स्तर 5V है, इसलिए यह MAX30100 मॉड्यूल के हार्डवेयर को बदले बिना Arduino के साथ संचार नहीं कर सकता है। प्रत्यक्ष संचार संभव है यदि MCU STM32 या अन्य 3.3v तर्क स्तर MCU है।

इसलिए, निम्नलिखित परिवर्तन किए जाने की आवश्यकता है:

एक इलेक्ट्रिक सोल्डरिंग आयरन के साथ चित्र में चिह्नित तीन 4.7k प्रतिरोधों को हटा दें। फिर 4.7k के दो प्रतिरोधों को SDA और SCL के पिन पर VIN में वेल्ड करें, ताकि हम Arduino के साथ संचार कर सकें।

चरण 23: अरुडिनो

अरुडिनो
अरुडिनो

Arduino IDE खोलें और निम्नलिखित बटन खोजें:

चरण 24: MAX30100 के लिए दो पुस्तकालय खोजने के लिए "MAX30100" खोजें, फिर डाउनलोड और इंस्टॉल पर क्लिक करें।

निम्न को खोजें
निम्न को खोजें

चरण 25: स्थापना के बाद, आप Arduino के LIB लाइब्रेरी फ़ोल्डर में MAX30100 का डेमो पा सकते हैं:

स्थापना के बाद, आप Arduino के LIB लाइब्रेरी फ़ोल्डर में MAX30100 का डेमो पा सकते हैं
स्थापना के बाद, आप Arduino के LIB लाइब्रेरी फ़ोल्डर में MAX30100 का डेमो पा सकते हैं

चरण 26: फ़ाइल को खोलने के लिए उस पर डबल-क्लिक करें।

फ़ाइल को खोलने के लिए उस पर डबल-क्लिक करें।
फ़ाइल को खोलने के लिए उस पर डबल-क्लिक करें।

चरण 27: पूरा कोड इस प्रकार है:

इस डेमो का सीधे परीक्षण किया जा सकता है। यदि हार्डवेयर कनेक्शन ठीक है, तो आप कोड संकलन को Arduibo विकास बोर्ड में डाउनलोड कर सकते हैं और सीरियल डिबगिंग टूल में MAX30100 का डेटा देख सकते हैं।

पूरा कोड इस प्रकार है:

/* Arduino-MAX30100 ऑक्सीमेट्री / हृदय गति एकीकृत सेंसर लाइब्रेरी कॉपीराइट (C) 2016 OXullo Intersecans यह प्रोग्राम मुफ्त सॉफ्टवेयर है: आप इसे फ्री सॉफ्टवेयर फाउंडेशन द्वारा प्रकाशित GNU जनरल पब्लिक लाइसेंस की शर्तों के तहत पुनर्वितरित और/या संशोधित कर सकते हैं।, या तो लाइसेंस का संस्करण ३, या (आपके विकल्प पर) कोई बाद का संस्करण। यह कार्यक्रम इस उम्मीद में वितरित किया जाता है कि यह उपयोगी होगा, लेकिन बिना किसी वारंटी के; यहां तक कि किसी विशेष उद्देश्य के लिए व्यापारिकता या उपयुक्तता की निहित वारंटी के बिना भी। अधिक विवरण के लिए जीएनयू जनरल पब्लिक लाइसेंस देखें। आपको इस कार्यक्रम के साथ जीएनयू जनरल पब्लिक लाइसेंस की एक प्रति प्राप्त होनी चाहिए। अगर नहीं तो देखें। */ #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 // PulseOximeter सेंसर का उच्च स्तरीय इंटरफेस है // यह ऑफर करता है: // * बीट डिटेक्शन रिपोर्टिंग // * हार्ट रेट कैलकुलेशन // * SpO2 (ऑक्सीडेशन लेवल)) गणना PulseOximeter पॉक्स; uint32_t tsLastReport = 0; // कॉलबैक (नीचे पंजीकृत) को निकाल दिया जाता है जब बीटडिटेक्टेड () पर एक पल्स का पता लगाया जाता है {Serial.println ("बीट!"); } शून्य सेटअप () {Serial.begin(११५२००); Serial.print ("पल्स ऑक्सीमीटर प्रारंभ करना.."); // PulseOximeter उदाहरण को प्रारंभ करें // विफलताएं आमतौर पर एक अनुचित I2C वायरिंग, अनुपलब्ध बिजली आपूर्ति // या गलत लक्ष्य चिप के कारण होती हैं यदि (! pox.begin ()) { Serial.println ("FAILED"); के लिये(;;); } और { Serial.println ("सफलता"); } // IR LED के लिए डिफॉल्ट करंट 50mA है और इसे निम्न लाइन को अनकम्मेंट करके // बदला जा सकता है। सभी // उपलब्ध विकल्पों के लिए MAX30100_Registers.h देखें। // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // बीट डिटेक्शन पॉक्स के लिए कॉलबैक रजिस्टर करें। सेटऑनबीटडिटेक्टेड कॉलबैक (ऑनबीटडिटेक्टेड); } शून्य लूप () {// जितनी जल्दी हो सके अपडेट को कॉल करना सुनिश्चित करें pox.update (); // अतुल्यकालिक रूप से धारावाहिक में हृदय गति और ऑक्सीकरण स्तर को डंप करें // दोनों के लिए, 0 के मान का अर्थ है "अमान्य" यदि (मिलिस () - tsLastReport> REPORTING_PERIOD_MS) { Serial.print ("हृदय गति:"); सीरियल.प्रिंट (pox.getHeartRate ()); सीरियल.प्रिंट ("बीपीएम / एसपीओ 2:"); सीरियल.प्रिंट (pox.getSpO2 ()); सीरियल.प्रिंट्लन ("%"); tsLastReport = मिली (); } }

चरण 28:

छवि
छवि

यह कोड बहुत सरल है, मेरा मानना है कि आप इसे एक नज़र में समझ सकते हैं। मेरा कहना है कि Arduino की मॉड्यूलर प्रोग्रामिंग बहुत सुविधाजनक है, और मुझे यह समझने की भी आवश्यकता नहीं है कि Uart और IIC के ड्राइवर कोड को कैसे लागू किया जाता है।

बेशक, उपरोक्त कोड एक आधिकारिक डेमो है, और मुझे अभी भी STONE के डिस्प्लेर में डेटा प्रदर्शित करने के लिए कुछ बदलाव करने की आवश्यकता है।

चरण 29: Arduino के माध्यम से STONE डिस्प्लेर को डेटा प्रदर्शित करें

सबसे पहले, हमें उस घटक का पता प्राप्त करने की आवश्यकता है जो STONE के डिस्प्लेर में हृदय गति और रक्त ऑक्सीजन डेटा प्रदर्शित करता है:

मेरी परियोजना में, पता इस प्रकार है: हृदय गति प्रदर्शन घटक पता: 0x0001 रक्त ऑक्सीजन डिस्प्ले मॉड्यूल का पता: 0x0005 सेंसर कनेक्शन स्थिति पता: 0x0008 यदि आपको संबंधित स्थान में प्रदर्शन सामग्री को बदलने की आवश्यकता है, तो आप प्रदर्शन सामग्री को बदल सकते हैं Arduino के सीरियल पोर्ट के माध्यम से डिस्प्ले स्क्रीन के संबंधित पते पर डेटा भेजकर।

चरण 30: संशोधित कोड इस प्रकार है:

/* Arduino-MAX30100 ऑक्सीमेट्री / हार्ट रेट इंटीग्रेटेड सेंसर लाइब्रेरी कॉपीराइट (C) 2016 OXullo Intersecans यह प्रोग्राम मुफ्त सॉफ्टवेयर है: आप इसे फ्री सॉफ्टवेयर फाउंडेशन द्वारा प्रकाशित GNU जनरल पब्लिक लाइसेंस की शर्तों के तहत पुनर्वितरित और/या संशोधित कर सकते हैं।, या तो लाइसेंस का संस्करण 3, या (आपके विकल्प पर) कोई बाद का संस्करण। यह कार्यक्रम इस उम्मीद में वितरित किया जाता है कि यह उपयोगी होगा, लेकिन बिना किसी वारंटी के; यहां तक कि किसी विशेष उद्देश्य के लिए व्यापारिकता या उपयुक्तता की निहित वारंटी के बिना भी। अधिक विवरण के लिए जीएनयू जनरल पब्लिक लाइसेंस देखें। आपको इस कार्यक्रम के साथ जीएनयू जनरल पब्लिक लाइसेंस की एक प्रति प्राप्त होनी चाहिए। अगर नहीं तो देखें। */ #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 #define Heart_dis_addr 0x01 #define Sop2_dis_addr 0x05 #defineconnect_sta_addr 0x08 unsigned char Heart_rate_send[8]= {0xA, 0x05, 0x,dis 0x00}; अहस्ताक्षरित चार Sop2_send[8]= {0xA5, 0x5A, 0x05, 0x82, 0x00, / Sop2_dis_addr, 0x00, 0x00}; अहस्ताक्षरित चार Connect_sta_send[8]={0xA5, 0x5A, 0x05, 0x82, 0x00, / Connect_sta_addr, 0x00, 0x00}; // PulseOximeter सेंसर के लिए उच्च स्तरीय इंटरफ़ेस है // यह प्रदान करता है: // * बीट डिटेक्शन रिपोर्टिंग // * हृदय गति गणना // * SpO2 (ऑक्सीकरण स्तर) गणना PulseOximeter pox; uint32_t tsLastReport = 0; // कॉलबैक (नीचे पंजीकृत) को निकाल दिया जाता है जब बीटडिटेक्टेड () पर एक पल्स का पता लगाया जाता है {// Serial.println ("बीट!"); } शून्य सेटअप () {Serial.begin(११५२००); // सीरियल.प्रिंट ("पल्स ऑक्सीमीटर को इनिशियलाइज़ करना.."); // PulseOximeter उदाहरण को प्रारंभ करें // विफलताएं आम तौर पर एक अनुचित I2C वायरिंग, अनुपलब्ध बिजली आपूर्ति // या गलत लक्ष्य चिप के कारण होती हैं यदि (! pox.begin ()) {// Serial.println ("FAILED"); // कनेक्ट_स्टा_सेंड [7] = 0x00; // सीरियल.राइट (connect_sta_send, 8); के लिये(;;); } और {connect_sta_send[7]=0x01; सीरियल.राइट (कनेक्ट_स्टा_सेंड, 8); // सीरियल.प्रिंट्लन ("सफलता"); } // IR LED के लिए डिफॉल्ट करंट 50mA है और इसे निम्न लाइन को अनकम्मेंट करके // बदला जा सकता है। सभी // उपलब्ध विकल्पों के लिए MAX30100_Registers.h देखें।pox.setIRLEdCurrent (MAX30100_LED_CURR_7_6MA); // बीट डिटेक्शन पॉक्स के लिए कॉलबैक रजिस्टर करें। सेटऑनबीटडिटेक्टेड कॉलबैक (ऑनबीटडिटेक्टेड); } शून्य लूप () {// जितनी जल्दी हो सके अपडेट को कॉल करना सुनिश्चित करें pox.update (); // एसिंक्रोनस रूप से सीरियल में हृदय गति और ऑक्सीकरण स्तर को डंप करें // दोनों के लिए, 0 के मान का अर्थ है "अमान्य" यदि (मिली () - tsLastReport> REPORTING_PERIOD_MS) {// Serial.print ("हृदय गति:"); // सीरियल.प्रिंट (pox.getHeartRate ()); // सीरियल.प्रिंट ("बीपीएम / एसपीओ 2:"); // सीरियल.प्रिंट (pox.getSpO2 ()); // सीरियल.प्रिंट्लन ("%"); Heart_rate_send[7]=(uint32_t)pox.getHeartRate(); सीरियल.राइट (हार्ट_रेट_सेंड, 8); Sop2_send[7]=pox.getSpO2(); सीरियल.राइट (Sop2_send, 8); tsLastReport = मिली (); } }

चरण 31: एलसीडी पर Arduino के साथ हृदय गति प्रदर्शित करें

Arduino के साथ LCD पर हृदय गति प्रदर्शित करें
Arduino के साथ LCD पर हृदय गति प्रदर्शित करें

कोड संकलित करें, इसे Arduino डेवलपमेंट बोर्ड में डाउनलोड करें, और आप परीक्षण शुरू करने के लिए तैयार हैं।

हम देख सकते हैं कि जब उंगलियां MAX30100 से बाहर निकलती हैं, तो हृदय गति और रक्त ऑक्सीजन 0 प्रदर्शित होता है। अपनी हृदय गति और रक्त ऑक्सीजन के स्तर को रीयल-टाइम में देखने के लिए अपनी अंगुली को MAX30100 कलेक्टर पर रखें।

प्रभाव निम्न चित्र में देखा जा सकता है:

सिफारिश की: