डिजिटल पैमाना बनाना

रेडियो इंजीनियरिंग और इलेक्ट्रॉनिक्स के आगमन के बाद से प्रतिपुष्टिएक इलेक्ट्रॉनिक उपकरण और एक व्यक्ति के साथ विभिन्न सिग्नल लाइट, बटन, टॉगल स्विच, घंटियाँ (माइक्रोवेव रेडीनेस सिग्नल - डिंग!) कुछ इलेक्ट्रॉनिक उपकरण न्यूनतम जानकारी देते हैं, क्योंकि अधिक जानकारी बेमानी होगी। उदाहरण के लिए, आपके चीनी फोन चार्जर पर एक चमकती हुई एलईडी इंगित करती है कि चार्जर नेटवर्क से जुड़ा है और उसे वोल्टेज की आपूर्ति की जाती है। लेकिन ऐसे पैरामीटर भी हैं जिनके लिए वस्तुनिष्ठ जानकारी प्रदान करना अधिक सुविधाजनक होगा। उदाहरण के लिए, बाहर की हवा का तापमान या अलार्म घड़ी का समय। हां, यह सब चमकदार बल्ब या एलईडी से भी किया जा सकता है। एक डिग्री - एक जलता हुआ डायोड या लाइट बल्ब। कितने डिग्री - इतने जलते संकेतक। इन जुगनू को गिनना एक सामान्य बात है, लेकिन फिर से, तापमान को एक डिग्री के निकटतम दसवें हिस्से तक दिखाने के लिए ऐसी कितनी रोशनी की आवश्यकता होगी? और सामान्य तौर पर, ये एल ई डी और लाइट बल्ब इलेक्ट्रॉनिक उपकरण पर किस क्षेत्र पर कब्जा करेंगे?

और बीसवीं शताब्दी की शुरुआत में, इलेक्ट्रॉनिक ट्यूबों के आगमन के साथ, पहले गैस-निर्वहन संकेतक दिखाई दिए।

ऐसे संकेतकों की मदद से, अरबी अंकों में डिजिटल जानकारी प्रदर्शित करना संभव था। पहले, यह इन लैंपों पर था कि उपकरणों और अन्य इलेक्ट्रॉनिक उपकरणों के लिए विभिन्न संकेत दिए गए थे। वर्तमान में, गैस-डिस्चार्ज तत्व लगभग कहीं भी उपयोग नहीं किए जाते हैं। लेकिन रेट्रो हमेशा फैशनेबल होता है, इसलिए कई रेडियो शौकिया अपने और अपने प्रियजनों के लिए गैस डिस्चार्जर्स पर अद्भुत घड़ियों को इकट्ठा करते हैं।



गैस-डिस्चार्ज लैंप के नुकसान - वे बहुत खाते हैं। स्थायित्व बहस का विषय है। हमारे विश्वविद्यालय में, गैस डिस्चार्जर पर आवृत्ति मीटर अभी भी प्रयोगशाला के कमरों में उपयोग किए जाते हैं।

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

ऐसे लगभग सभी सात-खंड संकेतकों में, एक आठवां खंड भी जोड़ा जाता है - एक बिंदु, किसी भी पैरामीटर के पूर्णांक और भिन्नात्मक मान को दिखाने में सक्षम होने के लिए

सैद्धान्तिक रूप से एक आठ खंड सूचक प्राप्त होता है, लेकिन पुराने ढंग से इसे सात खंड सूचक भी कहा जाता है, और इसमें कोई गलती नहीं है।

संक्षेप में, एक सात-खंड संकेतक एक निश्चित क्रम में एक दूसरे के सापेक्ष व्यवस्थित एल ई डी है और एक आवास में संलग्न है।

यदि हम एकल सात-खंड संकेतक की योजना पर विचार करते हैं, तो यह इस तरह दिखता है:



जैसा कि हम देख सकते हैं, एक सात-खंड संकेतक या तो हो सकता है आम एनोड (OA), के साथ सामान्य कैथोड (ठीक). मोटे तौर पर, यदि हमारे पास एक सामान्य एनोड (OA) के साथ सात-खंड है, तो सर्किट में हमें इस आउटपुट पर "प्लस" लटका देना चाहिए, और यदि एक सामान्य कैथोड (ओके) के साथ, तो "माइनस" या ग्राउंड . हम किस आउटपुट पर वोल्टेज लगाते हैं, ऐसी एलईडी हमारे साथ जलेगी। आइए यह सब व्यवहार में प्रदर्शित करें।

हमारे पास निम्नलिखित एलईडी संकेतक उपलब्ध हैं:



जैसा कि हम देख सकते हैं, सात-खंड एकल और बहु-अंकीय हो सकते हैं, यानी एक पैकेज में दो, तीन, चार सात-खंड। आधुनिक सात-खंड की जांच करने के लिए, डायोड निरंतरता फ़ंक्शन वाला एक मल्टीमीटर हमारे लिए पर्याप्त है। हम एक सामान्य निष्कर्ष की तलाश कर रहे हैं - यह या तो ओए या ओके हो सकता है - टाइप करके और फिर हम पहले से ही संकेतक के सभी खंडों के प्रदर्शन को देखते हैं। हम तीन अंकों के सात खंड की जांच करते हैं:



ओपांकी, हमारे पास एक सेगमेंट में आग लगी है, उसी तरह हम दूसरे सेगमेंट की जांच करते हैं।

कभी-कभी कार्टून पर वोल्टेज संकेतक खंडों की जांच के लिए पर्याप्त नहीं होता है। इसलिए, हम बिजली की आपूर्ति लेते हैं, इसे 5 वोल्ट पर सेट करते हैं, हम बिजली आपूर्ति के एक टर्मिनल से चिपके रहते हैं रोकनेवाला 1-2किलोओम और सात-खंड की जाँच शुरू करें।



हमें एक रोकनेवाला की आवश्यकता क्यों है? जब एलईडी पर वोल्टेज लगाया जाता है, तो चालू होने पर यह तेजी से करंट खाने लगता है। इसलिए, इस समय यह जल सकता है। करंट को सीमित करने के लिए, एक रोकनेवाला एलईडी के साथ श्रृंखला में जुड़ा हुआ है। अधिक विवरण इस लेख में पाया जा सकता है।

इसी तरह, हम एक चीनी रेडियो से चार अंकों के सात-खंड की जांच करते हैं



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

हमारी आधुनिक दुनिया में, सात-खंडों को पहले से ही एलसीडी संकेतकों द्वारा प्रतिस्थापित किया जा रहा है जो पूरी तरह से अलग जानकारी प्रदर्शित कर सकते हैं।

लेकिन उनका उपयोग करने के लिए, आपको ऐसे उपकरणों की सर्किटरी में कुछ कौशल की आवश्यकता होती है। अब तक, एलईडी सात-खंड संकेतकों की तुलना में सरल और सस्ता कुछ भी नहीं है।

एक एलईडी (या प्रकाश उत्सर्जक डायोड) एक ऑप्टिकल डायोड है जो प्रकाश ऊर्जा को "फोटॉन" के रूप में उत्सर्जित करता है जब यह आगे पक्षपाती होता है। इलेक्ट्रॉनिक्स में, हम इस प्रक्रिया को इलेक्ट्रोल्यूमिनेशन कहते हैं। एल ई डी द्वारा उत्सर्जित दृश्य प्रकाश का रंग नीले से लाल तक होता है और प्रकाश के वर्णक्रमीय उत्सर्जन द्वारा निर्धारित किया जाता है, जो बदले में अर्धचालक पदार्थों में उनके निर्माण के दौरान विभिन्न अशुद्धियों पर निर्भर करता है।

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

लेकिन एल ई डी का मुख्य लाभ यह है कि, उनके छोटे आकार के कारण, उनमें से कुछ को एक कॉम्पैक्ट पैकेज में केंद्रित किया जा सकता है, जिससे तथाकथित सात-खंड संकेतक बन सकते हैं।

जैसा कि चित्र में दिखाया गया है, सात-खंड के डिस्प्ले में एक आयत में व्यवस्थित सात एलईडी (इसलिए इसका नाम) शामिल हैं। सात एलईडी में से प्रत्येक को एक खंड कहा जाता है, क्योंकि जब जलाया जाता है, तो खंड एक अंक (दशमलव या हेक्साडेसिमल) का हिस्सा बनता है। 8वां अतिरिक्तप्रकाश उत्सर्जक डायोड। यह दशमलव बिंदु (DP) को प्रदर्शित करने का कार्य करता है, इस प्रकार इसे प्रदर्शित करने की अनुमति देता है यदि दो या अधिक 7-खंड डिस्प्ले दस से अधिक संख्याओं का प्रतिनिधित्व करने के लिए एक साथ जुड़े हुए हैं।

डिस्प्ले के सात एलईडी खंडों में से प्रत्येक संपर्क पंक्ति के संबंधित पैड से जुड़ा है, जो सीधे संकेतक के आयताकार प्लास्टिक मामले पर स्थित है। एलईडी पिन को प्रत्येक व्यक्तिगत खंड का प्रतिनिधित्व करने वाले जी के माध्यम से लेबल के साथ चिह्नित किया जाता है। एलईडी सेगमेंट के अन्य संपर्क आपस में जुड़े हुए हैं और एक सामान्य आउटपुट बनाते हैं।

तो, एक निश्चित क्रम में एलईडी सेगमेंट के संबंधित पिनों पर लागू एक फॉरवर्ड बायस कुछ सेगमेंट को हल्का कर देगा और बाकी मंद रहने के लिए, जो आपको संख्या पैटर्न के वांछित चरित्र को हाइलाइट करने की अनुमति देता है जो प्रदर्शित किया जाएगा। दिखाना। यह हमें 7-सेगमेंट डिस्प्ले पर 0 से 9 तक के दस दशमलव अंकों में से प्रत्येक का प्रतिनिधित्व करने की अनुमति देता है।

सामान्य पिन का उपयोग आमतौर पर 7-सेगमेंट डिस्प्ले के प्रकार को निर्धारित करने के लिए किया जाता है। प्रत्येक डिस्प्ले एलईडी में दो कनेक्टिंग लीड होते हैं, जिनमें से एक को "एनोड" कहा जाता है और दूसरे को क्रमशः "कैथोड" कहा जाता है। इसलिए, एक सात-खंड एलईडी संकेतक में दो प्रकार के सर्किट डिज़ाइन हो सकते हैं - एक सामान्य कैथोड (ओके) और एक सामान्य एनोड (ओए) के साथ।

इन दो प्रकार के डिस्प्ले के बीच का अंतर यह है कि ओके डिज़ाइन में, सभी 7 खंडों के कैथोड सीधे एक दूसरे से जुड़े होते हैं, जबकि सामान्य एनोड (OA) डिज़ाइन में, सभी 7 खंडों के एनोड एक दूसरे से जुड़े होते हैं। दोनों योजनाएं निम्नानुसार काम करती हैं।

  • कॉमन कैथोड (ओके) - सभी एलईडी सेगमेंट के इंटरकनेक्टेड कैथोड का लॉजिक लेवल "0" होता है या इससे जुड़ा होता है आम तार. अलग-अलग एल ई डी के आगे पूर्वाग्रह बनाने के लिए एक सीमित प्रतिरोधी के माध्यम से उनके एनोड आउटपुट में "उच्च" तर्क स्तर या तर्क "1" सिग्नल लागू करके अलग-अलग खंडों को प्रकाशित किया जाता है।
  • सामान्य एनोड (OA) - सभी एलईडी खंडों के एनोड संयुक्त होते हैं और उनका तर्क स्तर "1" होता है। संकेतक के अलग-अलग खंड तब चमकते हैं जब प्रत्येक विशेष कैथोड जमीन से जुड़ा होता है, तर्क "0" या उपयुक्त सीमित अवरोधक के माध्यम से कम-संभावित संकेत।

सामान्य तौर पर, सात-खंड सामान्य एनोड संकेतक अधिक लोकप्रिय होते हैं, क्योंकि कई तर्क सर्किट की आवश्यकता हो सकती है अधिक वर्तमानबिजली आपूर्ति की तुलना में वितरित कर सकते हैं। यह भी ध्यान दें कि सामान्य कैथोड डिस्प्ले सामान्य एनोड डिस्प्ले के लिए सर्किट में प्रत्यक्ष प्रतिस्थापन नहीं है। और इसके विपरीत - यह विपरीत दिशा में एलईडी चालू करने के बराबर है, और इसलिए कोई प्रकाश उत्सर्जन नहीं होगा।

यद्यपि 7-खंड संकेतक को एकल डिस्प्ले के रूप में माना जा सकता है, फिर भी इसमें एक पैकेज के भीतर सात अलग-अलग एल ई डी होते हैं, और इस तरह इन एल ई डी को ओवरकुरेंट से संरक्षित करने की आवश्यकता होती है। एल ई डी केवल तभी प्रकाश उत्सर्जित करते हैं जब वे आगे के पक्षपाती होते हैं, और उनके द्वारा उत्सर्जित प्रकाश की मात्रा आगे की धारा के समानुपाती होती है। इसका मतलब केवल यह है कि एलईडी की तीव्रता बढ़ती हुई धारा के साथ लगभग रैखिक रूप से बढ़ती है। इसलिए, एलईडी को नुकसान पहुंचाने से बचने के लिए, इस आगे की धारा को नियंत्रित किया जाना चाहिए और बाहरी सीमित अवरोधक द्वारा एक सुरक्षित मूल्य तक सीमित किया जाना चाहिए।

ऐसे सात-खंड संकेतक को स्थिर कहा जाता है। उनका प्रमुख नुकसान है एक बड़ी संख्या कीपैकेज में आउटपुट। इस कमी को दूर करने के लिए, सात-खंड संकेतकों के लिए गतिशील नियंत्रण योजनाओं का उपयोग किया जाता है।

सात-खंड संकेतक रेडियो के शौकीनों के बीच बहुत लोकप्रिय हो गया है क्योंकि इसका उपयोग करना आसान है और पढ़ने में आसान है।

लेखक बेलोव ए.वी.

यह लेख सात-खंड एलईडी संकेतकों को माइक्रोकंट्रोलर से जोड़ने के विभिन्न तरीकों पर चर्चा करता है।

माइक्रोप्रोसेसर डिवाइस के लिए संख्याओं और वर्णों के रूप में जानकारी प्रदर्शित करने में सक्षम होने के लिए, सात-खंड एलईडी संकेतकों का उपयोग करना सुविधाजनक है। बहुत बड़ी विविधता है विभिन्न मॉडलएलईडी संकेतक, विभिन्न आकार, चमक रंग। केवल एक अंक और बहु-अंकीय संकेतक पैनल प्रदर्शित करने के लिए दोनों संकेतक एक अलग एकल अंक का प्रतिनिधित्व करते हैं। मॉडल और कनेक्शन योजना के आधार पर भिन्न हो सकते हैं। इसके अलावा, सभी संकेतक दो बड़े समूहों में विभाजित हैं। ये एक सामान्य एनोड वाले संकेतक हैं और एक सामान्य कैथोड वाले संकेतक हैं। एक सामान्य एनोड के साथ एकल संकेतक का कनेक्शन आरेख चित्र 1 में दिखाया गया है।

चावल। 1. एक संकेतक को जोड़ना

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

ज्यादातर मामलों के लिए, संकेतक का एक अंक स्पष्ट रूप से पर्याप्त नहीं है। कई डिस्चार्जों को जोड़ने से, प्रत्येक अपने स्वयं के निष्कर्ष पर, स्पष्ट रूप से काम नहीं करेगा। यहां तक ​​कि सबसे बड़े AVR माइक्रोकंट्रोलर में केवल चार पूर्ण I/O पोर्ट होते हैं। इसलिए, मल्टी-डिजिट सात खंड संकेतकों को माइक्रोकंट्रोलर से जोड़ने का एकमात्र तरीका मैट्रिक्स विधि है। यह विधि कीबोर्ड बटन के मैट्रिक्स कनेक्शन के समान है, जिसका वर्णन "कनेक्टिंग बटन" लेख में विस्तार से किया गया है। चित्रा 2 दो सात-खंड संकेतकों के प्रदर्शन को जोड़ने के विकल्पों में से एक दिखाता है।


चावल। 2. प्रदर्शन कनेक्शन

उपरोक्त योजना कम बिजली के सात-खंड संकेतकों के लिए डिज़ाइन की गई है, जिसकी वर्तमान खपत 40 mA से अधिक नहीं है। अधिक शक्तिशाली संकेतकों के लिए, आपको ट्रांजिस्टर स्विच का उपयोग करने की आवश्यकता है। कृपया ध्यान दें कि माइक्रोकंट्रोलर के पीबी पोर्ट का प्रत्येक आउटपुट दोनों संकेतकों पर एक ही नाम के खंडों से जुड़ा है। तो रोकनेवाला R1 के माध्यम से PB0 आउटपुट HL1 इंडिकेटर के सेगमेंट A और HL2 इंडिकेटर के आउटपुट से जुड़ा है। रोकनेवाला R2 के माध्यम से PB1 का आउटपुट दोनों संकेतकों के खंड B से जुड़ा है और इसी तरह। संकेतकों में से एक का चुनाव पीडी पोर्ट के दो सबसे महत्वपूर्ण बिट्स के माध्यम से किया जाता है। संकेतक HL1 का सामान्य एनोड आउटपुट PD6 से जुड़ा है, और संकेतक HL2 का सामान्य एनोड आउटपुट PD5 से जुड़ा है। ऐसी समावेशन योजना को मैट्रिक्स कहा जाता है। पीबी पोर्ट पिन को आठ क्षैतिज रेखाओं के रूप में देखा जा सकता है और दो पीडी पोर्ट पिन को मैट्रिक्स की लंबवत रेखाओं के रूप में देखा जा सकता है। प्रत्येक पंक्ति के चौराहे के बिंदुओं पर, एक एलईडी खंड चालू होता है।

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

डायनेमिक इंडिकेशन मोड को लागू करने के लिए, प्रोसेसर को एक निरंतर चक्र को व्यवस्थित करना होगा। आमतौर पर इसके लिए बिल्ट-इन टाइमर का इस्तेमाल किया जाता है। टाइमर को इस तरह से कॉन्फ़िगर किया गया है कि डायनेमिक इंडिकेशन के लिए चुनी गई एक निश्चित आवृत्ति पर एक इंटरप्ट जारी किया जा सके। हर बार, जब एक रुकावट कहा जाता है, नियंत्रक एक चरित्र छवि को संकेतक के एक नए बिट पर आउटपुट करता है। ऐसा करने के लिए, नियंत्रक वांछित वर्ण के अनुरूप कोड को PB पोर्ट पर सेट करता है, और PD पोर्ट (PD5 या PD6) के संगत बिट के लिए एक तार्किक इकाई सेट करता है। एक तार्किक शून्य को बुझाने के लिए बिट पर लागू किया जाता है। यह इंटरप्ट प्रोसेसिंग को पूरा करता है, कंट्रोलर मुख्य प्रोग्राम के निष्पादन के लिए आगे बढ़ता है, और पोर्ट पिन पर सेट किए गए सिग्नल अगले इंटरप्ट तक बने रहते हैं। और इस समय, वांछित प्रतीक को संबंधित अंक में प्रदर्शित किया जाता है। जब अगला व्यवधान होता है, तो सिग्नल पोर्ट को आउटपुट होते हैं जो संकेतक के दूसरे बिट की छवि प्रदर्शित करते हैं।

चित्रा 2 एक सर्किट दिखाता है जिसमें संकेत के केवल दो बिट होते हैं। इसी तरह, आप तीन, चार या अधिक अंक जोड़ सकते हैं। ATtiny2313 माइक्रोकंट्रोलर का उपयोग करने के मामले में, बिट्स की अधिकतम संख्या 7 है। चूंकि इस नियंत्रक के पीडी पोर्ट में केवल सात पिन हैं। इस मामले में, संकेत प्रक्रिया के दौरान, पीडी पोर्ट के बिट्स में से केवल एक तार्किक इकाई के साथ आपूर्ति की जाती है, और बाकी सभी तार्किक शून्य हैं।

यह ध्यान दिया जाना चाहिए कि इस सर्किट में, आउटपुट PD5 और PD6, जिससे संकेतक के सामान्य एनोड जुड़े हुए हैं, सबसे भारी भार के तहत हैं। उनमें से प्रत्येक के माध्यम से बहने वाली धारा प्रदर्शित प्रतीक पर निर्भर करती है और उस स्थिति में जब सभी खंड एक साथ जलाए जाते हैं, एक खंड की धारा से आठ गुना अधिक। ऐसा करंट किसी एकल आउटपुट के लिए अधिकतम स्वीकार्य करंट को आसानी से पार कर सकता है। हालाँकि, सबसे पहले, यह करंट स्पंदित प्रकृति का होता है और करंट का औसत मान बहुत कम होता है। और दूसरी बात, अभ्यास से पता चलता है कि AVR माइक्रोकंट्रोलर के पास एक महत्वपूर्ण शक्ति आरक्षित है और आसानी से इस तरह के भार का सामना कर सकता है।

उपरोक्त सभी एक सामान्य एनोड वाले संकेतक पर लागू होते हैं। ऐसे संकेतकों को प्रकाश में लाने के लिए, बिजली स्रोत का एक प्लस आम तार पर लागू किया जाना चाहिए, और माइनस से सेगमेंट आउटपुट (सामान्य तार से कनेक्ट) पर लागू किया जाना चाहिए। लेकिन योजना के अनुसार एक सामान्य कैथोड के साथ अन्य संकेतक बनाए गए हैं। आइए विचार करें कि इस प्रकार के संकेतकों का उपयोग कैसे करें। चित्रा 1 में सर्किट को थोड़ा फिर से बनाना होगा। परिवर्तन केवल इस तथ्य पर आ जाएगा कि संकेतक के सामान्य एनोड को + 5V स्रोत से डिस्कनेक्ट किया जाना चाहिए और एक सामान्य तार से जोड़ा जाना चाहिए। काम का एल्गोरिथम भी थोड़ा बदलेगा। अब, एक खंड को रोशन करने के लिए, आपको उस पर एक तार्किक इकाई लागू करने की आवश्यकता है, और इसे बाहर करने के लिए - एक तार्किक शून्य। अंजीर में योजना। 2 को संशोधित करने की आवश्यकता नहीं है। केवल एल्गोरिदम बदल जाएगा। बस इतना है कि सभी संकेतों का चरण बदलना चाहिए। जहां हम शून्य देते थे, अब हमें एक देना होगा और इसके विपरीत।

ZhKI (एलसीडी) संकेतकों का नियंत्रण

लेखक बेलोव ए.वी.

यह आलेख लिक्विड क्रिस्टल डिस्प्ले (लघु के लिए एलसीडी या एलसीडी) को माइक्रोकंट्रोलर से जोड़ने के उदाहरण पर चर्चा करता है।

आज इलेक्ट्रॉनिक उपकरणों के बाजार में आप विभिन्न कंपनियों और संशोधनों के संकेतकों की एक बड़ी संख्या पा सकते हैं। माइक्रोकंट्रोलर से जुड़ने के लिए प्रत्येक संकेतक की अपनी विशेषताएं, अपनी आंतरिक वास्तुकला और अपना इंटरफ़ेस होता है। हालांकि सामान्य सिद्धांतकनेक्शन लगभग समान हैं। हम तुरंत ध्यान दें कि सभी एलसीडी को एक अंतर्निहित नियंत्रक के साथ संकेतकों में विभाजित किया जा सकता है और सरल संकेतकमाइक्रोकंट्रोलर के बिना। एक माइक्रोकंट्रोलर वाले संकेतक स्वतंत्र उपयोग के लिए अधिक बेहतर होते हैं। अंतर्निहित माइक्रोकंट्रोलर में पहले से ही जटिल प्रोग्राम होते हैं जो संकेतक पर एक छवि प्रदर्शित करने और इस विशेष संकेतक पैनल की सभी विशिष्ट विशेषताओं को ध्यान में रखते हुए अधिकांश ऑपरेशन करते हैं। और एम्बेडेड नियंत्रक का संचार इंटरफ़ेस आमतौर पर जटिल नहीं होता है और इसे किसी भी सार्वभौमिक नियंत्रक से कनेक्ट करना आसान बनाता है। उदाहरण के लिए एक रूसी निर्मित माइक्रोकंट्रोलर MT-10T7-7 को लें। यह एक साधारण संकेतक है, जिसका प्रदर्शन दस सात-खंड वर्णों की एक पंक्ति है। ऐसे संकेतक की आपूर्ति वोल्टेज 3 से 5 वोल्ट तक होती है। वर्तमान खपत 30 यूए। आयाम 66 X 31.5 X 9.5 मिमी। माइक्रोकंट्रोलर के लिए ऐसे संकेतक का कनेक्शन आरेख चित्र 1 में दिखाया गया है।

चावल। 1. एलसीडी को माइक्रोकंट्रोलर से जोड़ना

संकेतक को नियंत्रित करने के लिए PB पोर्ट का उपयोग किया जाता है। लाइन्स PB0...PB3 डेटा/एड्रेस बस बनाती है। और PB4 लाइन का उपयोग इंडिकेटर को रिकॉर्डिंग सिग्नल भेजने के लिए किया जाता है। PB6 आउटपुट का उपयोग पता/डेटा चयन के लिए किया जाता है। नियंत्रण आदेश निम्नानुसार संकेतक को प्रेषित किए जाते हैं। सबसे पहले, आपको उस बिट का पता पास करना होगा जहां हम अगले आउटपुट कैरेक्टर का कोड लिखना चाहते हैं। पते में एक चार-बिट बाइनरी संख्या होती है। अंक बाएं से दाएं गिने जाते हैं। सबसे बाएं (सबसे महत्वपूर्ण) अंक का पता 0 (00002) है। अगले अंक का पता 1 (00012) है। अंतिम, सबसे दाहिने, दसवें अंक का पता 9 (10012) है। संकेतक नियंत्रक को पता लिखने के लिए, यह आवश्यक है कि इसके A0 पर एक तार्किक शून्य संकेत मौजूद हो। पता मान आउटपुट PB0...PB3 पर सेट है। और फिर एक एकल संकेत संक्षेप में आउटपुट PB4 पर लागू होता है, जिसे संकेतक के इनपुट WR1 को खिलाया जाता है। इस पल्स के किनारे पर, संकेतक को पता लिखा जाता है और इसकी आंतरिक मेमोरी में संग्रहीत किया जाता है। अब, यदि संकेतक को डेटा बाइट लिखा जाता है, तो वह ठीक इसी पते पर पहुंचेगा।

डेटा बाइट वर्ण छवि को निर्धारित करता है जो संकेतक के संबंधित बिट में प्रदर्शित किया जाएगा। इस बाइट का प्रत्येक बिट सात-खंड क्षेत्र में अपने स्वयं के खंड के लिए जिम्मेदार है। दशमलव बिंदु को हाइलाइट करने के लिए आठवां बिट जिम्मेदार है। डेटा बाइट को स्थानांतरित करने के लिए, इनपुट A0 पर एक तर्क एक सिग्नल मौजूद होना चाहिए, और इसलिए आउटपुट PB6 पर। डेटा बाइट को दो चरणों में संकेतक में स्थानांतरित किया जाता है। सबसे पहले, लो निबल को पिन PB0...PB3 पर सेट किया जाता है। WR1 के सिग्नल पर यह इंडिकेटर की मेमोरी में लिखा जाता है। फिर, उसी आउटपुट (PB0...PB3) पर, उच्चतम निबल सेट किया जाता है और एक सिग्नल द्वारा WR1 को भी लिखा जाता है। दूसरा (उच्चतम) कुतरने के बाद, छवि संकेतक के संबंधित अंक में दिखाई देती है, और संकेतक की आंतरिक मेमोरी में पता स्वचालित रूप से एक से बढ़ जाता है। इस प्रकार, संकेतक के अगले अंक में डेटा लिखने के लिए, अब इसे किसी पते को स्थानांतरित करने की आवश्यकता नहीं है। संकेतक को पता और डेटा लिखने की पूरी प्रक्रिया चित्र 2 में दिखाई गई है।


चावल। 2. संकेतक इंटरफ़ेस के संचालन का आरेख

यह आंकड़ा संकेतक के साथ काम करने के लिए दो विकल्प दिखाता है। एक परिचित को रिकॉर्ड करना और एक पंक्ति में कई परिचितों को रिकॉर्ड करना। वैरिएबल रेसिस्टर R1 (चित्र 1 में आरेख देखें) को डिस्प्ले के कंट्रास्ट को समायोजित करने के लिए डिज़ाइन किया गया है। संकेतक पर छवि स्पष्ट रूप से दिखाई देने के लिए, आपको संकेतक स्क्रीन पर छवि को देखते हुए सबसे उपयुक्त कंट्रास्ट सेट करने की आवश्यकता है। अलग-अलग रोशनी और अलग-अलग कोणों से देखने के लिए, नॉब को अलग-अलग पोजीशन पर सेट करना होगा। अवलोकन की बदलती परिस्थितियों में दूसरों में एक अच्छी तरह से दिखाई देने वाली छवि पूरी तरह से अदृश्य हो सकती है। इसे देखने के लिए, आपको नियामक के घुंडी को अलग-अलग दिशाओं में मोड़ना होगा।

अंत में, मैं यह नोट करना चाहता हूं कि यह संकेतक को नियंत्रित करने के लिए ये पोर्ट पिन हैं जिन्हें बिल्कुल मनमाने ढंग से चुना गया था। इस मामले में, लेखक को तारों की सुविधा द्वारा निर्देशित किया गया था मुद्रित सर्किट बोर्ड. आप माइक्रोकंट्रोलर का कोई अन्य पिन और यहां तक ​​कि एक अलग I/O पोर्ट भी चुन सकते हैं।

अंतिम अद्यतन (05/01/2008)

एनकोडर कनेक्शन

लेखक बेलोव ए.वी.

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

घरेलू और अन्य इलेक्ट्रॉनिक उपकरणों के माइक्रोप्रोसेसर नियंत्रण में कुल संक्रमण के संबंध में, इन उपकरणों में उपयोग किए जाने वाले समायोजन निकाय भी बदल गए हैं। यदि पहले रेडियो या टीवी के वॉल्यूम को समायोजित करने के लिए आपको बस संबंधित नॉब को घुमाना पड़ता था, तो अब आपको अक्सर दो बटनों का उपयोग करने के लिए मजबूर किया जाता है: "वॉल्यूम +" और "वॉल्यूम -"। और अगर आपको न केवल वॉल्यूम को समायोजित करने की आवश्यकता है? कई उपयोगकर्ताओं के लिए, यह बस सुविधाजनक नहीं है। इसके अलावा, समायोजन की दक्षता ग्रस्त है। वॉल्यूम डाउन बटन दबाकर, आपको अभी भी कुछ समय तक प्रतीक्षा करने की आवश्यकता है जब तक कि वॉल्यूम वांछित स्तर तक क्रॉल न हो जाए। और इस पूरे समय आपको तेज आवाज का सामना करना पड़ता है। पारंपरिक नियामकों के लाभों को संयोजित करने के लिए और साथ ही माइक्रोकंट्रोलर द्वारा हमें दिए गए नए अवसरों को न खोने के लिए, एक नई सूचना इनपुट डिवाइस कहा जाता है, जिसे एनकोडर कहा जाता है। उपस्थिति और स्थापना आयामों में, एन्कोडर पारंपरिक एन्कोडर के समान ही है। परिवर्ती अवरोधक, जिसका उपयोग पारंपरिक एनालॉग उपकरणों में किया जाता था। लेकिन पर आंतरिक उपकरणयह बेहद अलग है। एनकोडर, रेसिस्टर की तरह, एक उभरी हुई धुरी होती है जिस पर आप उसी हैंडल को रख सकते हैं जो आमतौर पर रेसिस्टर पर लगाया जाता है। एनकोडर नॉब के घूमने से दालों के एक क्रम का निर्माण होता है, जो तब माइक्रोकंट्रोलर के पास जाता है और यह जानकारी देता है कि इस या उस मूल्य को कितना कम करना या बढ़ाना है। उदाहरण के लिए, आपको सिग्नल की मात्रा को बढ़ाने या घटाने की कितनी आवश्यकता है, आदि। इसके अलावा, एनकोडर डिवाइस ऐसा है कि माइक्रोकंट्रोलर न केवल उस मात्रा को अलग कर सकता है जिसके द्वारा पैरामीटर को बदलने की आवश्यकता है, बल्कि इस परिवर्तन की दिशा भी है। यह अनुमति देता है, उदाहरण के लिए, वॉल्यूम बढ़ाने के लिए एन्कोडर अक्ष को एक दिशा में बदलना, और इसे कम करने के लिए इसे दूसरी दिशा में बदलना।

चावल। 1. एनकोडर कैसे काम करता है

विचार करें कि एन्कोडर कैसे काम करता है। चित्र 1 एक साधारण यांत्रिक एनकोडर का डिज़ाइन दिखाता है। जैसा कि आंकड़े से देखा जा सकता है, एन्कोडर का आधार अक्ष पर तय इन्सुलेट सामग्री से बना एक डिस्क है, जिस पर इसके घूर्णन के लिए हैंडल लगाया जाता है। विशेष स्लॉट डिस्क की परिधि के चारों ओर समान रूप से दूरी पर हैं। स्लॉट पूरे परिधि को कई (आमतौर पर 6-8) समान क्षेत्रों में विभाजित करते हैं। इसके अलावा, स्लॉट्स की चौड़ाई उनके बीच के अंतराल की चौड़ाई के बराबर है। इसके अलावा, संपर्कों के दो समूह हैं, जो इस तरह से स्थापित होते हैं कि जब डिस्क घूमती है, तो वे स्लॉट में गिरने पर या तो बंद हो जाते हैं, या स्लॉट्स के बीच की खाई में खुल जाते हैं। स्लॉट्स के सापेक्ष इन युग्मों के संपर्कों का स्थान बहुत महत्वपूर्ण है। संपर्कों को इस तरह से व्यवस्थित किया जाता है कि जिस समय एक जोड़ी स्लॉट के किनारे पर होती है, उस समय संपर्कों की दूसरी जोड़ी दो आसन्न स्लॉट के बीच में होती है। यह व्यवस्था चित्र में दिखाई गई है। परिणामस्वरूप, संपर्कों को बंद करने/खोलने का निम्नलिखित क्रम लागू होता है:

संपर्कों का पहला समूह बंद हो जाता है

संपर्कों का दूसरा समूह बंद करता है

संपर्कों का पहला समूह खुलता है

संपर्कों का दूसरा समूह खुलता है

5. सब कुछ शुरू से ही दोहराता है।

चावल। 2. एनकोडर आरेख 3. कार्य आरेख

चित्र 2 आंतरिक दिखाता है सर्किट आरेखसरल यांत्रिक एनकोडर। एक एनकोडर में केवल तीन पिन होते हैं (जो इसे एक चर अवरोधक की तरह और भी अधिक बनाता है)। आरेख के अनुसार निचला आउटपुट दोनों जोड़ियों के संपर्कों के लिए सामान्य है। नतीजतन, जब एन्कोडर हैंडल घुमाया जाता है, तो हमें आउटपुट पर दालों के दो अनुक्रम प्राप्त होंगे। एक दिशा में एकसमान घुमाव के साथ, ये दो मेन्डर्स होंगे जिन्हें चरण में 90 डिग्री से स्थानांतरित किया जाएगा। स्पष्टता के लिए, यह प्रक्रिया चित्र 3 में दिखाई गई है। मुझे आशा है कि यह स्पष्ट है कि माइक्रोकंट्रोलर एन्कोडर अक्ष के रोटेशन के कोण को कैसे निर्धारित करता है। यह केवल दालों की संख्या गिनता है। इसके अलावा, किसी भी संपर्क समूह से आने वाले आवेगों को गिनना संभव है। मुख्य फोकस यह है कि रोटेशन की दिशा कैसे निर्धारित की जाए। यह वह जगह है जहाँ संपर्कों को बंद करने और खोलने का क्रम मदद करता है। जब एन्कोडर अक्ष किसी एक तरफ घूमता है, तो हर बार संपर्कों का पहला समूह बंद से खुले में जाता है, संपर्कों का दूसरा समूह बंद हो जाता है। इसके अलावा, पहले समूह के संक्रमण का क्षण उस समय अंतराल के ठीक बीच में आता है जब दूसरा समूह बंद हो जाता है। यानी उछाल पहले ही समाप्त हो चुका है और सभी क्षणिक प्रक्रियाएं कम हो गई हैं। विपरीत दिशा में घूमते समय, खुलने और बंद होने का क्रम उलट जाता है। इसलिए, जिस समय संपर्कों का पहला समूह बंद से खुले में जाता है, दूसरा समूह हमेशा खुला रहता है। यह इस तथ्य के लिए है कि माइक्रोकंट्रोलर रोटेशन की दिशा निर्धारित करता है।

चावल। 4. एनकोडर को माइक्रोकंट्रोलर से जोड़ने की योजना

चित्रा 4 एनकोडर के माइक्रोकंट्रोलर के कनेक्शन आरेख को दिखाता है। एन्कोडर संपर्क उसी तरह से जुड़े हुए हैं जैसे एक साधारण अलग बटन(लेख "बटनों का कनेक्शन" देखें)। पोर्ट लाइन PD2 और PD3 को इनपुट के रूप में कॉन्फ़िगर किया जाना चाहिए और दोनों इनपुट पर आंतरिक टर्मिनेटिंग रेसिस्टर सक्षम होना चाहिए। पोर्ट लाइन और आंतरिक टर्मिनेटिंग रेसिस्टर्स को स्थापित करने के बारे में अधिक जानकारी के लिए, ऊपर उल्लिखित "बटन वायरिंग" लेख देखें। एन्कोडर का सामान्य आउटपुट, जैसा कि आरेख से देखा जा सकता है, पूरे डिवाइस के सामान्य तार से जुड़ा होता है।

एन्कोडर सिग्नल प्रोसेसिंग प्रोग्राम बेहद सरल है। कृपया ध्यान दें कि आरेख (चित्र 4) में एन्कोडर को जोड़ने के लिए PD2 और PD3 लाइनों का चयन किया जाता है। और यह कोई संयोग नहीं है। ATtiny2313 माइक्रोकंट्रोलर पर, ये पिन वैकल्पिक रूप से बाहरी इंटरप्ट इनपुट INT0 और INT1 के रूप में कार्य करते हैं। एन्कोडर के साथ काम करने के लिए, इनमें से एक इंटरप्ट का उपयोग किया जाता है। उदाहरण के लिए, आप बाहरी इनपुट INT0 पर एक रुकावट का उपयोग कर सकते हैं। यानी इनपुट PD2 (पिन 6) पर। कार्यक्रम में क्या शामिल है? ठीक है, सबसे पहले, आपको सबसे पहले INT0 पर इंटरप्ट को सक्षम करना होगा। इसके अलावा, ऐसे मोड का चयन करना आवश्यक है जब इस इनपुट पर पल्स के सामने (या गिरावट) के साथ रुकावट होती है। ठीक है, फिर भी आपको इस रुकावट को संसाधित करने के लिए सबसे सरल सबरूटीन की आवश्यकता है। इस सबरूटीन को केवल PD3 पोर्ट लाइन के मान की जांच करनी चाहिए और यह इस पर निर्भर करता है कि यह शून्य है या एक, समायोज्य मान को कम या बढ़ाएँ।

आइए इस पर अधिक विस्तार से विचार करें। मान लीजिए कि हमने पल्स के किनारे पर इंटरप्ट मोड को चुना है। कल्पना करें कि नियंत्रक एक मुख्य प्रोग्राम निष्पादित कर रहा है जो एन्कोडर से संबंधित नहीं है। किसी बिंदु पर, उपयोगकर्ता एन्कोडर नॉब घुमाता है, उदाहरण के लिए, बाईं ओर। संपर्क बंद और खुलने लगते हैं। माइक्रोकंट्रोलर में इनपुट INT0 पर पल्स के किनारे पर, एक इंटरप्ट कहा जाता है। इसका मतलब है कि मुख्य कार्यक्रम का काम अस्थायी रूप से बाधित है और नियंत्रक इंटरप्ट सर्विस रूटीन में चला जाता है। यह सबरूटीन पीडी पोर्ट से जानकारी पढ़ता है और बिट पीडी3 की सामग्री का मूल्यांकन करता है। चूंकि एन्कोडर हैंडल को दाईं ओर घुमाया गया था (हम सहमत थे), माइक्रोकंट्रोलर इस बिट में एक तार्किक इकाई का पता लगाएगा। एक इकाई मिलने के बाद, इंटरप्ट हैंडलर एक विशेष सेल के मूल्य में वृद्धि करता है जहां वर्तमान वॉल्यूम के अनुरूप कोड संग्रहीत किया जाता है। कोड एक से बढ़ा दिया गया है। उसके बाद, सबरूटीन अपना काम समाप्त कर देता है। माइक्रोकंट्रोलर अपने मुख्य कार्यक्रम को निष्पादित करने के लिए वापस चला जाता है। यदि एक ही दिशा में घुमाव जारी रहता है, तो INT0 पर अगली पल्स के किनारे पर फिर से एक रुकावट शुरू हो जाएगी और वॉल्यूम मान फिर से एक से बढ़ जाएगा। और इसी तरह, जब तक एन्कोडर हैंडल का घूमना बंद नहीं हो जाता या वॉल्यूम मान ओवरफ़्लो नहीं हो जाता। सबरूटीन को इस मान की जाँच करनी चाहिए और यदि यह अधिकतम तक पहुँच गया है तो वॉल्यूम नहीं बढ़ाना चाहिए।

यदि एनकोडर रोटर को विपरीत दिशा में घुमाया जाता है, तो वही इंटरप्ट हैंडलिंग प्रक्रिया, जिसे इनपुट NT0 पर सिग्नल के किनारे पर कहा जाता है, इनपुट PD3 पर एक लॉजिक शून्य मान का पता लगाएगी। इस शून्य को प्राप्त करने के बाद, सबरूटीन को वॉल्यूम सेल में कोड के मान को एक से कम करना चाहिए। यदि रोटेशन जारी रहता है, तो इनपुट INT0 पर प्रत्येक पल्स के किनारे पर इस रुकावट को बुलाया जाएगा और हर बार वॉल्यूम मान घट जाएगा। और इस मामले में, प्रोग्राम को अब न्यूनतम वॉल्यूम मान को नियंत्रित करना चाहिए। और शून्य पर पहुंचने पर, प्रोग्राम को घटाव प्रक्रिया नहीं करनी चाहिए।

अब तक हम एक साधारण यांत्रिक एनकोडर के बारे में बात कर रहे हैं। लेकिन यांत्रिक संपर्कों की उपस्थिति हमेशा बकबक जैसी घटनाओं से जुड़ी होती है, साथ ही रुकावट या घिसाव के कारण खराब संपर्क के कारण होने वाले व्यवधान से भी। यह सब यांत्रिक एन्कोडर की कम विश्वसनीयता की ओर जाता है। इसलिए, ऑप्टोइलेक्ट्रिक एनकोडर हाल ही में अधिक से अधिक लोकप्रिय हो गए हैं। ऑप्टोइलेक्ट्रिक एनकोडर में, यांत्रिक संपर्कों के बजाय, ऑप्टोकॉप्लर्स का उपयोग किया जाता है: एलईडी-फोटोडायोड। ऐसे एन्कोडर को अतिरिक्त की आवश्यकता होती है बाहरी विद्युत आपूर्ति, तो इसमें एक और पिन है - पावर पिन। ये एन्कोडर आमतौर पर एक स्थिर +5V स्रोत और मानक तर्क स्तरों के करीब आउटपुट सिग्नल द्वारा संचालित होते हैं। इस संबंध में, उन माइक्रोकंट्रोलर इनपुट के लिए आंतरिक लोड प्रतिरोधों को शामिल करने की आवश्यकता नहीं है जिससे ऐसा एन्कोडर जुड़ा हुआ है। अन्यथा, ऑप्टोइलेक्ट्रॉनिक एन्कोडर के साथ काम करना साधारण यांत्रिक मॉडल के साथ काम करने के समान है। दुर्भाग्य से, ऑप्टोइलेक्ट्रॉनिक एन्कोडर का उपयोग उनकी उच्च लागत से सीमित है।

अंतिम अद्यतन (05/04/2008)

व्यावहारिक उदाहरणयूएसबी-एवीआर अनुप्रयोग

USB-AVR प्रोजेक्ट ने कई शौकिया डिजाइनरों को सबसे अधिक आकर्षित किया विभिन्न देशशांति। उद्देश्य विकास कंपनी अपनी वेबसाइट पर उन सभी को प्रोत्साहित करती है जिन्होंने अपनी तकनीक का उपयोग करके अपना विवरण या इस तरह के विवरण वाली साइट पर लिंक भेजने के लिए अपना स्वयं का डिज़ाइन विकसित किया है और स्वेच्छा से इन सभी लिंक को अपनी साइट पर रखता है।

फिर। कि इस परियोजना में विभिन्न देशों के प्रतिनिधि शामिल थे, जिससे यह तथ्य सामने आया कि विभिन्न भाषाओं में अलग-अलग विवरण दिए गए हैं। मुख्य रूप से अंग्रेजी, जर्मन, इतालवी में। दुर्भाग्य से, रूसी में अभी तक कोई परियोजना नहीं है। हालांकि, हमारी साइट सबसे दिलचस्प परियोजनाओं के विवरण का अनुवाद करने की योजना बना रही है।

कुछ लंबे समय तक Arduino-छोटी चीजों के बारे में कोई समीक्षा नहीं थी।
आज मैंने इन विवरणों पर अपना हाथ रखा और उन्हें "सर्वेक्षण" करने का फैसला किया

जो लोग रेडियो इंजीनियरिंग के भयानक शब्दों से डरते हैं - कृपया कट के नीचे न देखें। ताकि आपका कीमती समय व्यर्थ न जाए।

Arduino के आकार और अन्य नियंत्रकों के साथ छोटे शिल्प के लिए, जानकारी प्रदर्शित करने के लिए कई समाधान हैं।


आप सरल एल ई डी से जटिल डिस्प्ले और टच पैनल में स्थापित कर सकते हैं।
व्यक्तिगत रूप से, मुझे आवश्यक बिट गहराई के सात-खंड एलईडी संकेतक पसंद आए।
वे काफी उज्ज्वल हैं, उन्हें लंबी दूरी पर अच्छी तरह से देखा जा सकता है और उनके साथ काम करना काफी आसान है।

यदि आप ऐसे संकेतक को सीधे माइक्रोकंट्रोलर से जोड़ते हैं, तो बहुत सारे असतत आउटपुट बर्बाद हो जाते हैं। के माध्यम से सात खंड और मैट्रिक्स संकेतकों को जोड़ने के लिए 3 तार MAXIM ने MAX7219/MAX7221 नियंत्रक विकसित किए। यह लिंक मेरी समीक्षा होगी।

मुझे तुरंत कहना होगा कि जो लोग सोल्डर करना पसंद नहीं करते हैं, वे बेचे जाते हैं



मैंने इसका इस्तेमाल भी किया था, लेकिन मुझे डिस्प्ले के बड़े आयाम (विशेषकर ऊंचाई में) पसंद नहीं थे।

संकेतक 33 दिनों में पर्म पहुंचे। एक साधारण नरम पैकेज में पैक किए गए थे। पैर फोम के एक टुकड़े में फंस गए हैं। रूसी पोस्ट ने उन्हें बख्शा:


आयाम 40x16. अंक आकार लगभग 10 मिमी










पैरों की संख्या - 12: 7 खंड / एनोड + बिंदु-एनोड + 4 सामान्य कैथोड निर्वहन की संख्या के अनुसार
पैरों के बीच पिच 2.54mm

संकेतक पैरों का पिनआउट


MAX7219 ड्राइवर 35 दिनों में पहुंचे, वह भी एक छोटे पैकेज में, जिसे फोम में पिन किया गया था।


मेरी योजना +47 . खरीदने की है पसंदीदा में जोड़े समीक्षा पसंद आई +37 +97

श्रमिकों के अनुरोध पर, मैंने 7-सेगमेंट नामक एक अद्भुत चीज़ के बारे में बात करने का निर्णय लिया एलईडी सूचक. शुरू करने के लिए, यह क्या है। यहाँ ऐसी बात है। यह एक अंक है, दो अंक भी हैं, तीन और चार अंक। मैंने छह और अंक देखे। प्रत्येक अंक के बाद एक दशमलव बिंदु होता है। यदि चार अंक हैं, तो अक्सर दूसरे अंक के बाद आप समय प्रदर्शित करते समय सेकंड इंगित करने के लिए एक कोलन ढूंढ सकते हैं। लोहे के टुकड़ों से निपटने के बाद, आइए परिपथ का अध्ययन करने के लिए आगे बढ़ते हैं। डायनामिक डिस्प्ले क्या है और इसकी आवश्यकता क्यों है। चूंकि संकेतक 7-खंड है, संख्या प्रदर्शित करने के लिए केवल 7 खंडों का उपयोग किया जाता है। उन्हें हमेशा लैटिन अक्षरों से दर्शाया जाता है। ए, बी, सी, डी, ई, एफ, जी और डीपीहम तस्वीर को देखते हैं। प्रत्येक खंड के नीचे एक एलईडी है। सभी एल ई डी एक छोर पर जुड़े हुए हैं। या तो एनोड या कैथोड, और विपरीत छोर बाहर लाए जाते हैं। यह देखना आसान है कि किसी संख्या को प्रदर्शित करने के लिए 8 पिनों का उपयोग किया जाना चाहिए। एक आम और सात खंडों के लिए। अगर यह एक डिस्चार्ज की बात करता है, तो सोचने की कोई बात नहीं है, हम सब कुछ एक पोर्ट पर लटका देते हैं। क्या होगा अगर चार अंक हैं? आठ गुना चार बत्तीस है। ओह ... हाँ, इस तरह के एक संकेतक पर ध्यान देने के लिए केवल 32 मेगा ही होगा। ऐसा नहीं है कि चीजें कैसे काम करेंगी। दो समाधान हैं। हमारे आपके साथ गतिशील संकेत या स्थिर। आगे समझने के लिए, आइए संकेतक स्विचिंग योजना को देखें।


इस योजना का तात्पर्य गतिशील संकेत से है। हाँ, मैं सब गतिशील और स्थिर हूँ। क्या अंतर है?। स्थिर संकेत तब होता है जब हम प्रत्येक अंक को अपने अंक पर सेट करते हैं और यह लगातार चालू रहता है, और गतिशील तब होता है जब हम पहले अंक में अंक प्रदर्शित करते हैं, फिर हम इसे बुझाते हैं और इसे दूसरे अंक में आउटपुट करते हैं, फिर हम इसे बुझाते हैं और प्रदर्शित करते हैं तीसरे अंक में, और इसी तरह जब तक रैंक खत्म नहीं होगी। अंतिम निर्वहन के बाद, हम पहले और इसी तरह एक सर्कल में वापस जाते हैं। यदि यह धीरे-धीरे किया जाता है, तो एक डिजिटल रनिंग लाइन देखना संभव होगा, और यदि आप गति को बढ़ाते हैं, उदाहरण के लिए, 50 हर्ट्ज तक, तो आपको अपनी पलकें झपकते नहीं दिखाई देंगी। इस तरह से डायनामिक डिस्प्ले काम करता है। आइए अब आरेख पर एक नज़र डालें। ATmega8 MK के बाईं ओर, इसके पीछे 74ALS373 चिप पोर्ट D पर लटकी हुई है। उसकी आवश्यकता क्यों है? तथ्य यह है कि संकेतक केवल 8 एल ई डी है जो एक निश्चित मैट्रिक्स में इकट्ठे होते हैं। यही है, संकेतक को 8 एल ई डी की एक पंक्ति के रूप में दर्शाया जा सकता है। और जैसा कि आप जानते हैं, एल ई डी एमके के संबंध में बहुत कुछ खाते हैं। बेशक, सीधे कनेक्ट करने के लिए मना नहीं किया गया है, लेकिन एमके और संकेतक के बीच किसी प्रकार का पुनरावर्तक डालना बेहतर है। इन उद्देश्यों के लिए, मैंने 8-बिट लैच बफर का उपयोग करने का निर्णय लिया। वह क्यूँ। इस तथ्य को ध्यान में रखते हुए कि मैं एक सामान्य एनोड के साथ संकेतक का उपयोग करता हूं, अर्थात, अंक कार्य के लिए, सक्रिय स्तर 0 है, यह ULN2003A चिप (डार्लिंगटन सर्किट के अनुसार 7 ट्रांजिस्टर असेंबली) का उपयोग करना सुरक्षित होगा और नहीं बफर के बारे में चिंता करें, लेकिन ... लेकिन तथ्य यह है कि ULN2003A केवल बोर्ड पर है एनपीएन ट्रांजिस्टरऔर मैं केवल एक सामान्य एनोड के साथ संकेतक का उपयोग कर सकता हूं, लेकिन अगर मुझे इसे एक सामान्य कैथोड के साथ रखना है? यह वह जगह है जहां बफर मदद करेगा, क्योंकि मैं जो लिखता हूं वह आउटपुट होगा। आप 0 चाहते हैं, आप 1 चाहते हैं। नियंत्रण पैर अनुवादक मोड में जुड़े हुए हैं। यही है, बफर इनपुट के समान आउटपुट देता है। अला स्यूडो गैल्वेनिक आइसोलेशन। बफर के बाद करंट लिमिटिंग रेसिस्टर्स आते हैं। याद रखें, ये एलईडी हैं और बिना प्रतिरोधों के जल जाएंगे। प्रतिरोधों का मान स्वीकार्य से थोड़ा कम चुना जाना चाहिए। तथ्य यह है कि गतिशील संकेत एक निश्चित आवृत्ति के साथ वर्ण प्रदर्शित करता है और यह पीडब्लूएम से संबंधित है, अर्थात, आवृत्ति जितनी अधिक होगी, इसके विपरीत उतना ही अधिक होगा। और सबसे आरामदायक कंट्रास्ट के साथ, संख्याएं थोड़ी धुंधली हो जाएंगी। इसलिए, प्रतिरोधों को थोड़ा कम मूल्य लेने की आवश्यकता है। मैंने 360 ओम का उपयोग केवल इसलिए किया क्योंकि मेरे पास वे स्टॉक में थे। प्रतिरोधों के बाद अगला हमारा संकेतक है। दूसरी ओर, एनोड कहां हैं, मैंने पोर्ट सी के पहले चार बिट्स को जोड़ा। इसलिए, हमने सर्किट का पता लगा लिया। अब प्रोग्राम के एल्गोरिथम पर चर्चा करते हैं। संकेतक बिट्स को वैकल्पिक रूप से चालू करने के लिए, हम एक अलग फ़ंक्शन लिखेंगे और इसे प्रोग्राम के मुख्य भाग में अंतहीन रूप से कॉल करेंगे। अधिक विशेष रूप से, फ़ंक्शन 0 से 9999 तक की संख्या लेगा, इसे अंकों में पार्स करेगा, और फिर प्रत्येक अंक को उसके स्थान पर आउटपुट करेगा। यदि संख्या में 4 अंकों से कम है, तो बाईं ओर के रिक्त स्थान शून्य से भरे जाएंगे। हम दाहिने किनारे पर लाइन अप करते हैं। हम बाएं से दाएं रैंक के माध्यम से चलेंगे। किसी भी क्रिया को देखने के लिए, काउंटर से इंटरप्ट का उपयोग करके, प्रति सेकंड एक बार हम प्रदर्शित संख्या को एक से बढ़ा देंगे। तो कार्य निर्धारित है, लड़ाई के लिए। # परिभाषित करें F_CPU 7372800UL // क्वार्ट्ज आवृत्ति #शामिल #शामिल #शामिल अस्थिर अहस्ताक्षरित int परीक्षण = 9980; // संकेतक के आउटपुट के लिए चर आईएसआर (TIMER1_COMPA_vect) // टाइमर 1 मैच पर हैंडलर को बाधित करें (परीक्षण++; // आउटपुट संख्या बढ़ाएँ अगर (परीक्षण> 9999) परीक्षण = 0; // यदि चार अंकों में से, रीसेट करें टीसीएनटी1एच = 0x00; // रजिस्टर रीसेट करें टीसीएनटी1एल = 0x00; // हिसाब किताब ) शून्य डिग_आउट (इंट संख्या); // एक संकेतक प्रदर्शित करने के लिए एक फ़ंक्शन घोषित करना int main(void) ( DDRC = 0x0F; // पोर्ट सेट करें डीडीआरडी = 0xFF; // अंकों के लिए पोर्ट सी संकेतक के साथ काम करने के लिए, संख्याओं के लिए पोर्ट डी TCCR1A = 0x00; // टाइमर सेट करना टीसीसीआर1बी = 0x04; टीसीएनटी1एच = 0x00; टीसीएनटी1एल = 0x00; OCR1AH ​​= 0x70; OCR1AL = 0x80; टीआईएमएसके = 0x10; सेई (); // इंटरप्ट सक्षम करें जबकि (1) ( dig_out (परीक्षण); // वर्तमान संख्या प्रदर्शित करने के लिए फ़ंक्शन को लगातार कॉल करें ) ) शून्य डिग_आउट (इंट संख्या) // आउटपुट करने के लिए फ़ंक्शन संकेतक 4निर्वहन (अहस्ताक्षरित चार मैं = 0; // काउंटर वेरिएबल अहस्ताक्षरित चरराज = 1; // अंकों की संख्या अहस्ताक्षरित चार डिग_नम = (0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10); // एक सामान्य एनोड के साथ संकेतक के लिए अंक कोड अहस्ताक्षरित चार डिग = (0, 0, 0, 0); // बिट वैल्यू के लिए ऐरे अगर (संख्या (डिग = 0; डिग = 0; डिग = 0;) अगर (संख्या // बाएं अंकों को शून्य से भरने के लिए (डिग = 0; डिग = 0;) अगर (संख्या // बाएं अंकों को शून्य से भरने के लिए (खुदाई = 0;) जबकि (संख्या> 999) // हजारों की संख्या प्राप्त करें (डिग ++; संख्या - = 1000;) जबकि (संख्या> 99) // सैकड़ों की संख्या प्राप्त करें (डिग ++; संख्या - = 100;) जबकि (संख्या> 9) // दसियों की संख्या प्राप्त करें (डिग++; अंक -= 10;) खुदाई = अंक; // इकाइयों की संख्या प्राप्त करें जबकि(राज़ू // तब तक स्पिन करें जब तक कि सभी 4 बिट भर न जाएं (PORTC = raz; // थोड़ा सा चुनें PORTD = dig_num]; // आउटपुट एक नंबर raz = raz// अगले अंक पर शिफ्ट करें मैं++; // अगले अंक का सूचकांक बढ़ाएँ _देरी_एमएस(1); // देरी 1ms } } वह सब कोड है। मैं इसे पेंट नहीं करूंगा क्योंकि इसमें प्रत्येक पंक्ति पर टिप्पणियां हैं। नीचे आप AtmelStudio6.2 के तहत प्रोजेक्ट के साथ आर्काइव डाउनलोड कर सकते हैं यदि आपके पास अभी भी प्रश्न हैं, तो फोरम में आपका स्वागत है। खैर, सबसे भयानक के लिए, नीचे इस सभी बालिका का वीडियो है)))।