विषयसूची:
- चरण 1: अपना सामान प्राप्त करें
- चरण 2: फ्रंट और रियर पैनल को काटें
- चरण 3: रियर पैनल समाप्त करें
- चरण 4: एलईडी पैनल बनाएं
- चरण 5: एक लाइट गाइड बनाएं
- चरण 6: बटन फ़्रेम बनाएं
- चरण 7: मुख्य पीसीबी को मिलाएं
- चरण 8: घड़ी को इकट्ठा करो
- चरण 9: कोड अपलोड करें और लाइट सेंसर को कैलिब्रेट करें
- चरण 10: बाइनरी सिस्टम का त्वरित परिचय
- चरण 11: बाइनरी अलार्म क्लॉक का उपयोग करना
- चरण 12: कोड को समझना (वैकल्पिक)
- चरण 13: अंतिम शब्द
वीडियो: Arduino आधारित बाइनरी अलार्म घड़ी: 13 चरण (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
बेसमेंट इंजीनियरिंग द्वारा लेखक द्वारा अधिक का पालन करें:
के बारे में: नमस्ते, मेरा नाम जान है और मैं एक निर्माता हूं, मुझे चीजें बनाना और बनाना पसंद है और मैं सामान की मरम्मत में भी काफी अच्छा हूं। चूंकि मैं सोच सकता हूं कि मुझे हमेशा नई चीजें बनाना पसंद है और मैं तब तक यही करता रहता हूं… बेसमेंट इंजीनियरिंग के बारे में अधिक »
अरे, आज मैं आपको दिखाना चाहता हूं कि मेरी नवीनतम परियोजनाओं में से एक, मेरी बाइनरी अलार्म घड़ी कैसे बनाई जाए।
इंटरनेट पर कई अलग-अलग बाइनरी घड़ियां हैं, लेकिन यह वास्तव में पहली हो सकती है, जो रंगीन एड्रेसेबल एलईडी की एक पट्टी से बनाई गई है, जिसमें समय और रंग जैसी चीजों को सेट करने के लिए एक अलार्म फ़ंक्शन और टच बटन भी हैं।
कृपया इसके जटिल रूप को आपको डराने न दें। थोड़ी सी व्याख्या के साथ, बाइनरी पढ़ना वास्तव में उतना कठिन नहीं है जितना लगता है। और अगर आप कुछ नया सीखने के इच्छुक हैं, तो मैं बाद में ऐसा करने में आपकी मदद करना चाहूंगा।
आइए आपको बताते हैं इस प्रोजेक्ट के पीछे की कहानी के बारे में:
मैंने मूल रूप से एक "सामान्य" घड़ी बनाने की योजना बनाई थी, जो एलईडी के हाथों का उपयोग करती है, लेकिन मेरे पास पर्याप्त एलईडी नहीं थी।
सो, जब आप कम से कम एलईडी के साथ समय प्रदर्शित करना चाहते हैं तो आप क्या करते हैं?
आप बाइनरी जाते हैं, और ठीक यही मैंने यहां किया है।
यह घड़ी अपनी तरह का तीसरा संस्करण है। प्रोजेक्ट आइडिया के हिट होने के ठीक बाद मैंने एक बहुत ही सरल प्रोटोटाइप बनाया और इसे हनोवर में मेकर फेयर में ले गया, यह देखने के लिए कि लोग इसके बारे में क्या सोचते हैं। जब मैं वहां था, मुझे बहुत सकारात्मक और दिलचस्प प्रतिक्रिया के साथ-साथ सुधार के विचार भी मिले।
उन सभी विचारों और घंटों की सोच, टिंकरिंग और प्रोग्रामिंग का परिणाम है, यह बल्कि दिलचस्प दिखने वाली छोटी अलार्म घड़ी है, जिसमें संस्करण 1.0 की तुलना में कई और विशेषताएं हैं और आज हम निर्माण प्रक्रिया के हर चरण से गुजरने जा रहे हैं, ताकि आप कर सकें आसानी से खुद का निर्माण करें।
यदि आप सब कुछ नहीं पढ़ना चाहते हैं, तो Youtube पर एक बहुत विस्तृत वीडियो भी है।
चरण 1: अपना सामान प्राप्त करें
यहां उन सभी घटकों और उपकरणों की एक छोटी सूची दी गई है, जिनकी आपको अपनी बाइनरी घड़ी बनाने की आवश्यकता है।
इलेक्ट्रॉनिक्स:
- 18 एड्रेसेबल Ws2811 LED's (जैसे Neopixels) एक स्ट्रिप पर 60 LED's प्रति m (ebay) के साथ
- Arduino नैनो (ATMega328 प्रोसेसर के साथ) (ईबे)
- 1307 आरटीसी मॉड्यूल (ईबे)
- 4X कैपेसिटिव टच बटन (ईबे)
- bs18b20 डिजिटल तापमान सेंसर (ईबे)
- एलडीआर (ईबे)
- लैपटॉप/स्मार्टफोन स्पीकर या पीजो बजर
- 2222A NPN ट्रांजिस्टर (या ऐसा ही कुछ)
- पुरुष शीर्षलेख
- एंगल्ड फीमेल हेडर्स (ईबे)
- 1kOhm रोकनेवाला
- 4, 7kOhm रोकनेवाला
- 10kOhm रोकनेवाला
- तारों
- 7x5cm प्रोटोटाइप पीसीबी 24x18 छेद (ईबे)
- चांदी के तार (आभूषण तार) (ईबे)
- 90 डिग्री मिनी यूएसबी एडाप्टर (ईबे)
अन्य सामग्री
- विनाइल रैप
- 4X 45 मिमी एम 4 निकला हुआ किनारा सिर शिकंजा (ईबे)
- 32X m4 मेटल वाशर
- 4X m4 लॉक नट
- २८एक्स एम४ नट
- 4X 10mm m3 पीतल पीसीबी स्टैंडऑफ (ईबे)
- 8X 8mm m3 स्क्रू (ईबे)
- एल्युमिनियम की शीट
- दूधिया ऐक्रेलिक की 2 मिमी शीट
- स्पष्ट एक्रिलिक की 2 मिमी शीट
- एमडीएफ की 3 मिमी शीट
- दो तरफा टेप
उपकरण
- मिनी यूएसबी केबल
- Arduino IDE चलाने वाला कंप्यूटर
- 3, 5 मिमी ड्रिल बिट
- 4, 5 मिमी ड्रिल बिट
- ऊर्जा छेदन यंत्र
- काटने वाला चाकू
- कोपिंग सॉ
- सोल्डरिंग आयन
- धातु काटने वाली कैंची
- फ़ाइल
- सैंड पेपर
टेम्प्लेट (अब आयामों के साथ)
- पीडीएफ
- लिब्रे ऑफिस ड्रा
कोड
- रेखाचित्र
- बटन लाइब्रेरी
- टाइमर लाइब्रेरी
- ज्यूकबॉक्स लाइब्रेरी
- संशोधित RTClib
- एडफ्रूट नियोपिक्सल लाइब्रेरी
- Arduino-तापमान-नियंत्रण-लाइब्रेरी
चरण 2: फ्रंट और रियर पैनल को काटें
पहला टुकड़ा जो हम बनाने जा रहे हैं वह ऐक्रेलिक फ्रंट पैनल है। हम इस बात को ध्यान में रखते हुए चिन्हित करते हैं कि हम अपने कट्स को कहाँ ले जाना चाहते हैं, यह ध्यान में रखते हुए कि हम सैंडिंग के लिए थोड़ी सहनशीलता चाहते हैं। फिर हम बस अपने काटने वाले चाकू से ऐक्रेलिक को खुरचते हैं। 10 से 20 बार ऐसा करने के बाद हमारे पास एक नाली है। फिर हम उस ग्रोव को एक टेबल के किनारे पर रख सकते हैं और ऐक्रेलिक को तब तक मोड़ सकते हैं जब तक वह टूट न जाए।
फ्रंट पैनल के आकार में कट जाने के बाद हमने बैक पैनल को एमडीएफ के एक टुकड़े से काट दिया। हम इसके लिए अपने कोपिंग आरा का उपयोग कर सकते हैं लेकिन एक काटने वाला चाकू भी काम करता है। हमें बस एमडीएफ को लकड़ी के एक स्क्रैप टुकड़े पर जकड़ना है और इसे अपने काटने वाले चाकू से तब तक खुरचना है जब तक कि ब्लेड न निकल जाए और हमारे पास दो अलग-अलग टुकड़े हों।
अब हम दो पैनलों को एक साथ सैंडविच करते हैं और प्रत्येक पक्ष को पूरी तरह से संरेखित करने के लिए रेत करते हैं।
ऐसा करने के बाद, हमने पहले टेम्पलेट को काट दिया और इसे कुछ टेप का उपयोग करके दो पैनलों पर रख दिया और चिह्नित छेदों को ड्रिल करना शुरू कर दिया।
पहले हम ४ कोनों में से प्रत्येक में ४, ५ मिमी का छेद ड्रिल करते हैं। चूंकि ऐक्रेलिक बहुत भंगुर होता है और हम नहीं चाहते कि यह टूट जाए, हम एक छोटे से ड्रिल बिट के साथ शुरू करेंगे और जब तक हम वांछित छेद व्यास तक नहीं पहुंच जाते तब तक अपना काम करेंगे। फिर हम टेम्पलेट का उपयोग कोनों को सही आकार में रेत करने के लिए करते हैं।
चरण 3: रियर पैनल समाप्त करें
अभी के लिए, हम फ्रंट पैनल को एक तरफ रख सकते हैं और दूसरे टेम्प्लेट को बैक पैनल पर चिपका सकते हैं, जहां हमें अपने 4 पीसीबी स्टैंडऑफ के लिए छेदों को ड्रिल करने के लिए 3, 5 मिमी ड्रिल बिट का उपयोग करने की आवश्यकता होती है, साथ ही किनारों को चिह्नित करने वाले 4 छेद भी। छोटी सी खिड़की के लिए।
फिर हम एक फाइल के साथ खिड़की को काटने और किनारों को चिकना करने के लिए अपने कोपिंग आरा का उपयोग करते हैं। आप मिनी यूएसबी केबल के लिए छेद ड्रिल करना भी नहीं भूलना चाहते हैं (मैंने एक ऐसे निर्माता के बारे में सुना है जो इतना केंद्रित नहीं है, जो ऐसी चीजें करता है: डी)।
जैसा कि अब हम बैक पैनल को काटना समाप्त कर चुके हैं, हम इसे विनाइल रैप में लपेटने के लिए आगे बढ़ सकते हैं। हम बस दो टुकड़ों को सही आकार में काटते हैं और पहले वाले को एक तरफ से लगाते हैं। फिर हमने रिम्स को काट दिया और खिड़की को मुक्त कर दिया। एक हेयर ड्रायर सभी छिद्रों को फिर से दिखाई देने में मदद कर सकता है, इसलिए हम उन्हें काट भी सकते हैं। दूसरे पक्ष के लिए एक ही काम करने के बाद हम अपने अगले टेम्पलेट और हमारी स्क्रैप और ब्रेक तकनीक का उपयोग हमारे बैक पैनल के लिए छोटी एक्रिलिक विंडो बनाने के लिए करते हैं।
चरण 4: एलईडी पैनल बनाएं
अब हम सबसे शाब्दिक अर्थों में इस परियोजना का मुख्य आकर्षण आते हैं। एलईडी पैनल।
हम धातु की एक शीट से 12, 2 सेमी गुणा 8 सेमी के टुकड़े को काटने के लिए अपनी धातु काटने वाली कैंची का उपयोग करते हैं। ऐसा करते समय सावधान रहें, क्योंकि कैंची बहुत तेज किनारों का निर्माण करती है। हम उन्हें अपनी फाइल और कुछ सैंडपेपर के साथ सुचारू करने जा रहे हैं। फिर हम स्क्रू और तारों के लिए छेद ड्रिल करने के लिए अपना अगला टेम्प्लेट जोड़ते हैं।
वास्तविक एलईडी तैयार करने का समय।
सबसे पहले, हमने उन्हें 6 एलईडी के तीन स्ट्रिप्स में काट दिया। कुछ एलईडी स्ट्रिप्स बहुत पतली चिपकने वाली परत के साथ आती हैं या बिल्कुल भी चिपकने वाला नहीं है, इसलिए हम अपनी स्ट्रिप्स को दो तरफा टेप के एक टुकड़े पर चिपकाने जा रहे हैं और इसे चाकू से आकार में काट लेंगे। यह इसे धातु की प्लेट से चिपका देगा और, हालांकि यह एक पेशेवर समाधान नहीं है, यह तांबे के पैड को धातु की सतह के नीचे से अलग कर देगा।
इससे पहले कि हम वास्तव में स्ट्रिप्स को पैनल पर चिपका दें, हम इसे अल्कोहल से साफ करते हैं। जब हम एलईडी लगाते हैं, तो हमें यह सुनिश्चित करना होगा कि हम उन्हें सही जगह और साथ ही सही दिशा में नीचे रखें। एलईडी पट्टी पर छोटे तीर उस दिशा को इंगित करते हैं, जिसमें डेटा पट्टी के माध्यम से यात्रा करता है।
जैसा कि आप पांचवीं तस्वीर में देख सकते हैं, हमारी डेटा लाइन पैनल के ऊपरी बाएं कोने से आती है, पहली पट्टी के माध्यम से दाईं ओर जाती है, बाईं ओर निम्न पट्टी की शुरुआत की तुलना में और इसी तरह आगे. तो हमारे सभी तीरों को दाहिनी ओर इंगित करना है।
आइए हमारे सोल्डरिंग आयन को गर्म करें और तांबे के पैड पर और साथ ही हमारे तार पर कुछ टिन डालें। डेटा लाइनें जुड़ी हुई हैं जैसा कि मैंने अभी वर्णित किया है, जबकि हम स्ट्रिप के प्लस और माइनस पैड को समानांतर में जोड़ते हैं।
स्ट्रिप्स को तार-तार करने के बाद, हम एलईडी को नीचे रखते हुए प्रत्येक पट्टी के सिरों को सावधानी से उठाने के लिए अपने चाकू का उपयोग करते हैं, इसलिए वे अभी भी ऊपर की ओर इशारा करते हैं। फिर हम अपने सोल्डरिंग जोड़ों को इन्सुलेट करने के लिए नीचे कुछ गर्म गोंद डालते हैं।
ऐसा करने के बाद, हम पीसीबी में जाने वाले तारों में कुछ हेडर पिन जोड़ते हैं। वे तार लगभग 16 सेमी लंबे होने चाहिए। यह सुनिश्चित करने के लिए कि धातु पैनल कुछ भी छोटा नहीं कर रहा है, हम सभी पिनों के बीच प्रतिरोध को मापने के लिए एक मल्टीमीटर का उपयोग करते हैं। अगर यह 1kOhm से ऊपर कुछ भी दिखाता है, तो सब कुछ ठीक है।
अब हम इसे एक Arduino से जोड़ सकते हैं, एक स्ट्रैंडटेस्ट चला सकते हैं और रंगों का आनंद ले सकते हैं।
चरण 5: एक लाइट गाइड बनाएं
यदि हम अपने एलईडी पैनल को दूधिया ऐक्रेलिक के ठीक पीछे रखते हैं, तो अलग-अलग एलईडी को अलग बताना काफी मुश्किल हो सकता है। यह हमारी घड़ी को पढ़ने में पहले की तुलना में और भी कठिन बना देगा।
इस समस्या को हल करने के लिए, हम खुद को थोड़ा हल्का मार्गदर्शक बनाने जा रहे हैं। इसके लिए हमने एमडीएफ का एक और टुकड़ा काट दिया, जिसका आकार फ्रंट पैनल के समान है। फिर हम इसमें एक और टेम्प्लेट जोड़ते हैं और एलईडी के लिए अठारह ३, ५ मिमी छेद ड्रिल करते हैं, साथ ही इसमें शिकंजा के लिए चार ४, ५ मिमी छेद। फिर हम इसे सामने के पैनल पर दबा सकते हैं और दोनों को संरेखित करने के लिए कुछ सैंडपेपर का उपयोग कर सकते हैं।
जैसा कि आप पिछली तस्वीर में देख सकते हैं, प्रकाश अब बहुत अधिक केंद्रित दिखाई देता है।
चरण 6: बटन फ़्रेम बनाएं
अंतिम संलग्नक घटक, जिसे हम बनाने जा रहे हैं, वह है बटन फ्रेम।
हम, फिर से, एमडीएफ के एक टुकड़े को सही आकार में काटते हैं और उसमें एक टेम्पलेट जोड़ते हैं, फिर हम सभी आवश्यक छेदों को ड्रिल करते हैं और मध्य भाग को काटने के लिए हमारे कोपिंग आरी का उपयोग करते हैं।
हमारे फ्रेम में 4 टच बटन, लाइट सेंसर और हमारा छोटा स्पीकर होना चाहिए। इससे पहले कि हम उन्हें फ्रेम से जोड़ सकें, हमने एमडीएफ से कुछ छोटे कवर टुकड़े काट दिए। फिर हम अपने घटकों को उन कवरों पर गर्म-गोंद करते हैं और उनमें तार जोड़ते हैं।
टच बटन के पावर पैड समानांतर में जुड़े हुए हैं, जबकि प्रत्येक आउटपुट लाइन को एक अलग तार मिलता है। यह परीक्षण करने का भी एक अच्छा क्षण है कि क्या वे सभी काम कर रहे हैं। चूंकि प्रकाश संवेदक को एक तरफ 5 वोल्ट की आवश्यकता होती है, हम इसे केवल अलार्म बटन वीसीसी पैड से जोड़ सकते हैं और दूसरे पैर को एक तार मिला सकते हैं।
पैनल तैयार होने के बाद, हम उन्हें और उनके तारों के लिए जगह बनाने के लिए फ्रेम के किनारों में काटते हैं।
फिर हम सभी टुकड़ों से लकड़ी की धूल को वैक्यूम क्लीनर से हटाते हैं और उन्हें विनाइल रैप में ढक देते हैं।
हम अपने स्पर्श मॉड्यूल के संवेदनशील क्षेत्रों के ठीक ऊपर, विनाइल के टुकड़ों को हटाने के लिए सटीक चाकू का उपयोग करते हैं। कुछ दो तरफा टेप के साथ, हम अपने बटनों को एमडीएफ से जोड़ सकते हैं। मैंने अपने बटन रबर के फोम से बनाए हैं, जो उन्हें एक अच्छी, मुलायम बनावट देता है, लेकिन आप अपनी इच्छानुसार किसी भी गैर-धातु सामग्री का उपयोग कर सकते हैं।
फ्रेम पर हम अपने चाकू का उपयोग फिर से एमडीएफ के थोड़ा सा मुक्त करने के लिए करते हैं, जो हमें हॉटग्लू के लिए एक भयानक सतह देता है। फिर हम अंत में घटकों को हमारे फ्रेम के किनारों पर गोंद कर सकते हैं।
चरण 7: मुख्य पीसीबी को मिलाएं
चलो फ्रेम को अभी छोड़ दें और पीसीबी पर आगे बढ़ें। आप पहली तस्वीर में पीसीबी लेआउट देख सकते हैं।
हम सर्किट बोर्ड पर सबसे कम प्रोफ़ाइल वाले घटकों को रखकर शुरू करते हैं। सबसे छोटे घटक तार के पुल हैं, जिन्हें मुझे थोड़ा बहुत देर से याद आया, इसलिए मैंने प्रतिरोधों के साथ शुरुआत की। हम अपने घटकों को जगह में मिलाते हैं और घटकों के अगले उच्च सेट पर जाते हैं।
आगे हमारे पास हमारी महिला हेडर पिन हैं। कुछ जगह बचाने के लिए और अपने इलेक्ट्रॉनिक्स को साइड से प्लग करने में सक्षम होने के लिए हम उन्हें 90 डिग्री के कोण में माउंट करते हैं।
ट्रांजिस्टर वास्तव में हमारे पीसीबी के 2, 54 मिमी छेद में फिट नहीं होते हैं, इसलिए हम दूसरी तस्वीर में दिखाए गए आकार में अपने पैरों को ध्यान से मोड़ने के लिए अपने सरौता का उपयोग करते हैं। हम पहले उनके एक पैर को मिलाते हैं और पीसीबी को घुमाते हैं। फिर हम टांका लगाने वाले जोड़ को फिर से गर्म करते हैं और घटक को ठीक से स्थिति में लाने के लिए अपनी उंगली या सरौता की एक जोड़ी का उपयोग करते हैं। अब हम अन्य दो पैरों को जगह में मिलाप कर सकते हैं।
सभी छोटे घटकों के बाद हम अपने Arduino और हमारे वास्तविक समय घड़ी मॉड्यूल को जगह में मिलाते हैं। आरटीसी मॉड्यूल भी उस छेद की जगह में फिट नहीं होता है, इसलिए हम केवल उस तरफ से लैस करने जा रहे हैं, जिसमें हेडर पिन के साथ 7 सोल्डरिंग पैड हैं। इसके अलावा हम इसके नीचे कुछ टेप लगाते हैं, ताकि शॉर्ट सर्किट से बचा जा सके।
जैसा कि हमारे सभी घटकों को जगह में मिलाप किया गया है, अब बोर्ड के दूसरी तरफ कनेक्शन बनाने का समय आ गया है। इसके लिए हम अपना नॉन इंसुलेटेड वायर निकालने जा रहे हैं। इसे सीधा करने के लिए, सरौता की एक जोड़ी का उपयोग किया जा सकता है। फिर हमने तार को छोटे टुकड़ों में काट दिया और इसे पीसीबी में मिलाप किया।
एक कनेक्शन बनाने के लिए हम एक टांका लगाने वाले जोड़ को गर्म करते हैं और तार डालते हैं। हम तब उस पर सोल्डरिंग आयन रखते हैं, जब तक कि यह सही तापमान तक नहीं पहुंच जाता है और सोल्डर इसे घेर लेता है और हमें एक जोड़ मिल जाता है, जो तस्वीर में जैसा दिखता है। यदि हम तार को गर्म नहीं करते हैं, तो हम एक ठंडे जोड़ के साथ समाप्त हो सकते हैं, जो दूसरे उदाहरण के समान दिखाई देगा और बहुत अच्छा आचरण नहीं करेगा। टांका लगाने के दौरान तार को नीचे धकेलने के लिए हम अपने वायर कटर का उपयोग कर सकते हैं और यह सुनिश्चित कर सकते हैं कि यह पीसीबी पर सपाट है। लंबे कनेक्शन पथों पर, हम इसे हर 5 से 6 छेद में एक ही पैड में मिलाते हैं जब तक कि हम एक कोने या अगले घटक तक नहीं पहुंच जाते।
एक कोने में हमने टांका लगाने वाले पैड के पहले भाग के ऊपर के तार को काट दिया और इसके सिरे को मिलाप किया। फिर हम तार का एक नया टुकड़ा लेते हैं और वहां से समकोण पर चलते हैं।
उन रिक्त तार कनेक्शनों को बनाना काफी मुश्किल है और कुछ कौशल लेता है, इसलिए यदि आप इसे पहली बार कर रहे हैं, तो निश्चित रूप से इसे स्क्रैप पीसीबी पर अभ्यास करना एक बुरा विचार नहीं है, इसे वास्तविक पर करने का प्रयास करने से पहले।
टांका लगाने के बाद, हम फिर से कनेक्शन की जांच करते हैं और सुनिश्चित करते हैं कि हमने कोई शॉर्ट सर्किट नहीं बनाया है। फिर हम पीसीबी को बटन फ्रेम के अंदर रख सकते हैं और इसे आवश्यक फ्रेम वायर लंबाई के संदर्भ के रूप में उपयोग कर सकते हैं। फिर हम उन तारों को सही लंबाई में काटते हैं और उनमें पुरुष हेडर पिन जोड़ते हैं।
टच बटन के सभी 5V और ग्राउंड कनेक्शन 2pin कनेक्टर में एक साथ आते हैं, 4 आउटपुट तारों को 4pin कनेक्टर और लाइट सेंसर लाइन के साथ-साथ दो स्पीकर तारों को तीन पिन कनेक्टर में मिला दिया जाता है। प्रत्येक सॉकेट और कनेक्टर के एक तरफ एक शार्प, या कुछ टेप के साथ चिह्नित करना न भूलें, ताकि आप उन्हें गलत तरीके से गलती से प्लग न करें।
चरण 8: घड़ी को इकट्ठा करो
इसके बाद मैं फ्रंट पैनल पर वापस गया और अंतिम स्पर्श के रूप में पारदर्शी लेजर प्रिंटर फ़ॉइल से बने स्टिकर को ध्यान से लगाया।
भले ही मैंने इसे बहुत सावधानी से लागू किया, लेकिन मैं एक बुलबुला मुक्त परिणाम प्राप्त करने में असमर्थ था, जो दुर्भाग्य से करीब निरीक्षण पर स्पष्ट रूप से दिखाई देता है। पन्नी भी कोनों से बहुत अच्छी तरह से चिपकती नहीं है, इसलिए मैं वास्तव में इस समाधान की सिफारिश नहीं कर सकता।
यह शायद एक बेहतर स्टिकर के साथ किया जा सकता है, या, यदि आप ड्राइंग में अच्छे हैं, तो आप एक शार्प के साथ संख्याओं को जोड़ सकते हैं।
अब हमारे पास सभी घटक हैं और हम अपनी घड़ी को असेंबल कर सकते हैं।
हम लाइट गाइड और फ्रंट पैनल को एक साथ रखकर शुरू करते हैं। सभी 4 बोल्ट अंदर होने के बाद, हम दो पैनलों को संरेखित करते हैं और फिर उन्हें कस देते हैं। कुछ नट्स बाद में लाइट पैनल आते हैं, जहां हमें दिशा पर एक नज़र डालनी होती है। केबल सबसे ऊपर होनी चाहिए।
तीसरा टुकड़ा, बटन फ्रेम है। ध्यान रहे कि सामने से देखने पर इसका स्पीकर घड़ी के दायीं ओर होना चाहिए। इससे पहले कि आप इसे ठीक करें, अपने एलईडी पैनल के केबल को फ्रेम के बीच से खींच लें।
अब हम फ्रंट असेंबली को एक तरफ रख देते हैं और बैक पैनल पर चले जाते हैं। तस्वीर में, आप मेरे सुंदर स्व-निर्मित 90 डिग्री मिनी यूएसबी एडाप्टर को भी देख सकते हैं। मैंने आपको एक उचित एडॉप्टर लिंक किया है, इसलिए आपको इस तरह की गड़बड़ी से नहीं जूझना पड़ेगा। आप बस अपने एडॉप्टर को प्लग इन कर सकते हैं और पीछे के पैनल में एक छेद के माध्यम से केबल चला सकते हैं।
छोटी खिड़की को ठीक करने के लिए हम अपने M3 स्क्रू और अपने PCB स्पेसर लेते हैं। स्क्रू को सावधानी से कसना महत्वपूर्ण है, क्योंकि हम अपने ऐक्रेलिक को नुकसान नहीं पहुंचाना चाहते हैं। फिर हम अपना पीसीबी लेते हैं, अपने एडॉप्टर में प्लग करते हैं और इसे स्पेसर्स पर स्क्रू करते हैं। घटक पक्ष खिड़की का सामना करना चाहिए, जबकि Arduino का USB पोर्ट घड़ी के नीचे की ओर है।
फिर हम ध्रुवता को ध्यान में रखते हुए फ्रंट असेंबली से सभी कनेक्टर्स को प्लग इन करते हैं और घड़ी में सभी तारों को ध्यान से निचोड़ते हैं। फिर हम इसे बैक पैनल से बंद कर सकते हैं और 4 शेष लॉक नट्स को कस सकते हैं।
अंत में, आप प्रत्येक पैनल के हर तरफ एक वॉशर रखना चाहते हैं, जबकि लाइट गाइड को सीधे फ्रंट पैनल के पीछे रखा गया है। हमारे पास लाइट गाइड और एलईडी पैनल के बीच एक नट और दो और हैं, इसे बटन फ्रेम से अलग करते हैं। इसे आप आखिरी तस्वीर में भी देख सकते हैं।
जैसा कि मैंने 40 मिमी की लंबाई के साथ छोटे बोल्ट का उपयोग किया है, मेरे पास बैक पैनल और फ्रेम को अलग रखते हुए केवल 3 नट हैं। सही 45 मिमी बोल्ट के साथ, आप यहां एक और नट जोड़ेंगे, साथ ही एक या दो अतिरिक्त वाशर भी। असेंबली के अंत में हमारे पास लॉक नट होता है, ताकि सब कुछ यथावत रहे।
चरण 9: कोड अपलोड करें और लाइट सेंसर को कैलिब्रेट करें
हमारा कोड अपलोड करने का समय आ गया है।
सबसे पहले हम सभी आवश्यक फाइलों को डाउनलोड करते हैं और उन्हें अनजिप करते हैं। फिर हम अपना Arduino लाइब्रेरी फ़ोल्डर खोलते हैं और उसमें सभी नई लाइब्रेरी छोड़ देते हैं।
अब हम लाइट सेंसर कैलिब्रेशन स्केच खोलते हैं, जो हमें घड़ी के स्वचालित डिमर फ़ंक्शन के लिए उज्ज्वल और अंधेरे मान प्राप्त करेगा। हम इसे अपलोड करते हैं, सीरियल मॉनिटर खोलते हैं और स्क्रीन पर दिए गए निर्देशों का पालन करते हैं।
उसके बाद हम बाइनरी घड़ियों को वास्तविक कोड खोलते हैं और उन दो मानों को प्रतिस्थापित करते हैं जिन्हें हमने अभी मापा है।
हम अन्य सभी विंडो बंद करते हैं, कोड को हमारी घड़ी पर अपलोड करते हैं और हम कर चुके हैं।
हमारे नए गैजेट के साथ खेलने का समय।
चरण 10: बाइनरी सिस्टम का त्वरित परिचय
इससे पहले कि हम आगे बढ़ें, मैं एक प्रश्न का उत्तर देना चाहूंगा जो शायद आपके दिमाग में पहले से ही चल रहा हो, "दुनिया में आप इस घड़ी को कैसे पढ़ते हैं?"
खैर, इसके लिए मैं आपको बाइनरी सिस्टम का संक्षिप्त परिचय देना चाहूंगा।
हम सभी दशमलव प्रणाली से परिचित हैं, जहाँ प्रत्येक अंक में १० अलग-अलग अवस्थाएँ हो सकती हैं, जो ० से ९ तक होती हैं। बाइनरी में प्रत्येक अंक में केवल दो अवस्थाएँ हो सकती हैं, या तो १ या ० यही कारण है कि आप कुछ का उपयोग कर सकते हैं जैसे कि एक एलईडी के रूप में सरल एक द्विआधारी संख्या प्रदर्शित करें।
दशमलव में 9 से अधिक ग्रेटर वाली संख्याओं को प्रदर्शित करने के लिए, हम और अंक जोड़ते हैं। प्रत्येक अंक एक निश्चित गुणक के साथ आता है। दायीं ओर से पहला अंक 1 के गुणक के साथ आता है, अगला अंक 10 होता है और अगला 100 होता है। प्रत्येक नए अंक के साथ गुणक पहले के अंक से दस गुना बड़ा होता है। तो हम जानते हैं कि संख्या दो एक अंक को बाईं ओर रखती है, संख्या 20 का प्रतिनिधित्व करती है। जबकि बाईं ओर दो अंक, यह 200 का प्रतिनिधित्व करता है।
बाइनरी सिस्टम में प्रत्येक अंक भी एक गुणक के साथ आता है। हालाँकि, चूंकि प्रत्येक अंक में केवल दो अलग-अलग अवस्थाएँ हो सकती हैं, प्रत्येक नया गुणक पिछले वाले से दोगुना बड़ा होता है। ओह और वैसे, बाइनरी अंकों को बिट्स कहा जाता है। तो आइए अपने पहले उदाहरण पर एक नज़र डालते हैं, अगर हम 1 को सबसे निचले स्थान पर रखते हैं तो यह एक साधारण 1 है, लेकिन अगर हम इसे अगले उच्च स्थान पर रखते हैं, जहां हमारा गुणक 2 है, तो यह बाइनरी में नंबर 2 का प्रतिनिधित्व करता है।
कैसे तस्वीर के तल पर थोड़ा और मुश्किल उदाहरण के बारे में। तीसरा और पहला बिट चालू है। यहां दर्शाई गई दशमलव संख्या प्राप्त करने के लिए, हम केवल दो बिट्स के मान जोड़ते हैं। तो 4*1 + 1*1 या 4+1 हमें 5 नंबर देता है।
8 बिट्स को एक बाइट कहा जाता है, तो आइए देखें कि अगर हम एक पूरी बाइट को एक से भर दें तो हमें कौन सी संख्या मिलती है।1+2+4+8+16+32+64+128 यानी 255 जो एक बाइट का उच्चतम मूल्य हो सकता है।
वैसे, जबकि दशमलव प्रणाली में उच्चतम गुणक वाला अंक हमेशा पहले आता है, आपके पास बाइनरी में एक संख्या को नीचे लिखने के दो तरीके हैं। उन दो विधियों को कम से कम महत्वपूर्ण बाइट पहले (एलएसबी) और सबसे महत्वपूर्ण बाइट पहले (एमएसबी) कहा जाता है। यदि आप एक बाइनरी नंबर पढ़ना चाहते हैं, तो आपको यह जानना होगा कि दोनों में से किस प्रारूप का उपयोग किया जाता है। चूंकि यह दशमलव प्रणाली के करीब है, हमारी बाइनरी घड़ी एमएसबी संस्करण का उपयोग करती है।
आइए अपने वास्तविक दुनिया के उदाहरण पर वापस आते हैं। जैसा कि छठे चित्र में दिखाया गया है, घंटे को प्रदर्शित करने के लिए हमारी घड़ी में 4 बिट हैं। हमारे पास मिनट के लिए 6 बिट और सेकंड के लिए भी 6 बिट हैं। इसके अलावा हमारे पास एक सिंगल am/pm बिट है।
ठीक है, मुझे बताओ कि छठवीं तस्वीर में कौन सा समय है, न कि आखिरी तस्वीर पर जाने के लिए।. ….
घंटे के खंड में हमारे पास 2+1 है जो कि 3 है और दोपहर बिट चालू है इसलिए यह शाम है। अगले मिनट 32+8, जो कि 40 है। सेकंड के लिए हमारे पास 8+4+2 है जो कि 14 है। तो यह 3:40:14 बजे या 15:40:14 है।
बधाई हो, आपने अभी-अभी बाइनरी क्लॉक पढ़ना सीखा है। बेशक इसकी आदत पड़ने में कुछ समय लगता है और शुरुआत में आपको संख्याओं को एक साथ जोड़ना होगा, हर बार जब आप जानना चाहते हैं कि यह कितना समय है, लेकिन डायल के बिना एनालॉग घड़ी के समान, आपको एलईडी के पैटर्न की आदत हो जाती है समय।
और यह इस परियोजना के बारे में सब कुछ है, वास्तविक दुनिया में बाइनरी सिस्टम के रूप में सार के रूप में कुछ लेना और इसे बेहतर तरीके से जानना।
चरण 11: बाइनरी अलार्म क्लॉक का उपयोग करना
अब हम अंत में घड़ी के साथ खेलना चाहते हैं, तो आइए नियंत्रणों पर एक त्वरित नज़र डालें।
सॉफ्टवेयर सिंगल बटन टैप, डबल टैप और लॉन्ग टैप के बीच अंतर कर सकता है। तो प्रत्येक बटन का उपयोग कई कार्यों के लिए किया जा सकता है।
ऊपर या नीचे बटन पर एक डबल टैप एलईडी के रंग मोड को बदल देता है। आप विभिन्न स्थिर और लुप्त होती रंग मोड के साथ-साथ तापमान मोड के बीच चयन कर सकते हैं। यदि आप किसी स्थिर रंग मोड में हैं, तो ऊपर या नीचे बटन दबाए रखने से रंग बदल जाता है। लुप्त होती मोड में, एक टैप से एनिमेशन की गति बदल जाती है।
डिमर मोड सेट करने के लिए, आप ओके बटन पर डबल टैप करें। एलईडी पैनल कई बार ब्लिंक करके सेट मोड को इंगित करता है।
- वन टाइम का मतलब नो डिमर है।
- दो बार का मतलब है कि प्रकाश संवेदक द्वारा चमक को नियंत्रित किया जाता है।
- तीन बार और 10 सेकंड की निष्क्रियता के बाद एलईडी अपने आप बंद हो जाती है।
- चार बार और दोनों मंदर मोड संयुक्त हैं।
ओके बटन को लंबे समय तक दबाने से आप टाइम सेटिंग मोड में आ जाएंगे, जहां आप नंबर बदलने के लिए ऊपर और नीचे तीरों का उपयोग कर सकते हैं। ओके बटन पर एक सिंगल टैप आपको घंटों से लेकर मिनटों तक लाता है, एक और टैप और आप सेकंड सेट कर सकते हैं। उसके बाद, एक आखिरी टैप नया समय बचाता है। यदि आप समय सेटिंग मोड में प्रवेश करते हैं, तो आप बस 10 सेकंड के लिए प्रतीक्षा कर सकते हैं और घड़ी स्वचालित रूप से इसे छोड़ देगी।
ठीक बटन की तरह, अलार्म बटन को देर तक दबाने से आप अलार्म सेट कर सकते हैं। अलार्म बटन को दो बार टैप करने से अलार्म सक्रिय या निष्क्रिय हो जाता है।
अगर घड़ी बज रही है, तो आप अलार्म बटन को एक बार टैप करें, इसे 5 मिनट के लिए सोने के लिए भेजें या इसे रोककर रखें, अलार्म को निष्क्रिय करने के लिए।
ये सभी कार्य थे जो घड़ी ने अब तक किए हैं। यदि आप नवीनतम फर्मवेयर संस्करण डाउनलोड करते हैं, तो मैं भविष्य में और अधिक जोड़ सकता हूं जो आपको मिल सकता है।
चरण 12: कोड को समझना (वैकल्पिक)
मुझे पता है कि बहुत से लोग प्रोग्रामिंग को बहुत ज्यादा पसंद नहीं करते हैं। सौभाग्य से उन लोगों के लिए, इस बाइनरी घड़ी को बनाने और उपयोग करने के लिए किसी प्रोग्रामिंग ज्ञान की आवश्यकता नहीं है। इसलिए यदि आप प्रोग्रामिंग पक्ष की परवाह नहीं करते हैं, तो आप बस इस चरण को छोड़ सकते हैं।
हालाँकि, यदि आप कोडिंग भाग में रुचि रखते हैं, तो मैं आपको कार्यक्रम का एक सामान्य अवलोकन देना चाहूंगा।
क्लॉक कोड के हर छोटे से विवरण की व्याख्या करना अपने आप में एक निर्देश योग्य होगा, इसलिए मैं प्रोग्राम को ऑब्जेक्ट ओरिएंटेड तरीके से समझाकर इसे सरल रखूंगा।
यदि आप नहीं जानते कि इसका क्या अर्थ है, तो ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) अधिकांश आधुनिक प्रोग्रामिंग भाषाओं जैसे C++ की अवधारणा है। यह आपको विभिन्न कार्यों और चरों को तथाकथित कक्षाओं में व्यवस्थित करने की अनुमति देता है। क्लास एक टेम्प्लेट है जिससे आप एक या एक से अधिक ऑब्जेक्ट बना सकते हैं। इन वस्तुओं में से प्रत्येक को एक नाम मिलता है और यह चर का अपना सेट होता है।
उदाहरण के लिए, घड़ी का कोड कुछ मल्टीटचबटन ऑब्जेक्ट्स जैसे अलार्मबटन का उपयोग करता है। वे मल्टीटचबटन वर्ग की वस्तुएं हैं, जो मेरी बटन लाइब्रेरी का हिस्सा है। उन वस्तुओं के बारे में अच्छी बात यह है कि आप उनके साथ वास्तविक दुनिया की वस्तुओं के समान इंटरफेस कर सकते हैं। उदाहरण के लिए, हम देख सकते हैं कि क्या अलार्म बटन को अलार्मबटन.wasDoubleTapped() पर कॉल करके डबल टैप किया गया था। इसके अलावा, इस फ़ंक्शन का कार्यान्वयन एक अलग फ़ाइल में अच्छी तरह से छिपा हुआ है और हमें अपने कोड में कुछ और बदलकर इसे तोड़ने की चिंता करने की ज़रूरत नहीं है। वस्तु उन्मुख प्रोग्रामिंग की दुनिया में एक त्वरित प्रवेश, एडफ्रूट वेबसाइट पर पाया जा सकता है।
जैसा कि आप ऊपर ग्राफिक में देख सकते हैं, क्लॉक प्रोग्राम में विभिन्न वस्तुओं का एक गुच्छा होता है।
हमने सिर्फ बटन ऑब्जेक्ट्स के बारे में बात की, जो इनपुट सिग्नल को टैप, डबल टैप या लॉन्ग प्रेस के रूप में व्याख्या कर सकते हैं।
ज्यूकबॉक्स, जैसा कि नाम से पता चलता है, शोर कर सकता है। इसमें कई धुनें हैं, जिन्हें एक छोटे स्पीकर के माध्यम से बजाया जा सकता है।
बाइनरीक्लॉक ऑब्जेक्ट समय और अलार्म सेटिंग के साथ-साथ अलार्म देखने का प्रबंधन करता है। इसके अलावा यह rtc मॉड्यूल से समय प्राप्त करता है और इसे ledPanel के लिए एक बाइनरी सूचना बफर में परिवर्तित करता है।
ColorController सभी रंग प्रभाव कार्यों को इनकैप्सुलेट करता है और LEDPanel के लिए colorBuffer प्रदान करता है। यह Arduinos EEProm में अपनी स्थिति को भी बचाता है।
डिमर घड़ियों की चमक का ख्याल रखता है। इसके अलग-अलग तरीके हैं जिनसे उपयोगकर्ता साइकिल चला सकता है। वर्तमान मोड भी EEProm में सहेजा गया है।
LEDPanel प्रत्येक LED के रंग मान, चमक मान और बाइनरी स्थिति के लिए अलग-अलग बफ़र्स का प्रबंधन करता है। जब भी pushToStrip () फ़ंक्शन को कॉल किया जाता है, तो यह उन्हें ओवरले करता है और उन्हें लीड स्ट्रिप पर भेजता है।
सभी ऑब्जेक्ट मुख्य (सेटअप और लूप फ़ंक्शंस वाली फ़ाइल) के माध्यम से "कनेक्टेड" होते हैं, जिसमें केवल 3 आवश्यक कार्यों को करने के लिए कुछ फ़ंक्शन शामिल होते हैं।
- उपयोगकर्ता इनपुट की व्याख्या करना - यह 4 बटन ऑब्जेक्ट्स से इनपुट प्राप्त करता है और उन्हें तर्क के माध्यम से रखता है। यह तर्क यह निर्धारित करने के लिए घड़ी की वर्तमान स्थिति की जांच करता है कि क्या घड़ी सामान्य, समय सेटिंग या रिंगिंग मोड में है और तदनुसार अन्य वस्तुओं से अलग-अलग कार्यों को कॉल करती है।
- वस्तुओं के बीच संचार का प्रबंधन - यह बाइनरीक्लॉक ऑब्जेक्ट से लगातार पूछता है कि क्या उसके पास नई जानकारी उपलब्ध है या यदि अलार्म बज रहा है ()। यदि इसमें नई जानकारी है, तो यह बाइनरीक्लॉक से सूचना बफ़र प्राप्त करता है और इसे एलईडीपैनल ऑब्जेक्ट को भेजता है। अगर घड़ी बज रही है तो यह ज्यूकबॉक्स शुरू कर देती है।
- वस्तुओं को अद्यतन करना - कार्यक्रम के प्रत्येक ऑब्जेक्ट में एक अद्यतन प्रक्रिया होती है, जिसका उपयोग इनपुट की जांच करने या एलईडी के रंग बदलने जैसी चीजों के लिए किया जाता है। घड़ी को ठीक से काम करने के लिए उन्हें लूप फ़ंक्शन में बार-बार कॉल करने की आवश्यकता होती है।
इससे आपको एक सामान्य समझ मिलनी चाहिए कि कोड के अलग-अलग टुकड़े एक साथ कैसे काम करते हैं। यदि आपके पास अधिक विशिष्ट प्रश्न हैं, तो आप बस मुझसे पूछ सकते हैं।
चूंकि मेरा कोड निश्चित रूप से परिपूर्ण से बहुत दूर है, इसलिए मैं भविष्य में इसे और बेहतर बनाऊंगा, इसलिए कुछ फ़ंक्शन बदल सकते हैं। ओओपी के बारे में अच्छी बात यह है कि यह अभी भी बहुत समान तरीके से काम करेगा और आप इसे समझने के लिए ग्राफिक का उपयोग कर सकते हैं।
चरण 13: अंतिम शब्द
मुझे खुशी है कि आप यहां तक पढ़ते रहे। इसका मतलब है कि मेरी परियोजना बहुत उबाऊ नहीं थी:)।
मैंने इस छोटी सी घड़ी में बहुत अधिक काम किया है और सभी दस्तावेज़ीकरण और वीडियो में और भी अधिक काम किया है, ताकि आपके लिए अपनी बाइनरी अलार्म घड़ी बनाना आसान हो सके। मुझे आशा है कि मेरा प्रयास इसके लायक था और मैं आपको अपने अगले सप्ताहांत की परियोजना के लिए एक महान विचार के साथ जोड़ सकता हूं या कम से कम, आपको कुछ प्रेरणा दे सकता हूं।
मुझे यह सुनना अच्छा लगेगा कि आप नीचे दी गई टिप्पणियों में घड़ी के बारे में क्या सोचते हैं:)।
भले ही मैंने हर विवरण को कवर करने की कोशिश की, लेकिन हो सकता है कि मैं एक या दो चीज़ों से चूक गया हो। तो बेझिझक पूछें, अगर कोई सवाल बाकी है।
हमेशा की तरह, पढ़ने और खुश करने के लिए बहुत-बहुत धन्यवाद।
एलईडी प्रतियोगिता 2017 में उपविजेता
सिफारिश की:
स्मार्ट अलार्म घड़ी: रास्पबेरी पाई के साथ बनाई गई एक स्मार्ट अलार्म घड़ी: 10 कदम (चित्रों के साथ)
स्मार्ट अलार्म घड़ी: रास्पबेरी पाई के साथ बनी एक स्मार्ट अलार्म घड़ी: क्या आप कभी स्मार्ट घड़ी चाहते हैं? यदि हां, तो यह आपके लिए समाधान है!मैंने स्मार्ट अलार्म घड़ी बनाई है, यह एक ऐसी घड़ी है जिसे आप वेबसाइट के अनुसार अलार्म समय बदल सकते हैं। जब अलार्म बंद हो जाता है, तो एक ध्वनि (बजर) होगी और 2 बत्तियाँ
DIY Arduino बाइनरी अलार्म घड़ी: 14 कदम (चित्रों के साथ)
DIY Arduino बाइनरी अलार्म घड़ी: यह फिर से क्लासिक बाइनरी घड़ी है! लेकिन इस बार और भी अतिरिक्त फ़ंक्शन के साथ! इस निर्देश में, मैं आपको दिखाता हूँ कि Arduino के साथ एक बाइनरी अलार्म घड़ी कैसे बनाई जाती है जो आपको न केवल समय, बल्कि तारीख, महीना, यहां तक कि टाइमर और अलार्म मज़ा के साथ भी दिखा सकती है
DIY तिल स्ट्रीट अलार्म घड़ी (फायर अलार्म के साथ!): 6 कदम (चित्रों के साथ)
DIY तिल स्ट्रीट अलार्म घड़ी (फायर अलार्म के साथ!): हाय सब लोग! यह परियोजना मेरी पहली है। चूंकि मेरे चचेरे भाई का पहला जन्मदिन आ रहा था, मैं उसके लिए एक विशेष उपहार बनाना चाहता था। मैंने चाचा और चाची से सुना कि वह तिल स्ट्रीट में थी, इसलिए मैंने अपने भाई-बहनों के साथ अलार्म घड़ी बनाने का फैसला किया
वेब-आधारित नियंत्रण कक्ष के साथ वेब-कनेक्टेड स्मार्ट एलईडी एनिमेशन घड़ी, टाइम सर्वर सिंक्रोनाइज़्ड: 11 चरण (चित्रों के साथ)
वेब-आधारित कंट्रोल पैनल के साथ वेब-कनेक्टेड स्मार्ट एलईडी एनिमेशन क्लॉक, टाइम सर्वर सिंक्रोनाइज़्ड: इस घड़ी की कहानी बहुत पहले की है - 30 साल से अधिक। मेरे पिता ने इस विचार का बीड़ा उठाया था जब मैं एलईडी क्रांति से बहुत पहले सिर्फ 10 साल का था - जब एलईडी की 1/1000 उनकी वर्तमान चमकदार चमक की चमक थी। सच्चा
अनुकूलन योग्य गीत अलार्म के साथ एलईडी सनराइज अलार्म घड़ी: 7 कदम (चित्रों के साथ)
अनुकूलन योग्य गीत अलार्म के साथ एलईडी सनराइज अलार्म घड़ी: मेरी प्रेरणा इस सर्दी में मेरी प्रेमिका को सुबह उठने में बहुत परेशानी हुई और वह एसएडी (सीज़नल अफेक्टिव डिसऑर्डर) से पीड़ित लग रही थी। मैंने यह भी देखा कि सर्दियों में जागना कितना कठिन है क्योंकि सूरज नहीं आया है