7.7 KiB
रात का चिराग़ बनाएं - रास्पबेरी पाई
पाठ के इस भाग में, आप अपने रास्पबेरी पाई में एक प्रकाश सेंसर जोड़ेंगे।
हार्डवेयर
इस पाठ के लिए सेंसर एक प्रकाश संवेदक है जो प्रकाश को विद्युत संकेत में बदलने के लिए फोटोडायोड का उपयोग करता है। यह एक एनालॉग सेंसर है जो 0 से 1,000 तक एक पूर्णांक मान भेजता है जो प्रकाश की सापेक्ष मात्रा को इंगित करता है जो माप की किसी भी मानक इकाई जैसे lux पर मैप नहीं करता है।
प्रकाश संवेदक एक टिकाऊ ग्रोव सेंसर है और इसे रास्पबेरी पाई पर ग्रोव बेस टोपी से जोड़ा जाना चाहिए।
लाइट सेंसर कनेक्ट करें
प्रकाश के स्तर का पता लगाने के लिए उपयोग किए जाने वाले ग्रोव लाइट सेंसर को रास्पबेरी पाई से जोड़ा जाना चाहिए।
टास्क - लाइट सेंसर कनेक्ट करें
प्रकाश संवेदक कनेक्ट करें
-
लाइट सेंसर मॉड्यूल के सॉकेट में ग्रोव केबल का एक सिरा डालें। यह केवल एक ही तरह से घूमेगा।
-
रास्पबेरी पाई के बंद होने के साथ, ग्रोव केबल के दूसरे छोर को पाई से जुड़ी ग्रोव बेस हैट पर A0 चिह्नित एनालॉग सॉकेट से कनेक्ट करें। यह सॉकेट GPIO पिन के बगल में सॉकेट की पंक्ति में दाईं ओर से दूसरा है।
लाइट सेंसर प्रोग्राम करें
डिवाइस को अब ग्रोव लाइट सेंसर का उपयोग करके प्रोग्राम किया जा सकता है।
टास्क - लाइट सेंसर प्रोग्राम करें
डिवाइस को प्रोग्राम करें।
-
पाई को पावर दें और इसके बूट होने की प्रतीक्षा करें।
-
वीएस कोड में नाइटलाइट प्रोजेक्ट खोलें जिसे आपने इस असाइनमेंट के पिछले भाग में बनाया था, या तो सीधे पाई पर चल रहा है या रिमोट एसएसएच एक्सटेंशन का उपयोग करके जुड़ा हुआ है।
-
app.py
फ़ाइल खोलें और उसमें से सभी कोड हटा दें। -
कुछ आवश्यक पुस्तकालयों को आयात करने के लिए निम्न कोड को
app.py
फ़ाइल में जोड़ें:import time from grove.grove_light_sensor_v1_2 import GroveLightSensor
import time
विवरणtime
मॉड्यूल को आयात करता है जिसे बाद में इस असाइनमेंट में उपयोग किया जाएगा।from grove.grove_light_sensor_v1_2 import GroveLightSensor
कथन Grove Python पुस्तकालयों सेGroveLightSensor
आयात करता है। इस लाइब्रेरी में ग्रोव लाइट सेंसर के साथ बातचीत करने के लिए कोड है, और पाई सेटअप के दौरान विश्व स्तर पर स्थापित किया गया था। -
प्रकाश संवेदक को प्रबंधित करने वाले वर्ग का एक उदाहरण बनाने के लिए ऊपर दिए गए कोड के बाद निम्नलिखित कोड जोड़ें:
light_sensor = GroveLightSensor(0)
लाइन
light_sensor = GroveLightSensor(0)
,GroveLightSensor
वर्ग को पिन A0 से जोड़ने का एक उदाहरण बनाती है - एनालॉग ग्रोव पिन जिससे लाइट सेंसर जुड़ा होता है। -
ऊपर दिए गए कोड के बाद एक अनंत लूप जोड़ें ताकि प्रकाश संवेदक मान का पता लगाया जा सके और इसे कंसोल पर प्रिंट किया जा सके:
while True: light = light_sensor.light print('Light level:', light)
यह
GroveLightSensor
वर्ग कीlight
संपत्ति का उपयोग करके 0-1,023 के पैमाने पर वर्तमान प्रकाश स्तर को पढ़ेगा। यह गुण पिन से अनुरूप मान को पढ़ता है। यह मान तब कंसोल पर मुद्रित होता है। -
लूप के अंत में एक सेकंड की एक छोटी sleep function जोड़ें क्योंकि प्रकाश के स्तर को लगातार जांचने की आवश्यकता नहीं होती है। एक sleep function डिवाइस की बिजली की खपत को कम करती है।
time.sleep(1)
-
वीएस कोड टर्मिनल से, अपना पायथन ऐप चलाने के लिए निम्नलिखित चलाएँ:
python3 app.py
कंसोल के लिए लाइट मान आउटपुट होंगे। प्रकाश संवेदक को कवर और उजागर करें, और मान बदल जाएंगे:
pi@raspberrypi:~/nightlight $ python3 app.py Light level: 634 Light level: 634 Light level: 634 Light level: 230 Light level: 104 Light level: 290
💁 आप इस कोड को कोड-सेंसर/पाई फ़ोल्डर में पा सकते हैं।
😀 आपके नाइटलाइट प्रोग्राम में सेंसर जोड़ना सफल रहा!