# मिट्टी की नमी मापें - रास्पबेरी पाई इस पाठ के इस भाग में, आप अपने रास्पबेरी पाई में एक कैपेसिटिव मिट्टी नमी सेंसर जोड़ेंगे और इससे मान पढ़ेंगे। ## हार्डवेयर रास्पबेरी पाई को एक कैपेसिटिव मिट्टी नमी सेंसर की आवश्यकता है। आप जो सेंसर उपयोग करेंगे वह [Capacitive Soil Moisture Sensor](https://www.seeedstudio.com/Grove-Capacitive-Moisture-Sensor-Corrosion-Resistant.html) है, जो मिट्टी की नमी को मापता है। यह सेंसर मिट्टी की कैपेसिटेंस का पता लगाकर नमी मापता है, जो मिट्टी की नमी बदलने पर बदलती है। जैसे-जैसे मिट्टी की नमी बढ़ती है, वोल्टेज घटता है। यह एक एनालॉग सेंसर है, जो एनालॉग पिन का उपयोग करता है और पाई पर Grove Base Hat में 10-बिट ADC वोल्टेज को डिजिटल सिग्नल (1-1,023) में बदलने के लिए उपयोग करता है। यह फिर GPIO पिन्स के माध्यम से पाई पर I²C के जरिए भेजा जाता है। ### मिट्टी नमी सेंसर को कनेक्ट करें Grove मिट्टी नमी सेंसर को रास्पबेरी पाई से जोड़ा जा सकता है। #### कार्य - मिट्टी नमी सेंसर को कनेक्ट करें मिट्टी नमी सेंसर को कनेक्ट करें। ![एक Grove मिट्टी नमी सेंसर](../../../../../translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.hi.png) 1. Grove केबल के एक सिरे को मिट्टी नमी सेंसर के सॉकेट में डालें। यह केवल एक ही दिशा में जाएगा। 1. रास्पबेरी पाई को बंद करके, Grove केबल के दूसरे सिरे को Grove Base Hat पर **A0** चिह्नित एनालॉग सॉकेट में कनेक्ट करें। यह सॉकेट GPIO पिन्स के पास वाली पंक्ति में दाईं ओर से दूसरा है। ![A0 सॉकेट से जुड़ा Grove मिट्टी नमी सेंसर](../../../../../translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.hi.png) 1. मिट्टी नमी सेंसर को मिट्टी में डालें। इसमें एक 'उच्चतम स्थिति रेखा' होती है - सेंसर पर एक सफेद रेखा। सेंसर को इस रेखा तक, लेकिन इससे आगे नहीं डालें। ![मिट्टी में Grove मिट्टी नमी सेंसर](../../../../../translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.hi.png) ## मिट्टी नमी सेंसर को प्रोग्राम करें अब रास्पबेरी पाई को जुड़े हुए मिट्टी नमी सेंसर का उपयोग करने के लिए प्रोग्राम किया जा सकता है। ### कार्य - मिट्टी नमी सेंसर को प्रोग्राम करें डिवाइस को प्रोग्राम करें। 1. पाई को चालू करें और इसके बूट होने का इंतजार करें। 1. VS Code लॉन्च करें, या तो सीधे पाई पर, या Remote SSH एक्सटेंशन के माध्यम से कनेक्ट करें। > ⚠️ यदि आवश्यक हो, तो [नाइटलाइट - पाठ 1 में VS Code सेटअप और लॉन्च करने के निर्देश देखें](../../../1-getting-started/lessons/1-introduction-to-iot/pi.md)। 1. टर्मिनल से, `pi` उपयोगकर्ता की होम डायरेक्टरी में `soil-moisture-sensor` नामक एक नया फ़ोल्डर बनाएं। इस फ़ोल्डर में `app.py` नामक एक फ़ाइल बनाएं। 1. इस फ़ोल्डर को VS Code में खोलें। 1. `app.py` फ़ाइल में निम्न कोड जोड़ें ताकि आवश्यक लाइब्रेरी आयात की जा सकें: ```python import time from grove.adc import ADC ``` `import time` स्टेटमेंट `time` मॉड्यूल को आयात करता है, जिसका उपयोग बाद में इस असाइनमेंट में किया जाएगा। `from grove.adc import ADC` स्टेटमेंट Grove Python लाइब्रेरी से `ADC` को आयात करता है। यह लाइब्रेरी पाई बेस हैट पर एनालॉग से डिजिटल कन्वर्टर के साथ इंटरैक्ट करने और एनालॉग सेंसर से वोल्टेज पढ़ने के लिए कोड प्रदान करती है। 1. इसके नीचे निम्न कोड जोड़ें ताकि `ADC` क्लास का एक इंस्टेंस बनाया जा सके: ```python adc = ADC() ``` 1. एक अनंत लूप जोड़ें जो A0 पिन पर इस ADC से पढ़ता है और परिणाम को कंसोल पर लिखता है। यह लूप प्रत्येक रीडिंग के बीच 10 सेकंड के लिए रुकेगा। ```python while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10) ``` 1. Python ऐप चलाएं। आप कंसोल पर मिट्टी नमी माप देखेंगे। मिट्टी में पानी डालें, या सेंसर को मिट्टी से हटा दें, और मान बदलते हुए देखें। ```output pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py Soil moisture: 615 Soil moisture: 612 Soil moisture: 498 Soil moisture: 493 Soil moisture: 490 Soil Moisture: 388 ``` ऊपर दिए गए उदाहरण आउटपुट में, आप देख सकते हैं कि पानी डालने पर वोल्टेज कैसे घटता है। > 💁 आप इस कोड को [code/pi](../../../../../2-farm/lessons/2-detect-soil-moisture/code/pi) फ़ोल्डर में पा सकते हैं। 😀 आपका मिट्टी नमी सेंसर प्रोग्राम सफल रहा! **अस्वीकरण**: यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को आधिकारिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।