विषयसूची:

रिटायरमेंट क्लॉक / काउंट अप / डीएन क्लॉक: 4 कदम (चित्रों के साथ)
रिटायरमेंट क्लॉक / काउंट अप / डीएन क्लॉक: 4 कदम (चित्रों के साथ)

वीडियो: रिटायरमेंट क्लॉक / काउंट अप / डीएन क्लॉक: 4 कदम (चित्रों के साथ)

वीडियो: रिटायरमेंट क्लॉक / काउंट अप / डीएन क्लॉक: 4 कदम (चित्रों के साथ)
वीडियो: UP में पेंशन को लेकर CM Yogi का बड़ा फैसला, Retirement के तीन दिन के अंदर खाते में आ जाएगा पैसा 2024, जुलाई
Anonim
रिटायरमेंट क्लॉक / काउंट अप / डीएन क्लॉक
रिटायरमेंट क्लॉक / काउंट अप / डीएन क्लॉक

मेरे पास दराज में इन 8x8 एलईडी डॉट-मैट्रिक्स डिस्प्ले में से कुछ थे और मैं सोच रहा था कि उनके साथ क्या करना है। अन्य इंस्ट्रक्शंस से प्रेरित होकर, मुझे भविष्य की तारीख / समय की गिनती करने के लिए काउंट डाउन / अप डिस्प्ले बनाने का विचार आया और यदि लक्ष्य समय बीत गया, तो उसमें से गिनें। मैंने इसे अब अपनी सेवानिवृत्ति की घड़ी शेल्फ पर बैठकर बनाया है।

इसे एक बोतल में डालने का विचार एक आवरण के बारे में सोचते समय एक दुर्घटना थी। दूसरे जहाज बोतल में डालते हैं, घड़ी क्यों नहीं?

मैं घड़ी को डेलाइट सेविंग टाइम का पालन करना चाहता था और निश्चित रूप से अनप्लग होने पर सेटिंग्स और समय को याद रखना चाहता था। मैं यूएसबी के माध्यम से घड़ी को शक्ति प्रदान कर रहा हूं जो इसे पुन: प्रोग्राम करने योग्य बनाता है यदि आप कुछ अलग करना चाहते हैं या कोड में केवल सुविधाएं जोड़ना चाहते हैं। कोड बहुत सरल है और बहुत सारे अनुकूलन का भी उपयोग कर सकता है। मैंने रैम की खपत के बारे में अच्छी परवाह नहीं की, मुझे स्वीकार करना होगा। अगर मुझे समय और प्रेरणा मिली तो मैं इस पर वापस आऊंगा।

आपूर्ति

1. अरुडिनो नैनो

2. RTC (मैंने सामान्य DS3231 का उपयोग किया है जिसमें एक EEPROM भी है)

3. 12x 8x8 डॉट मैट्रिक्स मॉड्यूल। (मेरे पास क्वाड मॉड्यूल थे जिन्हें लाइन अप करना आसान है)

4. प्रदर्शन चमक को समायोजित करने के लिए एलडीआर

5. रोकनेवाला 10 kOhm

6. कैपेसिटर 5x 100 यूएफ डिस्प्ले से स्पाइक्स को दबाता है

7. 8x8 मॉड्यूल के कंट्रास्ट को बढ़ाने के लिए, मैंने डार्क टिंटेड "विंडो फिल्म" का इस्तेमाल किया। डिस्प्ले एलईडी को सफेद डॉट्स के रूप में दिखाता है यदि नहीं जलाया जाता है। विंडो फिल्म इसे चमकदार ब्लैक लुक देती है।

चरण 1: घटकों को कनेक्ट करें

घटकों को कनेक्ट करें
घटकों को कनेक्ट करें
घटकों को कनेक्ट करें
घटकों को कनेक्ट करें

मैंने डिस्प्ले को असेंबल करने के लिए तीन क्वाड डिस्प्ले का इस्तेमाल किया। स्लैश के साथ एक तिथि और कोलन के साथ समय दिखाने के लिए, हमें 8 वर्णों के लिए स्थान चाहिए। सामान्य 5x7 फ़ॉन्ट का उपयोग करते हुए, हमें प्रति पंक्ति छह 8x8 ब्लॉक की आवश्यकता होगी। मैंने क्वाड ब्लॉकों में से एक को आधा में काट दिया और इन्हें दो पंक्तियों के रूप में छह ब्लॉकों के रूप में व्यवस्थित किया जैसा कि ब्रेडबोर्ड योजनाबद्ध में दिखाया गया है।

चरण 2: 3डी प्रिंटेड पार्ट्स

3डी प्रिंटेड पार्ट्स
3डी प्रिंटेड पार्ट्स
3डी प्रिंटेड पार्ट्स
3डी प्रिंटेड पार्ट्स
3डी प्रिंटेड पार्ट्स
3डी प्रिंटेड पार्ट्स

डिस्प्ले की दो पंक्तियों को पकड़ने और बोतल में इन्हें रखने के लिए मैंने डिस्प्ले फ्रेम के लिए गोल दूरी के छल्ले मुद्रित किए। मैंने नीचे उपयोग की गई फ़ाइलों को जोड़ा। बिना किसी सहारे के इन्हें प्रिंट करने में सक्षम होने के लिए, इन्हें भागों में विभाजित किया जाता है। स्क्रीनशॉट डिस्प्ले फ्रेम से चिपके हुए दो रिंग दिखा रहा है। बॉटल नेक कवर में डिस्प्ले मोड के बीच स्विच करने और वर्तमान समय और लक्ष्य समय निर्धारित करने के लिए तीन बटन होते हैं। टीपीयू में मैंने जो बॉटल नेक कवर प्रिंट किया था, वह कनेक्टर्स को काटे बिना यूएसबी केबल को कवर में स्लाइड करने और तार की कुछ वाइंडिंग के साथ टाई करने की अनुमति देता है। मैं यह बताना भूल गया कि मैंने 1.5 लीटर शराब की बोतल का इस्तेमाल किया था जिसे मैंने सबसे नीचे काटा था। मुद्रित किए जाने वाले सभी भाग 20x20 सेमी (8x8 इंच) प्रिंटर बेड पर फिट होते हैं।

चरण 3: कोड

Arduino कोड कुछ सामान्य रूप से उपयोग किए जाने वाले पुस्तकालयों का उपयोग कर रहा है।

MD_MAX72xx

एसपीआई

वायर

आरटीसीएलबी

समय क्षेत्र

TimeLib

INO फ़ाइल में कुछ पंक्तियाँ हैं जिन्हें बदलने की आवश्यकता हो सकती है:

लाइन 38: #define HARDWARE_TYPE MD_MAX72XX::FC16_HW <- 8x8 मॉड्यूल और उसके अभिविन्यास पर निर्भर करता है

FC16_HW के बजाय यह इनमें से एक हो सकता है:

- MD_MAX72XX:: PAROLA_HW

- MD_MAX72XX::GENERIC_HW

- MD_MAX72XX::ICSTATION_HW

- MD_MAX72XX::FC16_HW

कोड यूएस सेंट्रल समय के लिए सेटिंग्स का उपयोग कर रहा है और अन्य समय क्षेत्रों के लिए समायोजन की आवश्यकता है:

लाइन 53/54:

TimeChangeRule myDST = {"CDT", दूसरा, सूर्य, मार्च, 2, -300}; // डेलाइट टाइम UTC-5TimeChangeRule mySTD = {"CST", फर्स्ट, सन, 2 नवंबर, -360}; // मानक समय यूटीसी -6

यह समायोजित करना आसान है। सीएसटी/सीडीटी नाम सिर्फ एक संदर्भ के लिए है। मैं तीन-अक्षर-संक्षिप्त नाम प्रदर्शित नहीं करता, इसलिए इससे कोई फर्क नहीं पड़ता। अगले पैरामीटर इस बात का जिक्र कर रहे हैं कि महीने में किस दिन स्विच हो रहा है। समायोजन मिनटों में होता है, इसलिए +/- 30 मिनट के समायोजन का उपयोग करने वाले स्थान भी काम करेंगे।

आरटीसी यूटीसी-टाइम पर आंतरिक रूप से चल रहा है जिससे टाइमज़ोन लाइब्रेरी को इरादा के अनुसार काम करने की इजाजत मिलती है। आपको आश्चर्य हो सकता है कि कोड पुराने DS1307 चिप को मेरे द्वारा उपयोग की जाने वाली घड़ी चिप के विपरीत क्यों संदर्भित कर रहा है, लेकिन इससे कोई फर्क नहीं पड़ता। पुस्तकालय या तो चिप के साथ ठीक काम कर रहा है। DS1307 में DS3132 से अधिक बहाव की प्रवृत्ति है। DS3132 पसंदीदा घड़ी है। जो लोग इंटरनेट समय जोड़ना चाहते हैं, उनके लिए एक ESP8266 काम बहुत आसानी से करेगा। इससे आरटीसी अप्रचलित हो सकता है। यदि आप ये परिवर्तन कर रहे हैं, तो लक्ष्य समय को संग्रहीत करने के लिए Arduino EEPROM का उपयोग करें, मैंने ऐसा करने के लिए RTC EEPROM का उपयोग किया।

चरण 4: संचालन और सेटिंग्स

संचालन और सेटिंग्स
संचालन और सेटिंग्स
संचालन और सेटिंग्स
संचालन और सेटिंग्स
संचालन और सेटिंग्स
संचालन और सेटिंग्स

तीन बटन हैं

1. मेनू / सेटिंग्स

2. ऊपर

3. नीचे

मेनू बटन तीन डिस्प्ले प्रकारों के माध्यम से साइकिल चलाने की अनुमति देता है: वर्तमान समय, लक्ष्य समय, डेल्टा समय। डेल्टा समय वर्तमान समय और लक्ष्य समय के बीच दिनों की संख्या, HH/MM/SS दिखा रहा है। यह t- दिखाएगा और यदि लक्ष्य भविष्य में है या t+ है तो उलटी गिनती और यदि लक्ष्य अतीत में है तो गिनना।

वर्तमान या लक्ष्य समय को समायोजित करने के लिए, वर्तमान समय या लक्ष्य समय प्रदर्शन का चयन करें। समय बदलने के लिए, 2 सेकंड के लिए मेनू बटन को दबाए रखें और छोड़ दें जो आपको सेटिंग मोड में लाएगा। पड़ोसी "/" या ":" यह इंगित करने के लिए "" में बदल जाएगा कि आप किस अंक को समायोजित कर रहे हैं। व्यक्तिगत hh/mm/ss और mm/dd/yy को समायोजित करने के लिए ऊपर/नीचे बटन का उपयोग करें। मैंने mm/dd/yy और dd/mm/yy के बीच स्विच करने के लिए कोई सेटिंग नहीं जोड़ी है, इसके लिए कोड में बदलाव की आवश्यकता है या शायद कोई इस सुविधा को जोड़ने के लिए तैयार है।

आप देखेंगे कि यदि आप मिनटों को 59 से अधिक या 00 से कम करते हैं, तो घंटे का प्रदर्शन भी समायोजित हो जाएगा। सेकंड, घंटे और दिनों के लिए भी यही सच है यदि इस अंक के लिए अधिकतम 0 या उससे अधिक पार करने पर अगले उच्च मान को बदलते हैं। मैंने ऐसा अलग-अलग महीनों की विभिन्न सीमाओं की प्रोग्रामिंग से बचने के लिए किया था और अगर फरवरी को लीप वर्ष में 29 दिनों की आवश्यकता होती है। समय का समायोजन वास्तव में युग-समय, सेकंड में जनवरी-1-1970 से किया जाता है।

मैंने गिनती दिखाने के लिए एक साधारण वीडियो जोड़ा। मैं इन्हें टर्निंग व्हील डिस्प्ले की तरह बनाना चाहता था। यदि आप परिवर्तन की अवधि को समायोजित करना चाहते हैं, तो INO में पंक्ति 69 आपको परिवर्तन को गति देने या धीमा करने के लिए कुछ विकल्प प्रदान करती है। 120ms अंकों को धीमा कर देगा क्योंकि यह लगातार चलने वाला पहिया होगा।

मुझे आशा है कि आपको यह निर्देश योग्य लगा होगा।

पैट्रिक गेशविंडनर

सिफारिश की: