विषयसूची:

Arduino और TM1638 एलईडी डिस्प्ले मॉड्यूल: 11 कदम
Arduino और TM1638 एलईडी डिस्प्ले मॉड्यूल: 11 कदम

वीडियो: Arduino और TM1638 एलईडी डिस्प्ले मॉड्यूल: 11 कदम

वीडियो: Arduino और TM1638 एलईडी डिस्प्ले मॉड्यूल: 11 कदम
वीडियो: Lesson 28: DHT11 Temperature Sensor with TM1637 Display| Arduino Step By Step Course 2024, नवंबर
Anonim
Arduino और TM1638 एलईडी डिस्प्ले मॉड्यूल
Arduino और TM1638 एलईडी डिस्प्ले मॉड्यूल

यदि आपको किसी प्रोजेक्ट में कुछ उपयोगकर्ता इनपुट और आउटपुट जोड़ने के लिए तेज़ और आसान तरीके की आवश्यकता है, तो ये डिस्प्ले मॉड्यूल दिलचस्प और मज़ेदार हैं।

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

चरण 1:

छवि
छवि

पीसीबी को सतह से ऊपर उठाने के लिए स्पेसर्स काफी लंबे होते हैं, हालांकि बोर्ड को कहीं भी उपयोगी बनाने के लिए आपको लंबे समय तक की आवश्यकता होगी। यदि आप मॉड्यूल को पैनल की सतह के करीब माउंट करना चाहते हैं तो आप आईडीसी सॉकेट को हटाना भी चाह सकते हैं। यह एक साधारण डीसोल्डरिंग कार्य होगा क्योंकि वे थ्रू-होल सॉकेट हैं।

चरण 2:

छवि
छवि

बोर्ड को TM1638 IC द्वारा नियंत्रित किया जाता है।

यह "टाइटन माइक्रो इलेक्ट्रॉनिक्स" से एक एलईडी और इंटरफ़ेस ड्राइवर आईसी है। आप इन आईसी को पीएमडी वे से भी खरीद सकते हैं। अधिक जानकारी के लिए आप डेटाशीट भी डाउनलोड कर सकते हैं।

चरण 3: प्रारंभ करना - हार्डवेयर

प्रारंभ करना - हार्डवेयर
प्रारंभ करना - हार्डवेयर

हार्डवेयर - एक Arduino- संगत बोर्ड (या अन्य MCU) से कनेक्शन काफी सरल है। पिनआउट पीसीबी के पीछे दिखाए जाते हैं, और रिबन केबल पर फिटिंग से मेल खाते हैं। यदि आप केबल के अंत को इस तरह देखते हैं।

टॉप-राइट होल पिन वन है, जिसमें टॉप-लेफ्ट पिन दो, बॉटम-राइट पिन नौ और बॉटम-लेफ्ट पिन टेन है। इसलिए पिनआउट हैं:

  1. वीसीसी (5 वी)
  2. जीएनडी
  3. सीएलके
  4. डियो
  5. एसटीबी1
  6. एसटीबी2
  7. एसटीबी3
  8. एसटीबी4
  9. एसटीबी5
  10. जुड़े नहीं हैं।

Arduino के उपयोग के लिए, एक मॉड्यूल का उपयोग करने के लिए पिन 1~4 न्यूनतम आवश्यक हैं। प्रत्येक अतिरिक्त मॉड्यूल को एसटीबी2, एसटीबी3, आदि से जुड़े एक और डिजिटल पिन की आवश्यकता होगी। इस पर बाद में। कृपया ध्यान दें कि प्रत्येक मॉड्यूल 127mA की खपत के साथ प्रत्येक एलईडी के साथ पूर्ण चमक पर सेट होता है, इसलिए एक से अधिक मॉड्यूल और Arduino बोर्डों के साथ अन्य कनेक्शन के साथ बाहरी शक्ति का उपयोग करना बुद्धिमानी होगी।

चरण 4: आरंभ करना - सॉफ्टवेयर

सॉफ्टवेयर - यहां से T1638 लाइब्रेरी डाउनलोड और इंस्टॉल करें। पुस्तकालय के लिए gmail dot com पर rjbatista को धन्यवाद और धन्यवाद। स्केच में प्रारंभिक मॉड्यूल सरल है। इसके साथ पुस्तकालय शामिल करें:

#शामिल

फिर प्रत्येक मॉड्यूल के लिए निम्न में से किसी एक का उपयोग करें:

TM1638 मॉड्यूल (एक्स, वाई, जेड);

x मॉड्यूल केबल पिन 4 से जुड़ा Arduino डिजिटल पिन है, y मॉड्यूल केबल पिन 3 से जुड़ा Arduino डिजिटल पिन है, और z स्ट्रोब पिन है। इसलिए यदि आपके पास डेटा, घड़ी और स्ट्रोब वाला एक मॉड्यूल पिन 8, 7, और 6 से जुड़ा है तो आप इसका उपयोग करेंगे:

TM1638 मॉड्यूल (8, 7, 6);

यदि आपके पास दो मॉड्यूल हैं, जिसमें मॉड्यूल एक का स्ट्रोब Arduino डिजिटल 6 से जुड़ा है, और मॉड्यूल दो का स्ट्रोब डिजिटल 5 से जुड़ा है, तो आप इसका उपयोग करेंगे:

TM1638 मॉड्यूल (8, 7, 6); TM1638 मॉड्यूल (8, 7, 5);

और इसी तरह अधिक मॉड्यूल के लिए। अब डिस्प्ले को कंट्रोल करने के लिए…

चरण 5: द्वि-रंग एलईडी

द्वि-रंग एलईडी
द्वि-रंग एलईडी

लाल/हरी एलईडी को नियंत्रित करना आसान है। संदर्भ के लिए उन्हें बाएं से दाएं शून्य से सात तक गिना जाता है। एकल एलईडी को चालू या बंद करने के लिए, निम्नलिखित का उपयोग करें:

मॉड्यूल.सेटएलईडी (TM1638_COLOR_RED, x); // LED नंबर x को redmodule.setLED (TM1638_COLOR_GREEN, x) पर सेट करें; // एलईडी नंबर x को ग्रीन मॉड्यूल पर सेट करें। सेटएलईडी (TM1638_COLOR_RED + TM1638_COLOR_GREEN, 0); // एलईडी नंबर x को लाल और हरे रंग में सेट करें

उपरोक्त विधि का उपयोग करना सरल हो सकता है यह कुछ हद तक अक्षम है। एक बयान में सभी एल ई डी को संबोधित करने का एक बेहतर तरीका है। ऐसा करने के लिए हम प्रदर्शन के लिए हेक्साडेसिमल में डेटा के दो बाइट्स भेजते हैं। MSB (सबसे महत्वपूर्ण बाइट) में आठ बिट्स होते हैं, जिनमें से प्रत्येक एक हरे रंग की एलईडी का प्रतिनिधित्व करता है (1) या बंद (0)। एलएसबी (कम से कम महत्वपूर्ण बाइट) लाल एल ई डी का प्रतिनिधित्व करता है।

एल ई डी को नियंत्रित करने के लिए हेक्साडेसिमल मान निर्धारित करने का एक आसान तरीका सरल है, छवि आपके पास एल ई डी की एक पंक्ति है - पहली आठ हरी और दूसरी आठ लाल है। प्रत्येक अंक को चालू के लिए 1 और बंद के लिए 0 पर सेट करें। दो बाइनरी नंबरों को हेक्साडेसिमल में बदलें और इस फ़ंक्शन का उपयोग करें:

मॉड्यूल.सेटएलईडी (0xgreenred);

जहां हरे रंग की एलईडी के लिए हरा हेक्साडेसिमल संख्या है और लाल एलईडी के लिए लाल हेक्साडेसिमल संख्या है। उदाहरण के लिए, पहले तीन एलईडी को लाल और अंतिम तीन को हरे रंग के रूप में चालू करने के लिए, द्विआधारी प्रतिनिधित्व होगा:

00000111 11100000 जो हेक्साडेसिमल में E007 है।

तो हम उपयोग करेंगे:

मॉड्यूल.सेटएलईडी (0xE007);

जो ऊपर दिखाए गए अनुसार छवि उत्पन्न करता है।

चरण 6: 7-खंड प्रदर्शन

संख्यात्मक प्रदर्शन को साफ़ करने के लिए (लेकिन नीचे एलईडी नहीं), बस उपयोग करें:

मॉड्यूल.क्लियरडिस्प्ले ();

या प्रत्येक खंड और सभी एल ई डी को चालू करने के लिए, निम्नलिखित का उपयोग करें

मॉड्यूल.सेटअप डिस्प्ले (सच, 7); // जहां 7 तीव्रता है (0~7 से)

दशमलव संख्या प्रदर्शित करने के लिए, फ़ंक्शन का उपयोग करें:

module.setDisplayToDecNumber (ए, बी, झूठा);

जहां ए पूर्णांक है, बी दशमलव बिंदु के लिए स्थिति है (कोई नहीं के लिए 0, अंक 8 के लिए 1, 2, अंक 7 के लिए 4, अंक 6 के लिए 4, अंक 4 के लिए 8, आदि), और अंतिम पैरामीटर (सही/ असत्य) अग्रणी शून्य को चालू या बंद करता है। निम्नलिखित स्केच इस फ़ंक्शन के उपयोग को दर्शाता है:

#include // डेटा पिन 8, क्लॉक पिन 9 और स्ट्रोब पिन 7 TM1638 मॉड्यूल (8, 9, 7) पर एक मॉड्यूल परिभाषित करें; अहस्ताक्षरित लंबा ए = 1; शून्य सेटअप () {} शून्य लूप () {के लिए (ए = १००००; ए <११०००; ए ++) {मॉड्यूल। देरी(1); } के लिए (a=१००००; a<११०००; a++) {module.setDisplayToDecNumber(a, 0, true); देरी(1); } }

… वीडियो में दिखाए गए परिणामों के साथ।

चरण 7:

Image
Image

सबसे दिलचस्प विशेषताओं में से एक है टेक्स्ट को एक या अधिक डिस्प्ले पर स्क्रॉल करने की क्षमता। ऐसा करने के लिए वास्तव में शामिल प्रदर्शन स्केच के रूप में स्पष्टीकरण की आवश्यकता नहीं है:

tm_1638_scrolling_modules_example.pde

TM1638 पुस्तकालय के साथ शामिल आसानी से अनुसरण किया जाता है। बस अपना टेक्स्ट const char string में डालें, सुनिश्चित करें कि मॉड्यूल स्केच की शुरुआत में मॉड्यूल परिभाषा के अनुसार वायर्ड हैं और आप सेट हैं। उपलब्ध वर्णों को देखने के लिए, फ़ंक्शन पृष्ठ पर जाएँ। ध्यान दें कि डिस्प्ले केवल सात-सेगमेंट का है, इसलिए कुछ वर्ण सही नहीं लग सकते हैं, लेकिन संदर्भ में आपको एक अच्छा विचार मिलेगा - इस चरण में वीडियो देखें।

चरण 8:

अंत में, आप प्रत्येक अंक के प्रत्येक खंड को व्यक्तिगत रूप से संबोधित भी कर सकते हैं। इस सरणी की सामग्री पर विचार करें:

बाइट मान = { 1, 2, 4, 8, 16, 32, 64, 128};

प्रत्येक तत्व अंक 1~8 का प्रतिनिधित्व करता है। प्रत्येक तत्व का मान निर्धारित करता है कि अंक का कौन सा खंड चालू होता है। सेगमेंट ए ~ एफ, डीपी के लिए मान 1, 2, 4, 6, 16, 32, 64, 128 हैं। तो निम्न फ़ंक्शन में उपरोक्त सरणी का उपयोग करने के परिणाम:

मॉड्यूल.सेटडिस्प्ले (मान);

छवि के अनुसार होगा।

चरण 9:

छवि
छवि

स्वाभाविक रूप से आप अपने स्वयं के वर्ण, प्रतीक, वगैरह बनाने के लिए प्रत्येक अंक के मूल्यों को जोड़ सकते हैं। उदाहरण के लिए, निम्नलिखित मानों का उपयोग करना:

बाइट मान = {९९, ९९, ९९, ९९, ९९, ९९, ९९, ९९};

हमने इस चरण में छवि के अनुसार बनाया है।

चरण 10: बटन

बटन के मान फ़ंक्शन से बाइट मान के रूप में लौटाए जाते हैं:

मॉड्यूल.गेटबटन ();

चूंकि आठ बटन होते हैं, प्रत्येक एक बाइनरी संख्या के एक बिट का प्रतिनिधित्व करता है जिसे बाइट के रूप में वापस किया जाता है। बाईं ओर का बटन दशमलव एक लौटाता है, और दायाँ 128 लौटाता है। यह एक साथ प्रेस भी लौटा सकता है, इसलिए बटन एक और आठ दबाने पर 129. महत्व:

#include // डेटा पिन 8, क्लॉक पिन 9 और स्ट्रोब पिन 7 TM1638 मॉड्यूल (8, 9, 7) पर एक मॉड्यूल परिभाषित करें; बाइट बटन; शून्य सेटअप () {} शून्य लूप () {बटन = मॉड्यूल। गेटबटन (); module.setDisplayToDecNumber (बटन, 0, असत्य); }

और वीडियो में परिणाम।

ये डिस्प्ले बोर्ड उपयोगी हैं और उम्मीद है कि आपकी परियोजनाओं में एक घर मिल जाएगा। यह पोस्ट आपके लिए pmdway.com द्वारा लाया गया है - दुनिया भर में मुफ्त डिलीवरी के साथ निर्माताओं और इलेक्ट्रॉनिक्स उत्साही लोगों के लिए सब कुछ पेश करता है।

सिफारिश की: