- आवश्यक घटक
- Arduino के साथ MAX30205 - सर्किट आरेख
- मैक्स 30205 बॉडी टेम्परेचर सेंसर के साथ इंटरड्यूसिंग अर्डिनो
- Arduino के साथ MAX30205 प्रोग्रामिंग
- Arduino शरीर का तापमान मीटर - परीक्षण
चिकित्सा या नैदानिक अनुप्रयोगों के लिए, किसी भी व्यक्ति की स्वास्थ्य स्थिति को निर्धारित करने के लिए मानव शरीर के तापमान को मापना एक महत्वपूर्ण पैरामीटर है। हालांकि, तापमान को महसूस करने के बहुत सारे तरीके हैं लेकिन नैदानिक थर्मोमेट्री विनिर्देशों को पूरा करने के लिए सब कुछ सटीकता नहीं है। MAX30205 तापमान संवेदक विशेष रूप से इस एप्लिकेशन के लिए डिज़ाइन किया गया है। ध्यान दें कि यह सेंसर एक संपर्क रहित तापमान सेंसर नहीं है, यदि आप एक संपर्क रहित आईआर तापमान माप की तलाश कर रहे हैं, तो एमएलएक्स 90614 थर्मामीटर देखें जो हमने पहले डिज़ाइन किया था।
इस परियोजना में, हम एक MAX30205 मानव शरीर के तापमान संवेदक को इंटरफ़ेस करेंगे जो आसानी से एक फिटनेस बैंड के साथ हस्तक्षेप किया जा सकता है या चिकित्सा प्रयोजनों के लिए उपयोग किया जा सकता है। हम Arduino नैनो को मुख्य माइक्रो-कंट्रोलर यूनिट के रूप में उपयोग करेंगे और फारेनहाइट में सेंसर्ड तापमान दिखाने के लिए 7-सेगमेंट डिस्प्ले का भी उपयोग करेंगे। एक बार जब आप सेंसर का उपयोग करना जानते हैं, तो आप इसे किसी भी पसंदीदा एप्लिकेशन का उपयोग कर सकते हैं, आप इस Arduino Smartwatch प्रोजेक्ट को भी देख सकते हैं, जिसे MAX30205 के साथ मिलाकर व्यक्तियों के तापमान की निगरानी के लिए उपयोग किया जा सकता है।
आवश्यक घटक
- अरुडिनो नैनो
- 7-सेग सामान्य कैथोड प्रदर्शित करता है - 3 पीसी
- 74HC595 - 3 पीसी
- 680R अवरोधक - 24 पीसी
- MAX30205 मॉड्यूल बोर्ड
- 5 वी बिजली की आपूर्ति
- ब्रेड बोर्ड
- हुक अप तारों के बहुत सारे
- Arduino IDE
- एक माइक्रो-यूएसबी केबल
Arduino के साथ MAX30205 - सर्किट आरेख
Arduino को शरीर के तापमान संवेदक MAX30205 से जोड़ने के लिए पूरा सर्किट आरेख नीचे दिखाया गया है। सर्किट बहुत सरल है, लेकिन चूंकि हमने 7-सेगमेंट डिस्प्ले का उपयोग किया है, इसलिए यह थोड़ा जटिल है। Arduino के साथ 7-सेगमेंट डिस्प्ले आपके मूल्य को बहुत कम लागत के साथ बड़ा और उज्ज्वल प्रदर्शित करने का एक शानदार तरीका है। लेकिन अगर आप चाहें तो इन मूल्यों को OLED या एलसीडी पर भी प्रदर्शित कर सकते हैं।
Arduino नैनो तीन 74HC595 के साथ जुड़ा हुआ है। तीन 7-सेग डिस्प्ले को जोड़ने के लिए Arduino नैनो से अतिरिक्त आउटपुट पिन को बचाने के लिए तीन 74HC595 को एक साथ कैस्केड किया गया है। हमने पहले कुछ अन्य परियोजनाओं जैसे कि Arduino Clock, LED Board Display, Arduino snake game आदि जैसी कई अन्य परियोजनाओं में Arduino के साथ 74HC595 का उपयोग किया है।
MAX30205 मॉड्यूल बोर्ड को I2C प्रोटोकॉल के साथ संचार करने के बाद से अतिरिक्त पुल-अप प्रतिरोधों की आवश्यकता होती है । हालांकि, कुछ मॉड्यूल बोर्डों को अतिरिक्त पुलअप की आवश्यकता नहीं होती है क्योंकि पुल-अप प्रतिरोधों को पहले से ही मॉड्यूल के अंदर दिया जाता है। इसलिए, इस बात की पुष्टि करने की आवश्यकता है कि क्या मॉड्यूल बोर्ड में आंतरिक पुल-अप प्रतिरोध है या इसके अतिरिक्त बाहरी पुल की आवश्यकता है। इस प्रोजेक्ट में जिस बोर्ड का इस्तेमाल किया जाता है, उसमें पहले से ही मॉड्यूल बोर्ड के अंदर इनबिल्ट पुल-अप रेसिस्टर्स होते हैं।
मैक्स 30205 बॉडी टेम्परेचर सेंसर के साथ इंटरड्यूसिंग अर्डिनो
यहाँ पर प्रयोग किया जाने वाला सेंसर मैक्सिम इंटीग्रेटेड से MAX30205 है। MAX30205 तापमान संवेदक 0.1 ° C सटीकता (37 ° C से 39 ° C) के साथ तापमान को सटीक रूप से मापता है । सेंसर I2C प्रोटोकॉल के साथ काम करता है।
मॉड्यूल बोर्ड 5 या 3.3V के साथ काम कर सकता है। हालांकि, बोर्ड को 5V ऑपरेटिंग वोल्टेज के साथ उपयोग करने के लिए कॉन्फ़िगर किया गया है। इसमें तर्क स्तर शिफ्टर भी शामिल है, क्योंकि सेंसर स्वयं अधिकतम 3.3V को शक्ति या डेटा संचार से संबंधित उद्देश्यों के रूप में समर्थन करता है।
आउटपुट पर, तीन 74HC595, 8-बिट शिफ्ट रजिस्टर को Arduino NANO के साथ तीन 7-सेगमेंट डिस्प्ले को इंटरफ़ेस करने के लिए उपयोग किया जाता है। पिन चित्र नीचे चित्र में दिखाया जा सकता है-
74HC595 का पिन विवरण नीचे दी गई तालिका में देखा जा सकता है-
क्यूए से क्यूएच डेटा आउटपुट पिन हैं जो 7-सेग डिस्प्ले के साथ जुड़े हुए हैं। चूंकि तीन 74HC595 को एक साथ कैस्केड किया जाता है, इसलिए पहली शिफ्ट रजिस्टर के डेटा इनपुट पिन (पिन 14) को Arduino NANO के साथ जोड़ा जाएगा और सीरियल डेटा आउटपुट पिन अगली शिफ्ट रजिस्टर को डेटा प्रदान करेगा। यह सीरियल डेटा कनेक्शन तीसरे 74HC595 तक जारी रहेगा।
Arduino के साथ MAX30205 प्रोग्रामिंग
इस ट्यूटोरियल का पूरा प्रोग्राम इस पेज के नीचे पाया जा सकता है। इस कोड की व्याख्या इस प्रकार है। सबसे पहले, हम मानक Arduino I2C लाइब्रेरी हेडर फ़ाइल शामिल करते हैं।
#शामिल
उपरोक्त लाइन में अरुद्दीन योगदान लाइब्रेरी से प्रोटॉस्ट्रल शामिल होंगे। इस लाइब्रेरी में MAX30205 सेंसर के साथ संचार करने के लिए महत्वपूर्ण कार्य हैं। पुस्तकालय नीचे GitHub लिंक से लिया गया है-
https://github.com/protocentral/ProtoCentral_MAX30205
लाइब्रेरी आयात करने के बाद, हम MAX30205 ऑब्जेक्ट डेटा को परिभाषित करते हैं जैसा कि नीचे दिखाया गया है-
#include "Protocentral_MAX30205.h" MAX30205 tempSensor;
पैरामीटर सेट करने के लिए अगली दो लाइनें महत्वपूर्ण हैं। नीचे की रेखा सही होने पर फ़ारेनहाइट में तापमान प्रदान करेगी। सेल्सियस में परिणाम दिखाने के लिए, लाइन को गलत सेट करना होगा।
const bool fahrenheittemp = true; // मैं फारेनहाइट में तापमान दिखा रहा हूं, यदि आप सेल्सियस में तापमान दिखाना चाहते हैं तो इस चर को झूठा बना दें।
यदि हार्डवेयर में सामान्य कैथोड प्रकार 7-खंड डिस्प्ले का उपयोग किया जा रहा है, तो नीचे की पंक्ति को कॉन्फ़िगर करने की आवश्यकता है। यदि आम एनोड का उपयोग किया जाता है, तो इसे गलत बनाएं।
const बूल commonCathode = true; // मैं सामान्य कैथोड 7 का उपयोग कर रहा हूं यदि आप आम एनोड का उपयोग करते हैं तो मूल्य को झूठ में बदल दें। const बाइट digit_pattern = {// te४ एचसी ५pin५ ५ आउटपिन कनेक्शन विथ displayसेसे डिस्प्ले। // Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 // abcdefg DP 0b11111100, // 0 0b01100000, // 1 0b11011010, // 2 0b11110010, // 3 0b011110010, // 4 0b10110110, // 5 0b10111110, // 6 0b11100000, // 7 0b11111110, // 8 0b11110110, // 9 0b11101110, // A 0b00111110, // b 0b00011010, // C 0b01111010, // d 0b1111110, // E 0b10001110, // F 0b00000001 //। };
7-सेगमेंट डिस्प्ले के लिए अंक पैटर्न को स्टोर करने के लिए उपरोक्त सरणी का उपयोग किया जाता है।
सेटअप फ़ंक्शन में, 74HC595 पिन के पिन मोड सेट करने के बाद, I2C प्रोटोकॉल और तापमान सेंसर रीडिंग को इनिशियलाइज़ किया जाता है।
शून्य सेटअप () {// अपना सेटअप कोड यहां रखें, एक बार चलाने के लिए: // सीरियल पोर्ट को 9600 Serial.begin (9600) पर सेट करें; देरी (1000); // आउटपुट पिनकोड (latchPin, OUTPUT) के रूप में 74HC595 कंट्रोल पिन सेट करें; // STHCC की 74HC595 पिनकोड (clkPin, OUTPUT); // 74HC595 पिनमोड का SH_CP (dtPin, OUTPUT); // 74HC595 का DS / I2C लिबास वायर.begin () को इनिशियलाइज़ करें; // प्रारंभ मैक्स 30205 तापमान निरंतर मोड में पढ़ा, सक्रिय मोड tempSensor.begin (); }
लूप में, तापमान फ़ंक्शन tempSensor.getTENS () द्वारा पढ़ा जा रहा है और अस्थायी अस्थायी अस्थायी के रूप में संग्रहीत किया जाता है । उसके बाद, यदि फ़ारेनहाइट तापमान मोड का चयन किया जाता है, तो डेटा सेल्सियस से फ़ारेनहाइट में बदल दिया जाता है। फिर, परिवर्तित संवेदन तापमान डेटा से तीन अंक तीन व्यक्तिगत अंकों में और अलग हो जाते हैं। ऐसा करने के लिए, कोड की नीचे की पंक्तियों का उपयोग किया जाता है-
// वर्तमान तापमान से 3 अंको का भाग (जैसे कि अस्थायी = 31.23c), int dispDigit1 = (int) अस्थायी / 10; // digit1 3 int dispDigit2 = (int) अस्थायी 10%; // digit2 1 int dispDigit3 = (अस्थायी * 10) - ((int) अस्थायी * 10); // अंक 3 2
अब, अलग किए गए तीन अंकों को 74HC595 शिफ्ट रजिस्टर का उपयोग करके 7-सेगमेंट डिस्प्ले में भेजा जाता है। चूंकि एलएसबी पहली बार तीसरे 7-खंड प्रदर्शन में तीसरे 74HC595 के माध्यम से दिखाया गया था, इसलिए 3 अंक पहले प्रसारित किया गया है। ऐसा करने के लिए, लैच किए गए पिन को कम खींचा जाता है और फ़ंक्शन शिफ्टओट () द्वारा डेटा को 74HC595 पर सबमिट किया जाता है ;
इसी तरह, शेष दूसरे और पहले अंक भी संबंधित 74HC595 को भेजे जाते हैं, इस प्रकार शेष दो 7-खंड प्रदर्शित होते हैं। सभी डेटा भेजने के बाद, डेटा ट्रांसमिशन के अंत की पुष्टि करने के लिए कुंडी पिन जारी किया जाता है और उच्च खींचा जाता है। संबंधित कोड नीचे देखे जा सकते हैं -
// डिसप्ले अंक 3, 7 डिसप्ले डिस्प्ले में। digitalWrite (latchPin, LOW); if (commonCathode == true) {shiftOut (dtPin, clkPin, LSBFIRST, digit_pattern); shiftOut (dtPin, clkPin, LSBFIRST, digit_pattern-digit_pattern); // 1. (डिजिट + डीपी) शिफ्टऑट (dtPin, clkPin, LSBFIRST, digit_pattern); } और {शिफ्टऑट (dtPin, clkPin, LSBFIRST, ~ (digit_pattern)); shiftOut (dtPin, clkPin, LSBFIRST, ~ (digit_pattern-digit_pattern)); // 1. (डिजिट + डीपी) शिफ्टऑट (dtPin, clkPin, LSBFIRST, ~ (digit_pattern)); } digitalWrite (latchPin, HIGH);
Arduino शरीर का तापमान मीटर - परीक्षण
सर्किट का निर्माण दो सेट ब्रेडबोर्ड में होता है जैसा कि आप नीचे देख सकते हैं। जब हम उंगली को सेंसर पर रखते हैं, तो तापमान को महसूस किया जाता है और आउटपुट को 7 सेगमेंट डिस्प्ले में दिखाया जाता है, यहाँ मूल्य 92.1 / F है।
परियोजना का पूरा काम नीचे दिए गए वीडियो में पाया जा सकता है। आशा है कि आपने परियोजना के निर्माण का आनंद लिया और कुछ उपयोगी सीखा। यदि आपके कोई प्रश्न हैं, तो उन्हें नीचे टिप्पणी अनुभाग में छोड़ दें या हमारे मंचों का उपयोग करें।