- अवयव आवश्यक
- ADXL335 एक्सेलेरोमीटर
- सर्किट आरेख
- पेडोमीटर कैसे काम करता है?
- Arduino स्टेप काउंटर प्रोग्रामिंग
- Arduino Pedometer का परीक्षण
फिटनेस बैंड आजकल बहुत लोकप्रिय हो रहे हैं, जो न केवल नक्शेकदम को गिनता है, बल्कि आपके कैलोरी को जलाता है, दिल की धड़कन की दर को प्रदर्शित करता है, शोटाइम और भी बहुत कुछ। और ये IoT डिवाइस क्लाउड के साथ सिंक किए जाते हैं ताकि आप स्मार्टफोन पर अपनी शारीरिक गतिविधि के सभी इतिहास को आसानी से प्राप्त कर सकें। हमने एक IoT आधारित रोगी निगरानी प्रणाली भी बनाई है, जहाँ से महत्वपूर्ण डेटा को कहीं से भी मॉनिटर करने के लिए ThingSpeak को भेजा गया है।
पेडोमीटर वे उपकरण हैं जिनका उपयोग केवल पदचिन्हों को गिनने के लिए किया जाता है। तो इस ट्यूटोरियल में, हम Arduino और एक्सेलेरोमीटर का उपयोग करके एक आसान और सस्ता DIY Pedometer बनाने जा रहे हैं । यह पेडोमीटर पैरों की संख्या की गणना करेगा और उन्हें 16x2 एलसीडी मॉड्यूल पर प्रदर्शित करेगा। इस पेडोमीटर को इस Arduino स्मार्ट वॉच के साथ एकीकृत किया जा सकता है।
अवयव आवश्यक
- अरुडिनो नैनो
- ADXL 335 एक्सेलेरोमीटर
- 16 * 2 एलसीडी
- एलसीडी I2C मॉड्यूल
- बैटरी
ADXL335 एक्सेलेरोमीटर
ADXL335 एक पूर्ण 3-अक्ष एनालॉग एक्सेलेरोमीटर है, और यह कैपेसिटिव सेंसिंग के सिद्धांत पर काम करता है। यह एक छोटे, पतले, कम शक्ति वाले मॉड्यूल के साथ एक पॉलीसिलिकॉन सरफेस-माइक्रो मशीन सेंसर और सिग्नल कंडीशनिंग सर्किट्री है। ADXL335 एक्सेलेरोमीटर स्थैतिक के साथ-साथ गतिशील त्वरण को माप सकता है। यहाँ इस Arduino Pedometer परियोजना में, ADXL335 accelerometer एक रूप में कार्य करेगा Pedometer सेंसर ।
एक Accelerometer एक उपकरण है जो अपने संबंधित चर वोल्टेज के किसी भी दिशा में त्वरण में बदल सकते हैं है। यह कैपेसिटर (संदर्भ छवि) का उपयोग करके पूरा किया जाता है, चूंकि एक्सेल चलता है, इसके अंदर मौजूद संधारित्र, आंदोलन के आधार पर परिवर्तन (संदर्भ छवि) से भी गुजरेंगे, क्योंकि समाई विविध है, एक चर वोल्टेज भी प्राप्त किया जा सकता है।
नीचे पिन और विवरण के साथ आगे और पीछे की तरफ से एक्सेलेरोमीटर के लिए चित्र दिए गए हैं-
एक्सीलरोमीटर का पिन विवरण:
- Vcc- 5 वोल्ट सप्लाई इस पिन पर कनेक्ट होनी चाहिए।
- एक्स-आउट- यह पिन एक्स डायरेक्शन में एनालॉग आउटपुट देता है
- Y-OUT- यह पिन y डायरेक्शन में एनालॉग आउटपुट देता है
- Z-OUT- यह पिन z दिशा में एक एनालॉग आउटपुट देता है
- GND- ग्राउंड
- ST- यह पिन सेंसर की सेट संवेदनशीलता के लिए उपयोग किया जाता है
हम एक्सेलेरोमीटर ADXL335 का उपयोग करके कई परियोजनाओं का निर्माण करते हैं जिसमें जेस्चर नियंत्रित रोबोट, भूकंप डिटेक्टर अलार्म, पिंग पॉज़ गेम, आदि शामिल हैं।
सर्किट आरेख
Arduino Accelerometer Step काउंटर के लिए सर्किट आरेख नीचे दिया गया है।
इस सर्किट में, हम ADXL335 एक्सेलेरोमीटर के साथ Arduino नैनो के साथ हस्तक्षेप कर रहे हैं । एक्सलरोमीटर के X, Y और Z पिन, Arduino Nano के एनालॉग पिंस (A1, A2 & A3) से जुड़े हैं। Arduino के साथ 16x2 एलसीडी मॉड्यूल को इंटरफ़ेस करने के लिए, हम I2C मॉड्यूल का उपयोग कर रहे हैं। I2C मॉड्यूल के SCL और SDA पिन क्रमशः Arduino नैनो के A5 और A4 पिन से जुड़े होते हैं। नीचे दिए गए तालिका में पूर्ण कनेक्शन दिए गए हैं:
अरुडिनो नैनो | ADXL335 |
3.3 | वीसीसी |
GND | GND |
ए 1 | एक्स |
ए 2 | य |
ए 3 | जेड |
अरुडिनो नैनो | एलसीडी I2C मॉड्यूल |
5 वी | वीसीसी |
GND | GND |
ए 4 | एसडीए |
A5 | एससीएल |
हमने पहली बार इस पेडोमीटर को ब्रेडबोर्ड पर Arduino सेटअप का उपयोग करके बनाया है
और सफल परीक्षण के बाद हमने इसे परफ़ॉर्मबोर्ड पर सभी घटकों को मिलाते हुए परफ़ॉर्मबोर्ड पर दोहराया गया जैसा कि नीचे दिखाया गया है:
पेडोमीटर कैसे काम करता है?
एक पेडोमीटर गति के तीन घटकों का उपयोग करके किसी व्यक्ति द्वारा उठाए गए कदमों की कुल संख्या की गणना करता है जो आगे, ऊर्ध्वाधर, और साइड हैं। इन मूल्यों को प्राप्त करने के लिए पीडोमीटर प्रणाली एक्सीलेरोमीटर का उपयोग करती है। एक्सेलेरोमीटर लगातार 3-अक्ष त्वरण के अधिकतम और न्यूनतम मूल्यों को हर परिभाषित नं के बाद लगातार अपडेट करता है। नमूनों की। इन 3-अक्ष (मैक्स + मिन) / 2 के औसत मूल्य को गतिशील थ्रेशोल्ड स्तर कहा जाता है, और इस दहलीज मूल्य का उपयोग यह तय करने के लिए किया जाता है कि क्या कदम उठाया गया है या नहीं।
दौड़ते समय, पेडोमीटर किसी भी अभिविन्यास में हो सकता है, इसलिए पेडोमीटर उस अक्ष का उपयोग करके चरणों की गणना करता है जिसका त्वरण परिवर्तन सबसे बड़ा है।
अब मैं आपको इस Arduino Pedometer के काम का एक त्वरित पूर्वाभ्यास देता हूं:
- सबसे पहले पीडोमीटर संचालित होते ही कैलिब्रेशन शुरू कर देता है।
- फिर शून्य लूप फ़ंक्शन में, यह लगातार एक्स, वाई और जेड-अक्ष से डेटा प्राप्त करता है।
- उसके बाद, यह शुरुआती बिंदु से कुल त्वरण वेक्टर की गणना करता है।
- त्वरण वेक्टर X, Y और Z- अक्ष मानों का वर्गमूल (x ^ 2 + y ^ 2 + z ^ 2) है।
- फिर यह चरण संख्या की गणना करने के लिए थ्रेशोल्ड मूल्यों के साथ औसत त्वरण मूल्यों की तुलना करता है।
- यदि त्वरण वेक्टर थ्रेशोल्ड मान को पार करता है, तो यह स्टेप काउंट को बढ़ाता है; अन्यथा, यह अमान्य कंपन को छोड़ देता है।
Arduino स्टेप काउंटर प्रोग्रामिंग
इस दस्तावेज़ के अंत में पूरा Arduino Step काउंटर कोड दिया गया है। यहां हम इस कोड के कुछ महत्वपूर्ण स्निपेट्स बता रहे हैं।
हमेशा की तरह, सभी आवश्यक पुस्तकालयों को शामिल करके कोड शुरू करें। ADXL335 एक्सेलेरोमीटर को किसी भी लाइब्रेरी की आवश्यकता नहीं है क्योंकि यह एक एनालॉग आउटपुट देता है।
#शामिल
उसके बाद, Arduino पिंस को परिभाषित करें, जहां एक्सेलेरोमीटर जुड़ा हुआ है।
const int xpin = A1; const int ypin = A2; const int zpin = A3;
एक्सेलेरोमीटर के लिए थ्रेशोल्ड मान को परिभाषित करें। चरणों की संख्या की गणना करने के लिए त्वरण वेक्टर के साथ इस सीमा मूल्य की तुलना की जाएगी।
फ्लोट थ्रेश = 6;
शून्य सेटअप के अंदर, फ़ंक्शन संचालित होने पर सिस्टम को कैलिब्रेट करता है।
जांचना ();
शून्य लूप फ़ंक्शन के अंदर, यह 100 नमूनों के लिए एक्स, वाई और जेड-अक्ष मूल्यों को पढ़ेगा।
for (int a = 0; a <100; a ++) {xaccl = float (analogRead (xpin) - 445); देरी (1); yaccl = float (analogRead (ypin) - 346); देरी (1); zaccl = float (analogRead (zpin) - 416); देरी (1);
3-अक्ष मान प्राप्त करने के बाद, X, Y और Z- अक्ष मानों के वर्गमूल को ले कर कुल त्वरण वेक्टर की गणना करें।
totvect = sqrt (((xaccl - xavg) * (xaccl - xavg)) + ((yaccl - yavg) * (yaccl - yavg)) + ((zval - zavg) * (zval - zavg)));
फिर अधिकतम और न्यूनतम त्वरण वेक्टर मूल्यों के औसत की गणना करें।
totave = (totvect + totvect) / 2;
अब दहलीज के साथ औसत त्वरण की तुलना करें। यदि औसत थ्रेशोल्ड से अधिक है, तो स्टेप काउंट बढ़ाएं और झंडा बढ़ाएं।
if (कुलदेवता> दहलीज && ध्वज == 0) {चरण = चरण + 1; झंडा = 1; }
यदि औसत सीमा से अधिक है, लेकिन झंडा उठाया गया है, तो कुछ भी न करें।
और अगर (कुलदेवता> दहलीज और झंडा == 1) {// मत गिनो}
यदि कुल औसत थ्रेशोल्ड से कम है और झंडा उठाया गया है, तो ध्वज को नीचे रखें।
if (टोटेव <थ्रेशोल्ड && फ्लैग == 1) {फ्लैग = 0; }
सीरियल मॉनिटर और एलसीडी पर चरणों की संख्या प्रिंट करें।
Serial.println (चरण); lcd.print ("चरण:"); lcd.print (चरण);
Arduino Pedometer का परीक्षण
एक बार आपका हार्डवेयर और कोड तैयार हो जाने के बाद, Arduino को लैपटॉप से कनेक्ट करें और कोड अपलोड करें। अब पेडोमीटर सेटअप को अपने हाथों में लें और कदम से कदम मिलाकर चलना शुरू करें, इसे एलसीडी पर चरणों की संख्या प्रदर्शित करनी चाहिए। कभी-कभी यह कदमों की संख्या को बढ़ाता है जब पेडोमीटर बहुत तेजी से या बहुत धीरे से कंपन करता है।
ADXL335 पेडोमीटर Arduino के लिए पूर्ण कार्य वीडियो और कोड नीचे दिए गए हैं।