- Arduino वजन स्केल बनाने के लिए आवश्यक घटक:
- लोड सेल और HX711 वजन सेंसर मॉड्यूल:
- सर्किट स्पष्टीकरण:
- कार्य स्पष्टीकरण:
- Arduino वजनी स्केल कोड:
आज हम Arduino के साथ लोड सेल और HX711 वेट सेंसर को इंटर करके एक Arduino वाइट मशीन बनाने जा रहे हैं । हमने कई दुकानों पर वेट मशीनें देखी हैं, जहां मशीन वेटिंग प्लेटफॉर्म पर एक आइटम रखकर वजन प्रदर्शित करती है। इसलिए यहाँ हम Arduino और Load cells का उपयोग करके एक ही वज़न मशीन का निर्माण कर रहे हैं, जिसकी क्षमता 40kg तक है। उच्च क्षमता के लोड सेल का उपयोग करके इस सीमा को और बढ़ाया जा सकता है।
इस Arduino वजन पैमाने को बनाने के लिए आवश्यक मुख्य घटक एक सेंसर है जो वजन को एक समान विद्युत संकेत में बदल सकता है। इस सेंसर को लोड सेल कहा जाता है, इसलिए इस प्रोजेक्ट में, हम इस लोड सेल को अपने Arduino वेट सेंसर के रूप में उपयोग करेंगे । हमने कुछ अन्य परियोजनाओं में भी इसी तरह के लोड सेल का उपयोग किया है, जैसे कि पोर्टेबल Arduino Retail Weighing Machine, Raspberry pi Weighing scale, आदि, आप चाहें तो उनकी जाँच भी कर सकते हैं।
Arduino वजन स्केल बनाने के लिए आवश्यक घटक:
- अरुडिनो उनो
- लोड सेल (40 किग्रा)
- HX711 लोड सेल एम्पलीफायर मॉड्यूल
- 16x2 एलसीडी
- तारों को जोड़ना
- यूएसबी केबल
- ब्रेड बोर्ड
- नट बोल्ट, फ़्रेम, और आधार
लोड सेल और HX711 वजन सेंसर मॉड्यूल:
लोड सेल एक ट्रांसड्यूसर है जो बल या दबाव को विद्युत आउटपुट में बदल देता है । इस विद्युत उत्पादन का परिमाण सीधे लागू होने वाले बल के समानुपाती होता है। लोड कोशिकाओं में एक तनाव गेज होता है, जो दबाव लागू होने पर ख़राब हो जाता है। और फिर स्ट्रेन गेज विरूपण पर एक विद्युत संकेत उत्पन्न करता है क्योंकि विरूपण पर इसका प्रभावी प्रतिरोध बदल जाता है। एक लोड सेल में आमतौर पर एक व्हीटस्टोन ब्रिज कॉन्फ़िगरेशन में चार स्ट्रेन गेज शामिल होते हैं। लोड सेल विभिन्न श्रेणियों जैसे 5 किग्रा, 10 किग्रा, 100 किग्रा और अधिक में आती है, यहां हमने लोड सेल का उपयोग किया है, जिसका वजन 40 किग्रा तक हो सकता है।
अब लोड सेल द्वारा उत्पन्न विद्युत संकेत कुछ मिलीवोल्ट में हैं, इसलिए उन्हें कुछ एम्पलीफायर द्वारा आगे बढ़ाना होगा और इसलिए HX711 वजनी सेंसर तस्वीर में आता है। HX711 वजनी सेंसर मॉड्यूल में HX711 चिप है, जो एक 24 उच्च परिशुद्धता ए / डी कनवर्टर (डिजिटल कनवर्टर के अनुरूप) है। HX711 में दो एनालॉग इनपुट चैनल हैं और हम इन चैनलों की प्रोग्रामिंग करके128 तक लाभ प्राप्त कर सकते हैं। तो HX711 मॉड्यूल लोड कोशिकाओं के कम बिजली के उत्पादन को बढ़ाता है और फिर इस प्रवर्धित और डिजिटल रूप से परिवर्तित संकेत को वजन प्राप्त करने के लिए Arduino में खिलाया जाता है।
लोड सेल HX711 लोड सेल एम्पलीफायर के साथ चार तारों का उपयोग करके जुड़ा हुआ है। ये चार तार लाल, काले, सफेद और हरे / नीले हैं। मॉड्यूल से मॉड्यूल तक तारों के रंगों में थोड़ा बदलाव हो सकता है। कनेक्शन विवरण और आरेख के नीचे:
- लाल तार E + से जुड़ा है
- ब्लैक वायर ई- से जुड़ा है
- सफेद तार A- से जुड़ा है
- GREEN वायर A + से जुड़ा है
प्लेटफ़ॉर्म और बेस के साथ फिक्सिंग सेल:
यह चरण वैकल्पिक है और आप बिना किसी प्लेटफ़ॉर्म के सीधे भार सेल पर भार डाल सकते हैं और इसे बिना किसी आधार के ठीक किए बिना ही इसे जकड़ सकते हैं, लेकिन बड़ी चीज़ों को इस पर लगाने और इसे आधार पर ठीक करने के लिए एक प्लेटफ़ॉर्म संलग्न करना बेहतर है ताकि यह ठहराव हो। इसलिए यहाँ हमें वज़न मापने के लिए एक फ्रेम या प्लेटफॉर्म बनाने की आवश्यकता है । नट और बोल्ट का उपयोग करके इसके ऊपर लोड सेल को ठीक करने के लिए भी एक आधार की आवश्यकता होती है। यहाँ हमने फ्रेम के लिए हार्ड कार्डबोर्ड का उपयोग किया है और आधार के रूप में एक लकड़ी के बोर्ड पर चीजों को रखने के लिए। अब कनेक्शन करें जैसा कि सर्किट आरेख में दिखाया गया है और आप जाने के लिए तैयार हैं।
सर्किट स्पष्टीकरण:
इस परियोजना के लिए कनेक्शन आसान है और योजनाबद्ध नीचे दिया गया है। 16x2 एलसीडी पिन आरएस, एन, डी 4, डी 5, डी 6, और डी 7 क्रमशः पिन नंबर 8, 9, 10, 11, 12 और 13 के साथ जुड़े हुए हैं। HX711 मॉड्यूल के DT और SCK पिन सीधे Arduino के पिन A0 और A1 के साथ जुड़े हुए हैं। HX711 मॉड्यूल के साथ लोड सेल कनेक्शन को पहले ही समझाया गया है और नीचे दिए गए सर्किट आरेख में भी दिखाया गया है।
कार्य स्पष्टीकरण:
इस Arduino वजन मापन परियोजना का कार्य सिद्धांत आसान है। विवरण में जाने से पहले, हमें सही वजन को मापने के लिए इस प्रणाली को जांचना होगा । जब उपयोगकर्ता इसे पावर करेगा तो सिस्टम स्वचालित रूप से कैलिब्रेट करना शुरू कर देगा। और अगर उपयोगकर्ता इसे मैन्युअल रूप से कैलिब्रेट करना चाहता है तो पुश बटन दबाएं। हमने अंशांकन उद्देश्यों के लिए एक फ़ंक्शन शून्य अंशांकन () बनाया है, नीचे दिए गए कोड की जांच करें।
अंशांकन के लिए, लोड चित्र पर 100 ग्राम डालने के लिए एलसीडी संकेत की प्रतीक्षा करें जैसा कि नीचे दी गई तस्वीर में दिखाया गया है। जब एलसीडी "100 ग्राम लगाएगा" तब लोड सेल पर 100 ग्राम वजन डालें और प्रतीक्षा करें। कुछ सेकंड के बाद अंशांकन प्रक्रिया समाप्त हो जाएगी। अंशांकन के बाद उपयोगकर्ता लोड सेल के ऊपर कोई भी वजन (अधिकतम 40 किग्रा) डाल सकता है और एलसीडी पर ग्राम से अधिक मूल्य प्राप्त कर सकता है।
इस परियोजना में, हमने पूरी प्रक्रिया को नियंत्रित करने के लिए Arduino का उपयोग किया है। लोड सेल वजन को महसूस करता है और HX711 लोड एम्पलीफायर मॉड्यूल को एक विद्युत एनालॉग वोल्टेज की आपूर्ति करता है । HX711 एक 24bit ADC है, जो लोड सेल आउटपुट को बढ़ाता और डिजिटल रूप से परिवर्तित करता है। फिर यह प्रवर्धित मूल्य Arduino को खिलाया जाता है। अब Arduino HX711 के आउटपुट की गणना करता है और उस वजन के मान को ग्राम में परिवर्तित करता है और इसे LCD पर दिखाता है। एक धक्का-बटन प्रणाली कैलिब्रेट के लिए प्रयोग किया जाता है। हमने पूरी प्रक्रिया के लिए एक Arduino प्रोग्राम लिखा है, इस ट्यूटोरियल के अंत में कोड और डेमो वीडियो देखें ।
Arduino वजनी स्केल कोड:
इस परियोजना का प्रोग्रामिंग हिस्सा शुरुआती लोगों के लिए थोड़ा जटिल है। इस परियोजना में, हमने Arduino के साथ HX711 लोड सेंसर को बदलने के लिए किसी भी पुस्तकालय का उपयोग नहीं किया । हमने अभी HX711 और एप्लिकेशन नोटों की डेटशीट का पालन किया है। हालांकि इस उद्देश्य के लिए कुछ पुस्तकालय मौजूद हैं, जहां आपको केवल उस पुस्तकालय को शामिल करने की आवश्यकता है और आप कोड की एक पंक्ति का उपयोग करके भार प्राप्त कर सकते हैं।
सबसे पहले, हमने एलसीडी के लिए एक हेडर फ़ाइल शामिल की है और उसी के लिए पिन को परिभाषित किया है। और पुश-बटन के लिए भी। फिर गणना उद्देश्य के लिए कुछ चर घोषित किए।
#शामिल
इसके बाद, हमने HX711 मॉड्यूल से डेटा पढ़ने और इसके आउटपुट को वापस करने के लिए नीचे फ़ंक्शन बनाया है।
अहस्ताक्षरित लंबे readCount (शून्य) {अहस्ताक्षरित लंबी गणना; अहस्ताक्षरित चार मैं; पिनमोड (DT, OUTPUT); digitalWrite (DT, HIGH); digitalWrite (SCK, LOW); गिनती = 0; पिनमोड (DT, INPUT); जबकि (digitalRead (DT)); for (i = 0; i <24; i ++) {digitalWrite (SCK, HIGH); गिनती = गिनती << 1; digitalWrite (SCK, LOW); अगर (digitalRead (DT)) काउंट ++; } digitalWrite (SCK, HIGH); गणना = गणना ^ 0x800000; digitalWrite (SCK, LOW); वापसी (गणना); }
इसके बाद, हमने एलसीडी को इनिशियलाइज़ किया है और शून्य सेटअप () में इनपुट और आउटपुट पिंस को दिशा-निर्देश दिए हैं ।
शून्य सेटअप () {Serial.begin (9600); पिनमोड (SCK, OUTPUT); pinMode (sw, INPUT_PULLUP); lcd.begin (16, 2); lcd.print ("भार"); lcd.setCursor (0,1); lcd.print ("मापन"); देरी (1000); lcd.clear (); जांचना (); }
शून्य लूप () फ़ंक्शन में अगला, हमने HX711 मॉड्यूल से डेटा पढ़ा है और इस डेटा को वजन (ग्राम) में बदल दिया है और इसे एलसीडी पर भेज दिया है।
शून्य लूप () {गिनती = readCount (); int w = (((गणना-नमूना) / वैल) -2 * ((गणना-नमूना) / वैल)); सिरियल.प्रिंट ("वजन:"); सीरियल.प्रिंट ((इंट) डब्ल्यू); सीरीयल.प्रिंट ("जी"); lcd.setCursor (0,0); lcd.print ("भार"); lcd.setCursor (0,1); lcd.print (w); lcd.print ("g"); if (digitalRead (sw) == 0) {val = 0; नमूना = 0; डब्ल्यू = 0; गिनती = 0; जांचना (); }}
इससे पहले, हमने एक अंशांकन फ़ंक्शन बनाया है जिसमें हमने लोड सेल पर 100 ग्राम वजन रखकर सिस्टम को कैलिब्रेट किया है।
शून्य अंशांकित () {lcd.clear (); lcd.print ("कैलिब्रेटिंग…"); lcd.setCursor (0,1); lcd.print ("कृपया प्रतीक्षा करें…"); for (int i = 0; i <100; i ++) {count = readCount (); नमूना + = गिनती; सीरीयल.प्रिंट (गिनती); }……………….
तो यहां हमने वेट को मापने के लिए Arduino के साथ लोड सेल और HX11 वेट सेंसर का बेसिक इंटरफैसिंग सीखा है । हमारे टेक्स्ट ट्यूटोरियल्स में, हम वजन मापने के आधार पर कुछ एप्लिकेशन बनाएंगे जैसे स्मार्ट कंटेनर, ऑटोमैटिक गेट आदि।