11 KiB
तापक्रम मापन गर्नुहोस् - रास्पबेरी पाई
यस पाठको यस भागमा, तपाईं आफ्नो रास्पबेरी पाईमा तापक्रम सेन्सर थप्नुहुनेछ।
हार्डवेयर
तपाईंले प्रयोग गर्ने सेन्सर DHT11 आर्द्रता र तापक्रम सेन्सर हो, जसले दुई सेन्सरलाई एउटै प्याकेजमा संयोजन गर्दछ। यो सेन्सर धेरै लोकप्रिय छ, र व्यावसायिक रूपमा उपलब्ध सेन्सरहरूले तापक्रम, आर्द्रता, र कहिलेकाहीँ वायुमण्डलीय दबाबलाई पनि संयोजन गर्छन्। तापक्रम सेन्सर कम्पोनेन्ट एक नकारात्मक तापक्रम गुणांक (NTC) थर्मिस्टर हो, जसमा तापक्रम बढ्दै जाँदा प्रतिरोध घट्छ।
यो डिजिटल सेन्सर हो, त्यसैले यसमा एक अनबोर्ड ADC छ, जसले तापक्रम र आर्द्रता डाटालाई डिजिटल सिग्नलमा रूपान्तरण गर्छ, जुन माइक्रोकन्ट्रोलरले पढ्न सक्छ।
तापक्रम सेन्सर जडान गर्नुहोस्
Grove तापक्रम सेन्सरलाई रास्पबेरी पाईमा जडान गर्न सकिन्छ।
कार्य
तापक्रम सेन्सर जडान गर्नुहोस्
-
Grove केबलको एउटा छेउलाई आर्द्रता र तापक्रम सेन्सरको सकेटमा हाल्नुहोस्। यो केवल एक तरिकाले मात्र जान्छ।
-
रास्पबेरी पाई बन्द अवस्थामा हुँदा, Grove केबलको अर्को छेउलाई Grove Base Hat मा रहेको D5 लेबल गरिएको डिजिटल सकेटमा जडान गर्नुहोस्। यो सकेट GPIO पिनहरूको छेउमा रहेको सकेटहरूको पङ्क्तिमा बाँयाबाट दोस्रो हो।
तापक्रम सेन्सर प्रोग्राम गर्नुहोस्
अब उपकरणलाई जडान गरिएको तापक्रम सेन्सर प्रयोग गर्न प्रोग्राम गर्न सकिन्छ।
कार्य
उपकरणलाई प्रोग्राम गर्नुहोस्।
-
पाईलाई पावर दिनुहोस् र बुट हुन कुर्नुहोस्।
-
VS Code सुरु गर्नुहोस्, चाहे पाईमा सिधै वा Remote SSH एक्सटेन्सन प्रयोग गरेर जडान गरेर।
⚠️ पाठ १ मा VS Code सेटअप र सुरु गर्ने निर्देशनहरू हेर्न सक्नुहुन्छ।
-
टर्मिनलबाट,
pi
प्रयोगकर्ताको होम डाइरेक्टरीमाtemperature-sensor
नामको नयाँ फोल्डर बनाउनुहोस्। यस फोल्डरमाapp.py
नामको फाइल बनाउनुहोस्:mkdir temperature-sensor cd temperature-sensor touch app.py
-
यो फोल्डरलाई VS Code मा खोल्नुहोस्।
-
तापक्रम र आर्द्रता सेन्सर प्रयोग गर्न, थप Pip प्याकेज इन्स्टल गर्न आवश्यक छ। VS Code को टर्मिनलबाट, निम्न कमाण्ड चलाएर यो Pip प्याकेज पाईमा इन्स्टल गर्नुहोस्:
pip3 install seeed-python-dht
-
app.py
फाइलमा आवश्यक लाइब्रेरीहरू इम्पोर्ट गर्न निम्न कोड थप्नुहोस्:import time from seeed_dht import DHT
from seeed_dht import DHT
स्टेटमेन्टलेseeed_dht
मोड्युलबाट Grove तापक्रम सेन्सरसँग अन्तरक्रिया गर्नDHT
सेन्सर क्लास इम्पोर्ट गर्छ। -
माथिको कोडपछि, तापक्रम सेन्सर व्यवस्थापन गर्ने क्लासको उदाहरण बनाउन निम्न कोड थप्नुहोस्:
sensor = DHT("11", 5)
यसले Digital Humidity र Temperature सेन्सर व्यवस्थापन गर्ने
DHT
क्लासको उदाहरण घोषणा गर्छ। पहिलो प्यारामिटरले प्रयोग भइरहेको सेन्सर DHT11 हो भनेर कोडलाई बताउँछ - तपाईंले प्रयोग गरिरहेको लाइब्रेरीले यस सेन्सरका अन्य भेरियन्टहरूलाई पनि समर्थन गर्छ। दोस्रो प्यारामिटरले सेन्सर Grove Base Hat को डिजिटल पोर्टD5
मा जडान गरिएको छ भनेर कोडलाई बताउँछ।✅ याद गर्नुहोस्, सबै सकेटहरूको अद्वितीय पिन नम्बर हुन्छ। पिन 0, 2, 4, र 6 एनालग पिन हुन्, पिन 5, 16, 18, 22, 24, र 26 डिजिटल पिन हुन्।
-
माथिको कोडपछि, तापक्रम सेन्सरको मान पोल गर्न र कन्सोलमा प्रिन्ट गर्नको लागि अनन्त लूप थप्नुहोस्:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
sensor.read()
लाई कल गर्दा आर्द्रता र तापक्रमको ट्युपल फर्काउँछ। तपाईंलाई केवल तापक्रम मान चाहिन्छ, त्यसैले आर्द्रतालाई बेवास्ता गरिन्छ। त्यसपछि तापक्रम मानलाई कन्सोलमा प्रिन्ट गरिन्छ। -
लूपको अन्त्यमा दस सेकेन्डको सानो सुत्ने समय थप्नुहोस्, किनभने तापक्रम स्तरहरू निरन्तर जाँच गर्न आवश्यक छैन। सुत्नाले उपकरणको पावर खपत घटाउँछ।
time.sleep(10)
-
VS Code टर्मिनलबाट, आफ्नो Python एप चलाउन निम्न कमाण्ड चलाउनुहोस्:
python3 app.py
तपाईंले कन्सोलमा तापक्रम मानहरू देख्नुहुनेछ। सेन्सरलाई तताउन केही प्रयोग गर्नुहोस्, जस्तै यसलाई आफ्नो औंलाले थिच्नुहोस् वा फ्यान प्रयोग गरेर मानहरू परिवर्तन भएको हेर्नुहोस्:
pi@raspberrypi:~/temperature-sensor $ python3 app.py Temperature 26°C Temperature 26°C Temperature 28°C Temperature 30°C Temperature 32°C
💁 तपाईंले यो कोड code-temperature/pi फोल्डरमा फेला पार्न सक्नुहुन्छ।
😀 तपाईंको तापक्रम सेन्सर प्रोग्राम सफल भयो!
अस्वीकरण:
यो दस्तावेज़ AI अनुवाद सेवा Co-op Translator प्रयोग गरी अनुवाद गरिएको हो। हामी यथासम्भव सटीकता सुनिश्चित गर्न प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषामा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्त्वपूर्ण जानकारीका लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याका लागि हामी जिम्मेवार हुने छैनौं।