- Arduino वजनी मशीन वर्किंग
- Arduino आधारित वजनी मशीन के लिए आवश्यक घटक
- Arduino आधारित वजनी मशीन - सर्किट आरेख
- डॉटेड परबोर्ड पर सर्किट बनाना
- Arduino आधारित वजनी मशीन के लिए एक संलग्नक का निर्माण
- Arduino वजनी मशीन - कोड
डिजिटल लोड स्केल आधुनिक-इंजीनियरिंग और डिजाइन का एक और चमत्कार है। जी हां, हम बात कर रहे हैं, जिस वजन पैमाने पर हम अक्सर किराने की दुकानों और अन्य स्थानों पर देखते हैं, लेकिन क्या आपने कभी सोचा है कि वजन कैसे काम करता है? उस सवाल का जवाब देने के लिए, इस परियोजना में, हम लोड सेल और इसके काम पर एक नज़र डालने जा रहे हैं। अंत में, हम HX711 वेट सेंसर के साथ एक पोर्टेबल Arduino- आधारित लोड स्केल का निर्माण करेंगे, जो 10kg तक के वज़न को माप सकता है।
यह वजन करने वाली मशीन स्थानीय दुकानों के लिए एकदम सही है, जहां वे थोक मात्रा में आइटम पैक करते हैं। वाणिज्यिक उत्पादों की तरह, हमारे वजन पैमाने पर एक शून्य बटन होगा जो स्केल को शून्य करता है। इसके अलावा, इसमें माप के लिए वजन निर्धारित करने का विकल्प होता है, जब माप वजन निर्धारित वजन तक पहुंचता है, तो एक बजर तेजी से बीप करता है और जब सेट वजन मापने वाले वजन के बराबर होता है तो रुक जाता है। इस तरह, उपयोगकर्ता केवल ध्वनि सुनकर इसे पैक कर सकता है और इसे डिस्प्ले पर नहीं देखना होगा। जैसा कि यह एक बहुत ही सरल परियोजना है, हम Arduino और स्ट्रेन गेज लोड सेल जैसे घटकों का उपयोग करके बहुत आसानी से इसका निर्माण करेंगे। तो, बिना और देरी किए, आइए इसे सही करें।
पिछले लेख में, हमने लोकप्रिय HX711 लोड सेल एम्पलीफायर मॉड्यूल का उपयोग करके ईमेल अलर्ट और वेब मॉनिटरिंग के साथ रास्पबेरी पाई आधारित वजन संवेदक और IoT स्मार्ट कंटेनर जैसी परियोजनाएं बनाई हैं। इसलिए, जांच लें कि क्या आपकी आवश्यकता है।
Arduino वजनी मशीन वर्किंग
इस परियोजना का मुख्य घटक लोड सेल और HX711 लोड सेल एम्पलीफायर मॉड्यूल है । जैसा कि आप देख सकते हैं, एक तरफ दस किलोग्राम के साथ चिह्नित है। इसके अलावा, आप लोड सेल पर कुछ प्रकार के सफेद सुरक्षात्मक गोंद देख सकते हैं और तारों के चार अलग-अलग रंग सामने आ रहे हैं, सफेद सुरक्षात्मक गोंद के नीचे गुप्त और बाद में लेख में इन चार-रंग तारों के कार्य को उजागर करेंगे।
लोड सेल एक ट्रांसड्यूसर है जो बल या दबाव को विद्युत आउटपुट में बदल देता है। इसके दो पहलू हैं, चलो दाईं ओर और बाईं ओर कहते हैं, और यह एल्यूमीनियम ब्लॉकों से बना है। जैसा कि आप देख सकते हैं कि सामग्री के बीच में एक बड़ा छेद डालकर पतला किया गया है। यही कारण है कि वह बिंदु जो विरूपण को पीड़ित करता है जब लोड को माउंट की तरफ रखा जाता है। अब कल्पना करें कि दाएं-साइड सेल को आधार पर रखा गया है और बाईं ओर जहां लोड रखा गया है, यह कॉन्फ़िगरेशन बीच में विशालकाय छेद के कारण तनाव गेज लोड सेल को विकृत करता है ।
जब लोड सेल के लोड पक्ष पर एक लोड रखा जाता है, तो शीर्ष भाग तनाव ग्रस्त होगा, और निचला भाग संपीड़न को झेलना होगा। यही कारण है कि एल्यूमीनियम पट्टी बाईं ओर नीचे की ओर झुकती है। यदि हम इस विकृति को मापते हैं, तो हम उस बल को माप सकते हैं जो एल्यूमीनियम ब्लॉक पर लागू किया गया था और ठीक यही हम करेंगे।
अब, सवाल यह है कि सफेद सुरक्षात्मक गोंद के अंदर क्या है? इस सुरक्षात्मक गोंद के अंदर, हम एक बहुत ही पतली लोचदार घटक पाएंगे जिसे एक तनाव गेज कहा जाता है। स्ट्रेन गेज एक घटक है जिसका उपयोग स्ट्रेन को मापने के लिए किया जाता है। यदि हम इस घटक को करीब से देखते हैं, तो हम दो कनेक्शन पैड देख सकते हैं, और फिर हमारे पास दोहराव वाले विक्षेपण के साथ एक प्रवाहकीय तार पैटर्न है। इस प्रवाहकीय तार में एक परिभाषित प्रतिरोध होता है। जब हम इसे झुकाते हैं, तो प्रतिरोध मान बदल जाएगा? इसलिए, स्ट्रेन गेज के एक तरफ को माउंट किया जाता है और एक जगह पर तय किया जाता है, अगर हम एल्यूमीनियम बार के दूसरी तरफ एक वजन रखते हैं, तो यह तनाव गेज को झुकने के लिए मजबूर करेगा, जिससे प्रतिरोध में बदलाव होगा। यह वास्तव में कैसे होता है? स्ट्रेन गेज का प्रवाहकीय पैटर्न तांबे से बना होता है, इस तार का एक निश्चित क्षेत्र और लंबाई होगी, इसलिए ये दोनों इकाइयाँ तार का प्रतिरोध देंगी। एक तार का प्रतिरोध धारा के प्रवाह का विरोध करता है। अब यह स्पष्ट है कि यदि इस तार का क्षेत्रफल छोटा हो जाता है,कम इलेक्ट्रॉनों अर्थ एक कम वर्तमान पारित कर सकते हैं। अब अगर हम क्षेत्र बढ़ाते हैं, तो यह एक कंडक्टर के प्रतिरोध को बढ़ाएगा। यदि इस तार पर कुछ बल लगाया जाता है, तो यह क्षेत्र को खींच देगा और यह एक ही समय में छोटा हो जाएगा, प्रतिरोध बढ़ जाता है। लेकिन यह प्रतिरोध भिन्नता बहुत कम है। यदि हम तनाव गेज को बढ़ाते हैं, तो प्रतिरोध बढ़ जाएगा और यदि हम इसे संकुचित करते हैं, तो प्रतिरोध कम हो जाएगा। बल को मापने के लिए, हमें प्रतिरोध को मापने की आवश्यकता है। प्रतिरोध को सीधे मापना हमेशा व्यावहारिक नहीं होता है, क्योंकि परिवर्तन बहुत छोटा होता है। इसलिए प्रतिरोध को मापने के बजाय, हम वोल्टेज को आसानी से माप सकते हैं। तो, इस मामले में, हमें गेज आउटपुट को प्रतिरोध मान से वोल्टेज मान में बदलने की आवश्यकता है।यदि इस तार पर कुछ बल लगाया जाता है, तो यह क्षेत्र को खींच देगा और यह एक ही समय में छोटा हो जाएगा, प्रतिरोध बढ़ जाता है। लेकिन यह प्रतिरोध भिन्नता बहुत कम है। यदि हम तनाव गेज को बढ़ाते हैं, तो प्रतिरोध बढ़ जाएगा और यदि हम इसे संकुचित करते हैं, तो प्रतिरोध कम हो जाएगा। बल को मापने के लिए, हमें प्रतिरोध को मापने की आवश्यकता है। प्रतिरोध को सीधे मापना हमेशा व्यावहारिक नहीं होता है, क्योंकि परिवर्तन बहुत छोटा होता है। इसलिए प्रतिरोध को मापने के बजाय, हम वोल्टेज को आसानी से माप सकते हैं। तो, इस मामले में, हमें गेज आउटपुट को प्रतिरोध मान से वोल्टेज मान में बदलने की आवश्यकता है।यदि इस तार पर कुछ बल लगाया जाता है, तो यह क्षेत्र को खींच देगा और यह एक ही समय में छोटा हो जाएगा, प्रतिरोध बढ़ जाता है। लेकिन यह प्रतिरोध भिन्नता बहुत कम है। यदि हम तनाव गेज को बढ़ाते हैं, तो प्रतिरोध बढ़ जाएगा और यदि हम इसे संकुचित करते हैं, तो प्रतिरोध कम हो जाएगा। बल को मापने के लिए, हमें प्रतिरोध को मापने की आवश्यकता है। प्रतिरोध को सीधे मापना हमेशा व्यावहारिक नहीं होता है, क्योंकि परिवर्तन बहुत छोटा होता है। इसलिए प्रतिरोध को मापने के बजाय, हम वोल्टेज को आसानी से माप सकते हैं। तो, इस मामले में, हमें गेज आउटपुट को प्रतिरोध मान से वोल्टेज मान में बदलने की आवश्यकता है।प्रतिरोध कम हो जाएगा। बल को मापने के लिए, हमें प्रतिरोध को मापने की आवश्यकता है। प्रतिरोध को सीधे मापना हमेशा व्यावहारिक नहीं होता है, क्योंकि परिवर्तन बहुत छोटा होता है। इसलिए प्रतिरोध को मापने के बजाय, हम वोल्टेज को आसानी से माप सकते हैं। तो, इस मामले में, हमें गेज आउटपुट को प्रतिरोध मान से वोल्टेज मान में बदलने की आवश्यकता है।प्रतिरोध कम हो जाएगा। बल को मापने के लिए, हमें प्रतिरोध को मापने की आवश्यकता है। प्रतिरोध को सीधे मापना हमेशा व्यावहारिक नहीं होता है, क्योंकि परिवर्तन बहुत छोटा होता है। इसलिए प्रतिरोध को मापने के बजाय, हम वोल्टेज को आसानी से माप सकते हैं। तो, इस मामले में, हमें गेज आउटपुट को प्रतिरोध मान से वोल्टेज मान में बदलने की आवश्यकता है।
हम व्हीटस्टोन पुल की मदद से ऐसा कर सकते हैं । हम व्हीटस्टोन ब्रिज में स्ट्रेन गेज रखते हैं यदि ब्रिज संतुलित है, तो मध्य बिंदु में वोल्टेज शून्य होना चाहिए (पहले हमने एक प्रोजेक्ट बनाया है, जहां हमने वर्णन किया है कि एक व्हीटस्टोन ब्रिज कैसे काम करता है, आप जांच कर सकते हैं कि क्या आप चाहते हैं विषय के बारे में अधिक जानते हैं)। जब तनाव गेज अपने प्रतिरोध को बदलता है, तो यह पुल को असंतुलित करेगा, और वोल्टेज भी बदल जाएगा। तो, यह है कि व्हीटस्टोन पुल कैसे वोल्टेज मूल्यों के लिए प्रतिरोध विविधताओं को परिवर्तित करता है।
लेकिन यह वोल्टेज परिवर्तन अभी भी बहुत छोटा है, इसलिए इसे बढ़ाने के लिए, हमें HX711 मॉड्यूल का उपयोग करने की आवश्यकता है । HX711 एक 24-बिट डिफरेंशियल ADC है, इस तरह, हम बहुत छोटे वोल्टेज परिवर्तनों को माप सकते हैं। यह 0 से 2 घातीय 24 को मान देगा।
Arduino आधारित वजनी मशीन के लिए आवश्यक घटक
इस परियोजना को यथासंभव सरल बनाने के लिए, हमने बहुत ही सामान्य घटकों का उपयोग किया है जिन्हें आप किसी भी स्थानीय हॉबी स्टोर में पा सकते हैं। नीचे दी गई छवि आपको घटकों के बारे में एक विचार देगी। इसके अलावा, हमारे पास नीचे सूचीबद्ध बिल (बीओएम) सामग्री है।
- लोड सेल (हम 10 किलो लोड सेल का उपयोग कर रहे हैं)
- HX 711 एम्पलीफायर मॉड्यूल
- अरुडिनो नैनो
- I2C LCD 16X2 - I2C संगत
- 1k रोकनेवाला -2 नग
- एलईडी -2 नं
- बजर
- आम पीसीबी
- 7.4V बैटरी (यदि आप इसे पोर्टेबल चाहते हैं)
- LM7805 वोल्टेज नियामक
Arduino आधारित वजनी मशीन - सर्किट आरेख
लोड सेल में चार तार होते हैं जो लाल, काले, हरे और सफेद होते हैं। यह रंग निर्माताओं के अनुसार भिन्न हो सकता है, इसलिए डेटाशीट को संदर्भित करना बेहतर है। HX711 बोर्ड के E + से लाल कनेक्ट करें, E- से काला कनेक्ट करें, A से सफेद कनेक्ट करें, और A-, Dout से ग्रीन कनेक्ट करें, और बोर्ड की घड़ी क्रमशः D4 और D5 से कनेक्ट करें। डी 3, डी 8, डी 9, और अन्य सिरों को पुश बटन के एक छोर को जमीन से कनेक्ट करें। हमारे पास I2C एलसीडी है, इसलिए एसडीए को ए 4 और एससीएल को ए 5 से कनेक्ट करें। LCD, HX711 और Arduino के ग्राउंड को जमीन से कनेक्ट करें, VCC को भी Arduino के 5Vpin से कनेक्ट करें । सभी मॉड्यूल 5 वी पर काम करते हैं, इसलिए हमने एक LM7805 वोल्टेज नियामक जोड़ा है । यदि आप इसे पोर्टेबल नहीं चाहते हैं, तो आप सीधे USB केबल का उपयोग करके Arduino को पावर कर सकते हैं।
डॉटेड परबोर्ड पर सर्किट बनाना
हमने एक आम बिंदीदार परफ़ॉर्मर पर सभी घटकों को मिलाया है। हमने सर्किट बोर्ड के साथ Arduino और ADC को मिलाप करने के लिए महिला हेडर का उपयोग किया, साथ ही हमने सभी पुशबटन और एल ई डी को जोड़ने के लिए तारों का उपयोग किया है। सभी टांका लगाने की प्रक्रिया समाप्त होने के बाद, हमने सुनिश्चित किया है कि LM7805 से उचित 5V निकल रहा है। अंत में, हमने सर्किट को चालू / बंद करने के लिए स्विच किया है। एक बार जब हम सभी समाप्त हो गए, तो यह नीचे की छवि की तरह लग रहा था।
Arduino आधारित वजनी मशीन के लिए एक संलग्नक का निर्माण
जैसा कि आप देख सकते हैं, लोड सेल में कुछ स्क्रू थ्रेड हैं, इसलिए हम इसे बेस प्लेट पर माउंट कर सकते हैं। हम अपने पैमाने के आधार के लिए एक पीवीसी बोर्ड का उपयोग करेंगे, इसके लिए, हम पहले पीवीसी बोर्ड से 20 * 20 सेमी वर्ग और चार 20 * 5 आयताकार काटते हैं। फिर कठोर गोंद का उपयोग करते हुए, हमने हर टुकड़े को चिपकाया और एक छोटा सा बाड़ा बनाया।
याद रखें, हमने एक तरफ को ठीक नहीं किया, क्योंकि हमें पुशबटन, एल ई डी, और उस पर एलसीडी लगाने की आवश्यकता है। फिर हमने स्केल के शीर्ष के लिए एक प्लास्टिक बोर्ड का उपयोग किया। इस सेटअप को स्थायी करने से पहले, हमें यह सुनिश्चित करने की आवश्यकता है कि हमारे पास लोड सेल के लिए जमीन से पर्याप्त जगह है, इसलिए यह झुकने में सक्षम होगा, इसलिए हमने लोड सेल और आधार के बीच में पेंच और नट रखा, हमने भी जोड़ा लोड सेल और शीर्ष भाग के बीच में कुछ प्लास्टिक स्पेसर्स। हमने संतुलन के शीर्ष स्मार्ट के रूप में एक गोल प्लास्टिक शीट का उपयोग किया।
फिर हमने एलसीडी, एलईडी, और पुश-बटन को सामने के पैनल पर रखा, और सब कुछ लंबे अछूता तार से जुड़ा हुआ था। वायरिंग की प्रक्रिया समाप्त करने के बाद, हमने फ्रंट पैनल को कुछ झुकाव के साथ मुख्य आधार पर चिपका दिया, इसलिए हम एलसीडी से मूल्यों को बहुत आसानी से पढ़ सकते हैं। अंत में, हमने मुख्य स्विच को शेष राशि के किनारे से जोड़ा और यही है। इसी तरह हमने अपने वजन के पैमाने के लिए शरीर बनाया है ।
आप अपने विचारों के साथ डिजाइन कर सकते हैं लेकिन लोड सेल की तरह याद रखना पसंद करते हैं जैसे कि छवि में।
Arduino वजनी मशीन - कोड
जैसा कि अब हम अपने डिजिटल पैमाने के लिए निर्माण प्रक्रिया के साथ समाप्त हो चुके हैं, हम प्रोग्रामिंग हिस्से पर आगे बढ़ सकते हैं। आसान प्रोग्रामिंग के लिए, हम HX711 लाइब्रेरी, EEPROM लाइब्रेरी और लिक्विड क्रिस्टल लाइब्रेरी का उपयोग करने जा रहे हैं। आप आधिकारिक GitHub रिपॉजिटरी से HX711 लाइब्रेरी डाउनलोड कर सकते हैं, या टूल्स पर जा सकते हैं > लाइब्रेरी शामिल करें > लाइब्रेरी प्रबंधित करें , फिर कीवर्ड HX711 का उपयोग करके लाइब्रेरी खोजें, लाइब्रेरी डाउनलोड करने के बाद, इसे Arduino ide में इंस्टॉल करें।
सबसे पहले, हमें लोड सेल को कैलिब्रेट करने और EEPROM पर उस मूल्य को स्टोर करने की आवश्यकता है, इसके लिए, फ़ाइल> उदाहरण> HX 711_ADC पर जाएं, फिर अंशांकन कोड का चयन करें । कोड अपलोड करने से पहले, एक स्थिर समतल सतह पर संतुलन रखें। फिर Arduino पर कोड अपलोड करें और सीरियल मॉनिटर खोलें। फिर बॉड रेट को 572600 में बदल दें। अब मॉनिटर को वेट लेने के लिए कहें, इसके लिए हमें t दबाना होगा और एंटर करना होगा।
अब, हमें ज्ञात भार को शेष राशि पर रखना होगा, मेरे मामले में, जो कि 194 ग्राम है। ज्ञात वजन रखने के बाद, धारावाहिक मॉनिटर पर वजन टाइप करें, और हिट दर्ज करें।
अब, सीरियल मॉनिटर आपसे पूछता है कि क्या आप EEPROM में मान बचाना चाहते हैं या नहीं, इसलिए हाँ चुनने के लिए Y टाइप करें। अब हम सीरियल मॉनीटर पर वजन देख सकते हैं।
इस परियोजना का मुख्य कोड, जिसे हमने HX711 लाइब्रेरी के उदाहरण स्केच से विकसित किया है। आप इस प्रोजेक्ट का कोड नीचे से डाउनलोड कर सकते हैं।
कोडिंग अनुभाग में, पहले, हमने सभी तीन पुस्तकालयों को जोड़ा। HX711 लाइब्रेरी लोड सेल वैल्यू लेने के लिए है। EEPROM Arduino ide की इनबिल्ट लाइब्रेरी है, जिसका उपयोग EEPROM में मूल्यों को संग्रहीत करने के लिए किया जाता है और लिक्विड क्रिस्टल लाइब्रेरी l2C LCD मॉड्यूल के लिए है।
#शामिल
फिर अलग-अलग पिन और असाइन किए गए मानों के लिए पूर्णांकों को परिभाषित किया। HX711_ADC लोडसेल फ़ंक्शन Dout और क्लॉक पिन सेट करने के लिए है।
const int HX711_dout = 4; const int HX711_sck = 5; int tpin = 3; HX711_ADC LoadCell (HX711_dout, HX711_sck); const int calVal_eepromAdress = 0; लम्बा टी; const int Up_buttonPin = 9; const int Down_buttonPin = 8; फ्लोट बटनPushCounter = 0; float up_buttonState = 0; float up_lastButtonState = 0; फ़्लोट डाउन_बटनटनस्टेट = 0; नीचे तैरना
सेटअप अनुभाग में, पहले, हमने सीरियल मॉनिटर शुरू किया, यह केवल डिबगिंग के लिए है। फिर हमने पिन मोड्स को परिभाषित किया, सभी पुश बटन इनपुट के रूप में परिभाषित किए गए हैं। Arduino PULL UP फ़ंक्शन की सहायता से, हम पिन को सामान्य रूप से तार्किक उच्च पर सेट करते हैं। इसलिए, हम इसके लिए किसी बाहरी प्रतिरोधकों का उपयोग नहीं करना चाहते हैं।
पिनमोड (tpin, INPUT_PULLUP); पिनमोड (6, बाहर); पिनमोड (12, OUTPUT); पिनमोड (Up_buttonPin, INPUT_PULLUP); पिनमोड (डाउन_बटनपिन, INPUT_PULLUP);
कोड की निम्नलिखित पंक्तियाँ I2C LCD सेट करने के लिए हैं। सबसे पहले, हमने LCD.print () फ़ंक्शन का उपयोग करते हुए स्वागत पाठ प्रदर्शित किया, दो सेकंड के बाद, हमने lcd.clear () का उपयोग करके प्रदर्शन को साफ़ कर दिया । यही है, शुरुआत में, प्रदर्शन ARDUINO BALANCE को स्वागत पाठ के रूप में दिखाता है, और दो सेकंड के बाद, यह मापने वाले वज़न को स्पष्ट और प्रदर्शित करेगा।
lcd.init (); एलसीडी प्रकाश(); lcd.setCursor (0, 0); lcd.print ("ARDUINO BALANCE"); lcd.setCursor (0, 1); lcd.print ("चलो मापते हैं"); देरी (2000); lcd.clear ();
फिर loadCell.begin () फ़ंक्शन का उपयोग करके लोडसेल से मान पढ़ना शुरू किया, उसके बाद, हम कैलिब्रेटेड मूल्यों के लिए EEPROM पढ़ते हैं, हम EEPROM.get () फ़ंक्शन का उपयोग करके करते हैं । यही है, हमने पहले से ही EEPROM पते में अंशांकन स्केच का उपयोग करके मूल्य संग्रहीत किया है, हम केवल उस मूल्य को फिर से लेते हैं।
LoadCell.begin (); EEPROM.get (calVal_eepromAdress, कैलिब्रेशनवैल्यू);
लूप अनुभाग में, पहले, हम जांचते हैं कि क्या लोड सेल से कोई डेटा लोडकेल.अपडेट () का उपयोग करके उपलब्ध है, यदि उपलब्ध है, तो हम उस डेटा को पढ़ते हैं और संग्रहीत करते हैं, उसके लिए, हम लोडकैल.गेटडेटा () का उपयोग कर रहे हैं । अगला, हमें एलसीडी में संग्रहीत मूल्य प्रदर्शित करने की आवश्यकता है। ऐसा करने के लिए, हमने LCD.print () फ़ंक्शन का उपयोग किया । इसके अलावा, हम सेट वजन प्रिंट करते हैं । पुशबटन काउंटर की मदद से सेट वेट सेट हो रहा है । यह पिछले भाग में बताया गया है।
if (LoadCell.update ()) newDataReady = true; if (newDataReady) { if (मिली ()> t + serialPrintInterval) { फ्लोट i = LoadCell.getData (); lcd.setCursor (0, 0); lcd.print ("सेट वी:"); lcd.setCursor (9, 0); lcd.print (buttonPushCounter); lcd.setCursor (14, 0); lcd.print ("जीएम"); lcd.setCursor (0, 1); lcd.print ("वजन:"); lcd.setCursor (9, 1); lcd.print (i); lcd.setCursor (14, 1); lcd.print ("जीएम");
अगला, हम तारे का मान निर्धारित करते हैं, उसके लिए, पहले, हमने डिजिटलरेड () फ़ंक्शन का उपयोग करते हुए तारे को पुशबटन की स्थिति को पढ़ा, यदि स्थिति कम है, तो हम उस वजन को शून्य तक ले जाते हैं। इस वजन पैमाने का तारे का कार्य रीडिंग को शून्य पर लाना है। उदाहरण के लिए, यदि हमारे पास एक कटोरा है जिसमें चीजें भरी हुई हैं, तो शुद्ध वजन कटोरे का वजन + चीजों का वजन होगा। यदि हम चीजों को लोड करने से पहले लोड सेल पर कटोरे के साथ tare बटन दबाते हैं, तो टोकरी का वजन नकार दिया जाएगा और हम अकेले चीजों के वजन को माप सकते हैं।
if (digitalRead (tpin) == LOW) { LoadCell.tareNoDelay ();
अब, हमें अलग-अलग संकेतों के लिए शर्तों को सेट करने की आवश्यकता है जैसे बजर की देरी और नेतृत्व की स्थिति। हमने ऐसा किया कि यदि शर्तों का उपयोग करते हुए, हमारे पास कुल तीन शर्तें हैं। सबसे पहले, हम निर्धारित वजन और मापने वाले वजन के बीच अंतर की गणना करते हैं, फिर उस मान को चर k में संग्रहीत किया जाता है।
फ्लोट के = बटनपुष्यंकर-आई;
1. यदि निर्धारित वजन और मापने के वजन के बीच का अंतर 50 ग्राम से अधिक या बराबर है, तो बजर 200-मिलीसेकंड देरी (धीरे) के साथ बीप करता है।
if (k> = 50) { digitalWrite (6, उच्च); देरी (200); digitalWrite (6, LOW); देरी (200); }
2. यदि सेट वजन और मापने के वजन के बीच का अंतर 50 से कम है और 1 ग्राम से अधिक है, तो बजर 50-मिलीसेकंड देरी (तेज) के साथ बीप करता है।
अगर (k <50 && k> 1) { digitalWrite (6, उच्च); देरी (50); digitalWrite (6, LOW); देरी (50); }
3. जब माप का वजन निर्धारित मूल्य से अधिक या बराबर होता है, तो यह हरे रंग के नेतृत्व में और बजर और लाल एलईडी को बंद कर देगा।
if (i> = buttonPushCounter ) { digitalWrite (6, LOW); digitalWrite (12, उच्च); }
सेट वजन (बटन प्रेस की गिनती के लिए) सेट करने के लिए हमारे पास दो और शून्य कार्य हैं ()।
फ़ंक्शन प्रत्येक प्रेस के लिए सेट मूल्य को 10 ग्राम तक बढ़ाता है। यह Arduino के digitalRead फ़ंक्शन का उपयोग करके किया जाता है यदि पिन कम होता है अर्थात बटन दबाया जाता है और इससे मान 10gms बढ़ जाएगा।
up_buttonState = digitalRead (Up_buttonPin); if (up_buttonState! = up_lastButtonState) { if (up_buttonState == कम) { bPress = true; buttonPushCounter = buttonPushCounter + 10; }
इसी तरह, चेकडाउन प्रत्येक प्रेस के लिए सेट मूल्य को 10 ग्राम कम करने के लिए है।
down_buttonState = digitalRead (डाउन_बटनटन); if (down_buttonState! = down_lastButtonState) { if (down_buttonState == कम) { bPress = true; buttonPushCounter = buttonPushCounter - 10; }
यह प्रोग्रामिंग भाग के अंत को चिह्नित करता है।
यह Arduino आधारित इलेक्ट्रॉनिक स्केल 10kg तक के वज़न को मापने के लिए एकदम सही है (हम उच्च श्रेणी के लोडसेल का उपयोग करके इस सीमा को बढ़ा सकते हैं)। यह मूल माप के 99% सटीक है।
यदि आपके पास इस Arduino आधारित एलसीडी वजन संतुलन मशीन सर्किट के बारे में कोई प्रश्न हैं, तो कृपया इसे टिप्पणी अनुभाग में पोस्ट करें, धन्यवाद!