विषयसूची:

मिनीडॉट २ - द होलोक्लॉक: ६ कदम
मिनीडॉट २ - द होलोक्लॉक: ६ कदम

वीडियो: मिनीडॉट २ - द होलोक्लॉक: ६ कदम

वीडियो: मिनीडॉट २ - द होलोक्लॉक: ६ कदम
वीडियो: बच्चों में सर्दी जुकाम के घरेलू उपचार || Cold and Cough Home Remedies for Baby 2024, जुलाई
Anonim
मिनीडॉट 2 - होलोक्लॉक
मिनीडॉट 2 - होलोक्लॉक
मिनीडॉट 2 - होलोक्लॉक
मिनीडॉट 2 - होलोक्लॉक

खैर शायद होलोक्लॉक थोड़ा गलत है…। यह थोड़ी गहराई देने के लिए सामने की तरफ होलोग्राफिक फैलाव फिल्म का उपयोग करता है। मूल रूप से यह निर्देश मेरे पिछले मिनीडॉट का अपडेट है जो यहां स्थित है:https://www.instructables.com/id /EEGLXQCSKIEP2876EE/ और यहां स्थित मेरे माइक्रोडॉट से बहुत सारे कोड और सर्किटरी का पुन: उपयोग:https://www.instructables.com/id/EWM2OIT78OERWHR38Z/EagleCAD फाइलें और सोर्सबूस्ट कोड संलग्न ज़िप फाइलों में शामिल है। क्यों? पिछला मिनीडॉट अत्यधिक जटिल था, माइक्रोडॉट से मैंने सीखा कि कैसे केवल 32.768 क्रिस्टल का उपयोग करके पीआईसी पर आरटीसी करना है और विशेष आरटीसी चिप का उपयोग करने की आवश्यकता नहीं है। इसके अलावा मैं पिछले मिनीडॉट से डिस्प्ले चिप्स से छुटकारा पाना चाहता था। तो अब केवल एक पावर रेगुलेटर चिप और एक PIC16F88….सिर्फ दो चिप्स हैं। अपडेट के अन्य कारण थे कि मेरा मिनीडॉट अलग स्विच बोर्ड के कारण थोड़ा अविश्वसनीय हो रहा था और मैं डॉट पैटर्न के बीच एक नरम फीका चाहता था। साथ ही रात में डिस्प्ले को डिम करने के लिए किसी तरह का एंबियंट लाइट सेंसर। दूसरा मिनीडॉट निश्चित चमक वाला था, और रात में एक कमरे को रोशन करता था। डिवाइस का निर्माण ईगलकैड सॉफ्टवेयर पैकेज और सोर्सबूस्ट कंपाइलर की सहायता से किया गया था। इस परियोजना को शुरू करने के लिए आपको इलेक्ट्रॉनिक्स और प्रोग्रामिंग पीआईसी नियंत्रकों के साथ कुछ अनुभव की आवश्यकता होगी। कृपया ध्यान दें कि यह इलेक्ट्रॉनिक्स या PIC प्रोग्रामिंग पर एक निर्देश योग्य नहीं है, इसलिए कृपया प्रश्नों को मिनिक्लॉक डिज़ाइन से संबंधित रखें। ईगलकैड या प्रोग्रामिंग पीआईसी का उपयोग करने के बारे में सलाह के लिए इस साइट पर ऊपर दिए गए निर्देशों या कई अन्य निर्देशों का संदर्भ लें। तो यह है…..मिनीडॉट 2, द होलोक्लॉक……या मिनीडॉट द नेक्स्ट जेनरेशन…….

चरण 1: सर्किट

सर्किट
सर्किट
सर्किट
सर्किट
सर्किट
सर्किट

यह सर्किट माइक्रोडॉट से बहुत मिलता-जुलता है। ध्यान दें कि चार्लीप्लेक्स सरणी वस्तुतः समान है … केवल कुछ पिनों को स्थानांतरित किया गया है।

पीआईसी को बहुत तेजी से देखने के लिए माइक्रोडॉट सर्किट में 20 मेगाहर्ट्ज क्रिस्टल जोड़ा गया है, यह सरणी को तेजी से स्कैन करने की अनुमति देता है और एक डिमिंग एल्गोरिदम के कार्यान्वयन को सक्षम बनाता है। एक क्रॉस पैटर्न फीका और काम करने के लिए परिवेश प्रकाश समारोह प्राप्त करने के लिए डिमिंग एल्गोरिदम बहुत महत्वपूर्ण था। यह माइक्रोडॉट के साथ असंभव होता, क्योंकि घड़ी की धीमी गति के कारण कुछ स्कैन चक्रों को डिमिंग पर खर्च करने की आवश्यकता होती थी। डिमिंग कार्यक्षमता के विवरण के लिए अगला भाग देखें। ध्यान देने योग्य अन्य बातें 5V की आपूर्ति के लिए MCP1252 चार्ज पंप रेगुलेटर का उपयोग हैं, जो इस समय मेरी पसंदीदा चिप है। यदि आपने सर्किट को संशोधित किया है तो आप एक सादे पुराने 7805 का उपयोग कर सकते हैं …… मेरे पास बस इनमें से कई आसान चिप्स हैं जो चारों ओर लटके हुए हैं। मैंने अब स्विच को आगे की ओर ले जाया है, समय को रीसेट करने के लिए पावर ड्रॉपआउट के बाद चौबीसों घंटे फिडलिंग बचाता है और अब सब कुछ केवल एक पीसीबी है…। कोई केबलिंग समस्या नहीं है। एक एलडीआर का समावेश भी ध्यान देने योग्य है। इसका उपयोग वोल्टेज विभक्त में किया जाता है जिसे पीआईसी पर ए/डी पिन द्वारा महसूस किया जाता है। जब PIC को लगता है कि परिवेशी प्रकाश का स्तर कम है (यानी रात का समय) तो डिमिंग एल्गोरिथ्म चार्लीप्लेक्स सरणी को प्रकाश स्तर के उच्च होने की तुलना में अधिक चक्रों के लिए अंधेरा रखता है। मुझे ईगलकैड लाइब्रेरी में एक एलडीआर प्रतीक नहीं मिला, इसलिए मैंने सिर्फ एक एलईडी प्रतीक का उपयोग किया….. मूर्ख मत बनो यह एक एलडीआर है। नीचे पीसीबी की वास्तविक तस्वीर देखें। चार्लीप्लेक्स सरणी में बहु-रंगीन एल ई डी का उपयोग करते समय एक बात का ध्यान रखें। आपको यह सुनिश्चित करने की आवश्यकता है कि एल ई डी का आगे का वोल्टेज कमोबेश एक जैसा है। यदि नहीं, तो भटका हुआ वर्तमान पथ हो सकता है और कई एल ई डी प्रकाश करेंगे। इस प्रकार इस कॉन्फ़िगरेशन के लिए 5 मिमी या उच्च शक्ति वाले एलईडी का उपयोग करना काम नहीं करेगा क्योंकि आमतौर पर हरे/नीले एलईडी और लाल/पीले एलईडी के बीच काफी अंतर होता है। इस मामले में मैंने विशेष रूप से 1206 एसएमडी एलईडी और उच्च दक्षता वाले हरे/नीले एलईडी का उपयोग किया। हालांकि आगे के वोल्टेज यहां कोई मुद्दा नहीं थे। यदि आप चार्लीप्लेक्स सरणी में हरे/नीले और लाल/पीले उच्च शक्ति एल ई डी के मिश्रण का उपयोग करना चाहते हैं तो आपको अलग-अलग रंगों को दो चार्लीप्लेक्स सरणी में अलग करना होगा। चार्लीप्लेक्सिंग के कई स्पष्टीकरण हैं जिन्हें गुगल किया जा सकता है …… मैं यहां विवरण में नहीं जाऊंगा। कुछ शोध करने के लिए मैं इसे आप पर छोड़ता हूँ। (बड़ा संस्करण देखने के लिए नीचे दी गई तस्वीर के कोने में छोटा 'i' आइकन दबाएं)

चरण 2: द डिमिंग एल्गोरिथम - चार्लीप्लेक्स्ड पल्स चौड़ाई मॉडुलन

द डिमिंग एल्गोरिथम - चार्लीप्लेक्स्ड पल्स चौड़ाई मॉडुलन
द डिमिंग एल्गोरिथम - चार्लीप्लेक्स्ड पल्स चौड़ाई मॉडुलन

जैसा कि पहले उल्लेख किया गया है, मैं चाहता था कि समय के लिए अलग-अलग डॉट पैटर्न एक पैटर्न से दूसरे पैटर्न में झटके के बजाय आसानी से फीके पड़ें। एक प्रदर्शन के लिए वीडियो देखें। बीच में नई मिनीडॉट घड़ी है, दाईं ओर पुरानी मिनीडॉट है। ध्यान दें कि नया कितना अच्छा है। (FYI करें पृष्ठभूमि में अन्य डिस्प्ले मेरे मिनीक्रे सुपरकंप्यूटर स्टेटस डिस्प्ले और मेरे कैप्चर किए गए नेबुलॉन कण हैं जो एंटीमैटर चुंबकीय बंधन क्षेत्र में मिनिक्रे को शक्ति देते हैं। यहां देखें: https://www.youtube.com/embed/bRupDulR4ME प्रदर्शन के लिए निहारिका कारावास कक्ष का) यदि आप कोड में देखते हैं, तो डिस्प्ले.सी फ़ाइल खोलें। ध्यान दें कि किसी विशेष सरणी को रोशन करने के लिए ट्रिस/पोर्ट मानों को मैप करने के लिए चार सरणियाँ हैं और दो सरणियाँ (माइक्रोडॉट कोड से एक अधिक) यह परिभाषित करने के लिए कि एल ई डी के किसी विशेष पैटर्न के लिए कौन से एल ई डी को रोशन किया जाना चाहिए।

// LED1 LED2 LED3 … अहस्ताक्षरित चार LEDS_PORTA [31] = {0x10, 0x00, 0x00, … अहस्ताक्षरित चार LEDS_TRISA [31] = { 0xef, 0xff, 0xff, … अहस्ताक्षरित चार LEDS_PORTB [31] = { 0x00, 0x02, 0x04, … अहस्ताक्षरित चार LEDS_TRISB [31] = { 0xfd, 0xf9, 0xf9, … अहस्ताक्षरित चार nLedsA [30]; अहस्ताक्षरित चार nLedsB [30];उदाहरण के लिए LED1 को रोशन करने के लिए, आपको TRIS रजिस्टर TRISA:B = 0xef:0xfd और PORT रजिस्टर PORTA:B=0x10:0x00 इत्यादि सेट करने होंगे। यदि आप बाइनरी में ट्रिस मान लिखते हैं, तो आप देखेंगे कि किसी भी समय, केवल दो आउटपुट सक्षम हैं। अन्य सभी त्रि-राज्य (इसलिए टीआरआईएस रजिस्टर) के लिए तैयार हैं। यह चार्लीप्लेक्सिंग का केंद्र है। आप यह भी ध्यान देंगे कि एक आउटपुट हमेशा एक तार्किक '1' होता है और दूसरा हमेशा एक तार्किक '0' होता है… जिसकी दिशा इन दो आउटपुट लाइनों के बीच में जो भी एलईडी चालू होती है। पोर्ट/ट्रिस में अंतिम मान बिना एलईडी को चालू करने के लिए सरणियाँ एक शून्य मान है। माइक्रोडॉट में, अपडेट_डिस्प्ले फ़ंक्शन लगातार एक अन्य सरणी (nLeds) के माध्यम से साइकिल चलाता है यह देखने के लिए कि क्या उस विशेष एलईडी को रोशन किया जाना था। यदि ऐसा था, तो संबंधित ट्रिस/पोर्ट मान सेट किए गए थे और एलईडी कुछ समय के लिए प्रकाशित हुई थी। अन्यथा शून्य मान PICs TRIS/PORT रजिस्टरों को भेज दिया गया था और कुछ समय के लिए कोई LED प्रकाशित नहीं हुई थी। जब यह काफी तेजी से किया गया तो इसने एक पैटर्न दिया। शेष कार्यक्रम समय-समय पर आरटीसी मूल्यों को पढ़ेगा और उस सरणी में एक अच्छा यादृच्छिक पैटर्न बनायेगा … और इसलिए प्रदर्शन बदल गया। एक डिमिंग फ़ंक्शन बनाने के लिए, इसे थोड़ा बढ़ाया गया ताकि 30 एल ई डी या तो प्रकाशित हो जाएं (या नहीं) तो शून्य मान भेजने पर अतिरिक्त अवधि खर्च की जाएगी यदि प्रदर्शन को मंद किया जाना था…..पूर्ण चमक के लिए तो कोई अतिरिक्त अवधि खर्च नहीं की जाएगी। जब दोहराया जाता है कि प्रबुद्ध एल ई डी के लिए बहुत अधिक अशक्त अवधि होती है, तो प्रदर्शन मंद होगा। वास्तव में यह मल्टीप्लेक्स पल्स चौड़ाई मॉड्यूलेशन है…..या क्योंकि हार्डवेयर को चार्लीप्लेक्स अरेंजमेंट में कॉन्फ़िगर किया गया है, फिर चार्लीप्लेक्स्ड पल्स चौड़ाई मॉड्यूलेशन। नीचे दिया गया दूसरा आरेख इसके लिए मूल सेटअप दिखाता है। मैं इसे स्कैन फ्रेम कहता हूं। फ्रेम के पहले 30 अवधियों का उपयोग एल ई डी के माध्यम से जाने के लिए किया जाता है…..और अतिरिक्त अवधियों की एक चर संख्या परिभाषित करती है कि प्रदर्शन कितना मंद होगा। यह चक्र दोहराता है। अधिक अशक्त अवधियों का अर्थ है प्रति फ्रेम एलईडी के लिए कम समय (क्योंकि अवधियों की संख्या में वृद्धि हुई है)। ध्यान दें कि ऊर्ध्वाधर अक्ष का मतलब वोल्टेज स्तर नहीं है। एल ई डी में जाने वाले पिनों की वास्तविक स्थिति चार्लीप्लेक्स सरणी में इसकी स्थिति के आधार पर भिन्न होती है…..आरेख में इसका मतलब केवल चालू या बंद होता है। इसका मतलब यह भी है कि समय में फ्रेम की कुल लंबाई भी बढ़ जाती है, इस प्रकार ताज़ा कम हो जाती है भाव। जैसे ही एल ई डी मंद हो गए, वे दूसरे शब्दों में झिलमिलाहट शुरू कर देंगे। अतः यह विधि एक सीमा तक ही उपयोगी है। घड़ी के लिए, यह ठीक था। एक फ़ंक्शन को आंतरायिक रूप से कहा जाता है जो PIC पर A/D कनवर्टर को पढ़ता है और इस चमक स्तर को सेट करता है। यदि आप कोड पढ़ते हैं, तो यह यह देखने के लिए भी जांचता है कि क्या एलडीआर के निकटतम एलईडी चालू है, और यदि ऐसा है तो कोई स्तर सेटिंग नहीं करता है, यह पैटर्न बदलने पर अप्रत्याशित रूप से चमकने वाले डिस्प्ले को रोकता है। इसके बाद क्रॉस फीड फ़ंक्शन।

चरण 3: डिमिंग एल्गोरिथम - क्रॉस फेड इफेक्ट और डबल बफरिंग

डिमिंग एल्गोरिथम - क्रॉस फेड इफेक्ट और डबल बफरिंग
डिमिंग एल्गोरिथम - क्रॉस फेड इफेक्ट और डबल बफरिंग

एक पैटर्न और अगले के बीच संक्रमण पहले तत्काल था। इस घड़ी के लिए मैं एक पैटर्न दिखाना चाहता था जो चमक में धीरे-धीरे कम हो रहा था और अगला पैटर्न धीरे-धीरे बढ़ रहा था … यानी एक क्रॉस फीका।

क्रॉस फेड करने के लिए मुझे अलग-अलग चमक स्तरों पर अलग-अलग एल ई डी को नियंत्रित करने की आवश्यकता नहीं थी। बस एक चमक पर पहला पैटर्न चाहिए और दूसरा कम चमक पर। फिर थोड़े समय के लिए मैं पहले की चमक को थोड़ा कम कर दूंगा, और दूसरे को बढ़ा दूंगा…..यह दूसरे पैटर्न के पूर्ण होने तक चलता रहेगा। तब घड़ी तब तक प्रतीक्षा करेगी जब तक कि अगला पैटर्न शो के कारण न हो और एक और संक्रमण हो। इस प्रकार मुझे दो पैटर्न स्टोर करने की आवश्यकता थी। एक वर्तमान में प्रदर्शित किया जा रहा है और दूसरा पैटर्न जो प्रदर्शित होने वाला था। ये सरणी nLedsA और nLedsB में हैं। (ध्यान दें कि इस मामले में बंदरगाहों से कोई लेना-देना नहीं है)। यह डबल बफर है। Update_display () फ़ंक्शन को आठ फ़्रेमों के माध्यम से चक्र के लिए संशोधित किया गया था और पहले एक सरणी से कई फ़्रेम दिखाता है, फिर दूसरा। आठ चक्रों में प्रत्येक बफ़र को आवंटित फ़्रेमों की संख्या को बदलने से यह परिभाषित होता है कि प्रत्येक पैटर्न कितना उज्ज्वल होगा। जब हमने बफ़र्स के बीच साइकिल चलाना समाप्त किया तो हमने 'डिस्प्ले' और 'नेक्स्ट डिस्प्ले' बफ़र्स को चारों ओर से बदल दिया, इसलिए पैटर्न जनरेटिंग फंक्शन तब केवल 'नेक्स्ट डिस्प्ले' बफर को लिखेगा। नीचे दिया गया चित्र इसे उम्मीद से दिखाता है। आपको यह देखने में सक्षम होना चाहिए कि संक्रमण 64 स्कैन फ़्रेम लेगा। चित्र में, छोटा इनसेट पिछले पृष्ठ से स्कैन फ्रैम आरेख को कलात्मक रूप से छोटा करके दिखाता है। री-फ्रेश रेट पर एक शब्द। यह सब बहुत जल्दी करने की जरूरत है। अब हमारे पास अतिरिक्त संगणना के दो स्तर हैं, एक परिवेशी प्रदर्शन मंदता के लिए और दूसरा आठ फ्रेम चक्रों के लिए जो दो बफ़र्स के बीच संक्रमण करने में खर्च किए गए हैं। इस प्रकार यह कोड असेंबली में लिखा जाना चाहिए था, लेकिन 'सी' में काफी अच्छा है।

चरण 4: निर्माण - पीसीबी

निर्माण - पीसीबी
निर्माण - पीसीबी
निर्माण - पीसीबी
निर्माण - पीसीबी

यह काफी सीधा है। शीर्ष पर कुछ एसएमडी घटकों के साथ बस एक दो तरफा पीसीबी। क्षमा करें यदि आप एक थ्रू होल व्यक्ति हैं, लेकिन SMD प्रोजेक्ट बनाना बहुत आसान है…। ड्रिल करने के लिए कम छेद। चीजों को आसान बनाने के लिए आपके पास एक स्थिर हाथ, एक तापमान नियंत्रित सोल्डरिंग स्टेशन और भरपूर प्रकाश और आवर्धन होना चाहिए।

पीसीबी के निर्माण में नोट की एकमात्र चीज पीआईसी प्रोग्रामिंग के लिए कनेक्टर को शामिल करना है। यह PIC पर ICSP पिन से जुड़ता है और आपको ICSP प्रोग्रामर की आवश्यकता होगी। फिर से मैंने अपने जंकबॉक्स कनेक्टर के लिए एक काम का इस्तेमाल किया। यदि आप चाहें तो आप इसे छोड़ सकते हैं और पैड में केवल सोल्डर तारों को छोड़ सकते हैं। वैकल्पिक रूप से यदि आपके पास केवल एक सॉकेटेड प्रोग्रामर है, तो आप एक हेडर बना सकते हैं जो आपके सॉकेट में प्लग करता है और फिर उसे ICSP पैड में मिला देता है। यदि आप ऐसा करते हैं, तो Rx को डिस्कनेक्ट करें और Ry को कनेक्ट करें जो सिर्फ शून्य ओम लिंक हैं (मैं सिर्फ एक सोल्डर ब्लॉब का उपयोग करता हूं)। यह बाकी सर्किट पावर को PIC से डिस्कनेक्ट कर देगा ताकि यह प्रोग्रामिंग में हस्तक्षेप न करे। एक सॉकेटेड प्रोग्रामर सिर्फ एक ICSP प्रोग्रामर की तरह ICSP पिन का उपयोग करता है, इसमें वास्तव में कोई जादू शामिल नहीं है। आपको यह भी करना होगा यदि गलती से आप आरटीसी शुरू होने से पहले कोड में देरी करना भूल गए हैं। 16F88 के लिए ICSP प्रोग्रामिंग पिन RTC के लिए उपयोग किए जाने वाले 32.768kHz क्रिस्टल के लिए आवश्यक पिन के समान हैं …… यदि T1 बाहरी थरथरानवाला (यानी RTC) ICSP के काम शुरू करने से पहले चल रहा है, तो प्रोग्रामिंग विफल हो जाएगी. आम तौर पर अगर एमसीएलआर पिन पर रीसेट होता है और देरी होती है, तो आईसीएसपी डेटा इन पिनों पर भेजा जा सकता है और प्रोग्रामिंग ठीक से शुरू हो सकती है। हालाँकि, PIC को शक्ति को अलग करके ICSP प्रोग्रामर (या हेडर के साथ सॉकेटेड प्रोग्रामर) डिवाइस को पावर को नियंत्रित कर सकता है और एक प्रोग्राम को बाध्य कर सकता है। ध्यान देने योग्य अन्य बातें यह हैं कि पीसीबी पर क्रिस्टल पैड मूल रूप से एसएमडी क्रिस्टल के लिए डिज़ाइन किए गए थे। मैं कुछ के डिलीवर होने का इंतजार नहीं कर सकता था, इसलिए 32.768kHz वॉच क्रिस्टल को शीर्ष पर मिलाप किया गया था जैसा कि दिखाया गया है, और 20MHz क्रिस्टल को पैड में छेद के एक जोड़े को ड्रिल करके, नीचे से क्रिस्टल को पोक करके और टांका लगाने से जोड़ा गया था। ऊपर। आप PIC16F88 के ठीक दाईं ओर पिन देख सकते हैं।

चरण 5: होलोग्राफिक फिल्म और आवास

होलोग्राफिक फिल्म और आवास
होलोग्राफिक फिल्म और आवास
होलोग्राफिक फिल्म और आवास
होलोग्राफिक फिल्म और आवास
होलोग्राफिक फिल्म और आवास
होलोग्राफिक फिल्म और आवास

अंतिम निर्माण केवल पीसीबी को मामले में डाल रहा है और प्रोग्रामिंग के बाद इसे गर्म गोंद के डब के साथ चिपका रहा है। तीन छेद सामने से माइक्रोस्विच तक पहुंच की अनुमति देते हैं।

इस घड़ी का उल्लेखनीय हिस्सा होलोग्राफिक डिफ्यूज़र फिल्म का उपयोग है। यह विशेष फिल्म है जिसके आसपास मैं पड़ा था जो डिवाइस को अच्छी गहराई प्रदान करता है। आप सादे ट्रेसिंग पेपर का उपयोग कर सकते हैं (जिसमें मैं पीसीबी को सामने के करीब ले जाऊंगा), या कोई अन्य डिफ्यूज़र जैसे कि फ्लोरेसेंट लाइट फिक्स्चर में उपयोग किया जाता है। प्रयोग के बारे में, केवल एक चीज जो करने की ज़रूरत है वह आपको प्रबुद्ध एल ई डी की संख्या के बीच अंतर करने की अनुमति देती है, या फिर समय बताने के लिए बिंदुओं की गिनती करना मुश्किल होगा। मैंने फिजिकल ऑप्टिक्स कॉरपोरेशन (www.poc.com) से होलोग्राफिक फैलाव सामग्री का उपयोग 30 डिग्री के गोलाकार फैलाव के साथ किया, सुपरकंप्यूटर स्टेटस डिस्प्ले को निर्देशयोग्य में कहीं और दिखाया गया है जिसमें 15x60 डिग्री अण्डाकार फैलाव वाली फिल्म का उपयोग किया गया है। अधिक रहस्यमयी लुक पाने के लिए आप दिन के समय चमकदार अंदरूनी हिस्सों को छिपाने के लिए कुछ ब्लैकआउट टेप का उपयोग कर सकते हैं। आप डिस्प्ले को साफ भी छोड़ सकते हैं और लोगों को मेरी तरह इनसाइड को देखने दे सकते हैं। स्टैंड एल्युमिनियम 'एल' बार के दो बिट्स थे, जिन्हें मोड़ने के लिए नीचे की तरफ थोड़ा सा कटा हुआ था। ध्यान दें कि इन तस्वीरों में अतिरिक्त लाइटिंग जोड़ी गई है ताकि आप डिस्प्ले कवर आदि देख सकें। सामान्य लिविंग रूम लाइटिंग में, दिन के उजाले में भी एलईडी अधिक प्रमुख होते हैं।

चरण 6: सॉफ्टवेयर और यूजर इंटरफेस

डिवाइस का संचालन बहुत सरल है, कोई विशेष पैटर्न मोड या आकर्षक सामान नहीं है। केवल एक चीज जो वह करती है वह है समय प्रदर्शित करना।

समय निर्धारित करने के लिए पहले SW1 दबाएं। डिवाइस सभी एल ई डी को कुछ बार फ्लैश करेगा और फिर एल ई डी एसडब्ल्यू 3 का 10 घंटे का समूह चयनित समूह को बढ़ा देगा एसडब्ल्यू 2 एल ई डी के अगले समूह में चला जाएगा, हर बार समूह में सभी एल ई डी को संक्षेप में फ्लैश करेगा। कोड सोर्सबॉस्ट 'सी' कंपाइलर संस्करण 6.70 के लिए लिखा गया है। RTC कोड t1rtc.c/h फाइलों में है, और PIC के T1 टाइमर पर एक इंटरप्ट फंक्शन है। T1 टाइमर हर 1 सेकंड में बाधित होने के लिए सेट है। प्रत्येक सेकंड पर, समय के लिए चर को बढ़ाया जाता है। साथ ही समय के साथ हर सेकेंड में एक टिक टाइमर की गिनती की जाती है। इसका उपयोग यह निर्धारित करने के लिए किया जाता है कि डिस्प्ले को कब बदलना है। इंटरप्ट फ़ंक्शन डिस्प्ले को रीफ्रेश करने के लिए टी0 टाइमर इंटरप्ट का भी उपयोग करता है, डिस्प्ले में फ़ंक्शन को कॉल करता है। फाइल डिस्प्ले.एच/डिस्प्ले.सी में डिस्प्ले को अपडेट करने और समय दिखाने के लिए फ़ंक्शन होते हैं। फाइल कंट्रोल.सी/एच में शामिल हैं समय निर्धारित करने और स्विच पढ़ने के लिए कार्य करता है फ़ाइलें holoclock.c/h मुख्य लूप और आरंभीकरण हैं।

सिफारिश की: