# रात का चिराग़ बनाएं - रास्पबेरी पाई पाठ के इस भाग में, आप अपने रास्पबेरी पाई में एक प्रकाश सेंसर जोड़ेंगे। ## हार्डवेयर इस पाठ के लिए सेंसर एक **प्रकाश संवेदक** है जो प्रकाश को विद्युत संकेत में बदलने के लिए [फोटोडायोड](https://wikipedia.org/wiki/Photodiode) का उपयोग करता है। यह एक एनालॉग सेंसर है जो 0 से 1,000 तक एक पूर्णांक मान भेजता है जो प्रकाश की सापेक्ष मात्रा को इंगित करता है जो माप की किसी भी मानक इकाई जैसे [lux](https://wikipedia.org/wiki/Lux) पर मैप नहीं करता है। प्रकाश संवेदक एक टिकाऊ ग्रोव सेंसर है और इसे रास्पबेरी पाई पर ग्रोव बेस टोपी से जोड़ा जाना चाहिए। ### लाइट सेंसर कनेक्ट करें प्रकाश के स्तर का पता लगाने के लिए उपयोग किए जाने वाले ग्रोव लाइट सेंसर को रास्पबेरी पाई से जोड़ा जाना चाहिए। #### टास्क - लाइट सेंसर कनेक्ट करें प्रकाश संवेदक कनेक्ट करें ![एक ग्रोव लाइट सेंसर](../../../images/grove-light-sensor.png) 1. लाइट सेंसर मॉड्यूल के सॉकेट में ग्रोव केबल का एक सिरा डालें। यह केवल एक ही तरह से घूमेगा। 1. रास्पबेरी पाई के बंद होने के साथ, ग्रोव केबल के दूसरे छोर को पाई से जुड़ी ग्रोव बेस हैट पर **A0** चिह्नित एनालॉग सॉकेट से कनेक्ट करें। यह सॉकेट GPIO पिन के बगल में सॉकेट की पंक्ति में दाईं ओर से दूसरा है। ![सॉकेट A0 से जुड़ा ग्रोव लाइट सेंसर](../../../images/pi-light-sensor.png) ## लाइट सेंसर प्रोग्राम करें डिवाइस को अब ग्रोव लाइट सेंसर का उपयोग करके प्रोग्राम किया जा सकता है। ### टास्क - लाइट सेंसर प्रोग्राम करें डिवाइस को प्रोग्राम करें। 1. पाई को पावर दें और इसके बूट होने की प्रतीक्षा करें। 1. वीएस कोड में नाइटलाइट प्रोजेक्ट खोलें जिसे आपने इस असाइनमेंट के पिछले भाग में बनाया था, या तो सीधे पाई पर चल रहा है या रिमोट एसएसएच एक्सटेंशन का उपयोग करके जुड़ा हुआ है। 1. `app.py` फ़ाइल खोलें और उसमें से सभी कोड हटा दें। 1. कुछ आवश्यक पुस्तकालयों को आयात करने के लिए निम्न कोड को `app.py` फ़ाइल में जोड़ें: ```python 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` आयात करता है। इस लाइब्रेरी में ग्रोव लाइट सेंसर के साथ बातचीत करने के लिए कोड है, और पाई सेटअप के दौरान विश्व स्तर पर स्थापित किया गया था। 1. प्रकाश संवेदक को प्रबंधित करने वाले वर्ग का एक उदाहरण बनाने के लिए ऊपर दिए गए कोड के बाद निम्नलिखित कोड जोड़ें: ```python light_sensor = GroveLightSensor(0) ``` लाइन `light_sensor = GroveLightSensor(0)`, `GroveLightSensor` वर्ग को पिन **A0** से जोड़ने का एक उदाहरण बनाती है - एनालॉग ग्रोव पिन जिससे लाइट सेंसर जुड़ा होता है। 1. ऊपर दिए गए कोड के बाद एक अनंत लूप जोड़ें ताकि प्रकाश संवेदक मान का पता लगाया जा सके और इसे कंसोल पर प्रिंट किया जा सके: ```python while True: light = light_sensor.light print('Light level:', light) ``` यह `GroveLightSensor` वर्ग की `light` संपत्ति का उपयोग करके 0-1,023 के पैमाने पर वर्तमान प्रकाश स्तर को पढ़ेगा। यह गुण पिन से अनुरूप मान को पढ़ता है। यह मान तब कंसोल पर मुद्रित होता है। 1. लूप के अंत में एक सेकंड की एक छोटी sleep function जोड़ें क्योंकि प्रकाश के स्तर को लगातार जांचने की आवश्यकता नहीं होती है। एक sleep function डिवाइस की बिजली की खपत को कम करती है। ```python time.sleep(1) ``` 1. वीएस कोड टर्मिनल से, अपना पायथन ऐप चलाने के लिए निम्नलिखित चलाएँ: ```sh python3 app.py ``` कंसोल के लिए लाइट मान आउटपुट होंगे। प्रकाश संवेदक को कवर और उजागर करें, और मान बदल जाएंगे: ```output pi@raspberrypi:~/nightlight $ python3 app.py Light level: 634 Light level: 634 Light level: 634 Light level: 230 Light level: 104 Light level: 290 ``` > 💁 आप इस कोड को [कोड-सेंसर/पाई](code-sensor/pi) फ़ोल्डर में पा सकते हैं। 😀 आपके नाइटलाइट प्रोग्राम में सेंसर जोड़ना सफल रहा!