- सामग्री की आवश्यकता:
- संक्षिप्त परिचय 16 × 2 डॉट मैट्रिक्स एलसीडी डिस्प्ले:
- सर्किट आरेख और कनेक्शन:
- Energia का उपयोग करते हुए एलसीडी के लिए MSP430 प्रोग्रामिंग:
- MSP430G2 के साथ 16x2 एलसीडी:
यह ट्यूटोरियल के अनुक्रम में तीसरा ट्यूटोरियल है जिसमें हम एनर्जी आईडीई का उपयोग करके MSP430G2 लॉन्चपैड को प्रोग्राम करना सीख रहे हैं। हमारे पिछले ट्यूटोरियल में, हमने सीखा कि हमारे MSP बोर्ड पर डिजिटल इनपुट और आउटपुट पिन को कैसे नियंत्रित किया जाए। इस ट्यूटोरियल में, हम सीखेंगे कि बोर्ड के साथ एक एलसीडी कैसे इंटरफ़ेस करें ताकि हम उपयोगी जानकारी प्रदर्शित कर सकें।
इस परियोजना में हम जो एलसीडी उपयोग कर रहे हैं, वह सबसे अधिक इस्तेमाल किया जाने वाला 16 × 2 डॉट मैट्रिक्स एलसीडी डिस्प्ले है, जो कि अल्फान्यूमेरिक डिस्प्ले है। हम में से ज्यादातर लोग सार्वजनिक पीसीओ या अन्य इलेक्ट्रॉनिक्स परियोजनाओं के माध्यम से इस पर आए होंगे। डेटा और अन्य डीबगिंग जानकारी प्रदर्शित करने के लिए इस तरह का एक डिस्प्ले हमारे भविष्य के ट्यूटोरियल के लिए बहुत उपयोगी होगा। MSP430 के साथ इस एलसीडी को बदलना बहुत आसान है, उपलब्ध लाइब्रेरी के लिए धन्यवाद। तो चलिए गोता लगाते हैं !!
सामग्री की आवश्यकता:
- MSP430G2 टेक्सास इंस्ट्रूमेंट्स से लॉन्चपैड
- 16 × 2 डॉट मैट्रिक्स एलसीडी डिस्प्ले
- तारों को जोड़ना
- एनर्जिया आई.डी.ई.
संक्षिप्त परिचय 16 × 2 डॉट मैट्रिक्स एलसीडी डिस्प्ले:
जैसा कि पहले बताया गया है कि एनर्जिया आईडीई एक सुंदर पुस्तकालय प्रदान करता है जो इंटरफेस को केक का एक टुकड़ा बनाता है और इसलिए डिस्प्ले मॉड्यूल के बारे में कुछ भी जानना अनिवार्य नहीं है। लेकिन, यह दिखाना दिलचस्प नहीं होगा कि हम क्या उपयोग कर रहे हैं !!
16 × 2 नाम का अर्थ है कि डिस्प्ले में 16 कॉलम और 2 पंक्तियाँ हैं, जो एक साथ (16 * 2) 32 बॉक्स बनाती हैं। एक एकल बॉक्स नीचे दी गई तस्वीर में कुछ इस तरह दिखाई देगा
एक एकल बॉक्स में 5 पंक्तियों और 8 स्तंभों के मैट्रिक्स क्रम के साथ 40 पिक्सेल (डॉट्स) होते हैं, ये 40 पिक्सेल मिलकर एक वर्ण बनाते हैं। इसी तरह, सभी बॉक्स का उपयोग करके 32 अक्षर प्रदर्शित किए जा सकते हैं। अब पिनआउट्स पर एक नज़र डालते हैं।
एलसीडी में कुल 16 पिंस होते हैं, जैसा कि ऊपर दिखाया गया है, उन्हें निम्नानुसार चार समूहों में वर्गीकृत किया जा सकता है
सोर्स पिंस (1, 2 और 3): ये पिन डिस्प्ले के लिए पॉवर और कंट्रास्ट लेवल को सोर्स करते हैं
नियंत्रण पिंस (4, 5 और 6): ये पिन एलसीडी इंटरफेसिंग आईसी में रजिस्टरों को सेट / नियंत्रित करते हैं (अधिक यह नीचे दिए गए लिंक में पाया जा सकता है)
डेटा / कमांड पिंस (7 से 14): ये पिन एलसीडी पर किस सूचना को प्रदर्शित करना चाहिए, इसका डेटा प्रदान करते हैं।
एलईडी पिन (15 और 16): इन पिनों का उपयोग एलसीडी की बैकलाइट को चमकाने के लिए किया जाता है यदि आवश्यक हो (वैकल्पिक)।
इन सभी 16 पिनों में से, एलसीडी के समुचित कार्य के लिए केवल 10 पिनों का उपयोग किया जाना है यदि आप इस एलसीडी आलेख में इन एलसीडी डिस्प्ले जंप के बारे में अधिक जानना चाहते हैं।
सर्किट आरेख और कनेक्शन:
MSP430G2 के साथ 16 × 2 डॉट मैट्रिक्स एलसीडी डिस्प्ले इंटरफेस करने के लिए पूरा सर्किट आरेख नीचे दिखाया गया है।
इन दोनों के बीच में अंतर करते हुए एक प्रमुख बाधा उनके ऑपरेटिंग वोल्टेज हैं। एलसीडी डिस्प्ले में 5V का ऑपरेटिंग वोल्टेज होता है जबकि MSP केवल 3.6V के साथ काम करता है । हमारे लिए लकी है एलसीडी इंटरफेस आईसी (एचडी 44780 यू) के डेटा पिन में 2.7V से 5.5V का एक विस्तृत ऑपरेटिंग वोल्टेज है। इसलिए हमें केवल एलसीडी के Vdd (पिन 2) के बारे में चिंता करनी होगी जबकि डेटा पिन 3.6V के साथ भी काम कर सकते हैं।
डिफ़ॉल्ट रूप से MSP430G2 बोर्ड आपको + 5V पिन नहीं देता है, लेकिन हम USB पोर्ट का उपयोग करके MSP430 से + 5V प्राप्त करने के लिए एक छोटी सी हैक कर सकते हैं । यदि आप USB पोर्ट के पास एक नज़दीकी नज़र रखते हैं, तो आप TP1 नामक एक टर्मिनल पा सकते हैं, यह टर्मिनल हमें + 5 वी देगा। हमें बस इतना करना है कि नीचे दिखाए गए अनुसार एक छोटे पुरुष हेडर पिन को मिलाप करना है ताकि हम इसे अपने एलसीडी डिस्प्ले से जोड़ सकें।
नोट: लोड लोड न करें जो कि 50mA से अधिक का उपभोग कर सकता है यह 5V पिन है जो आपके यूएसबी पोर्ट को भून सकता है।
यदि आप टांका लगाने में रुचि नहीं रखते हैं, तो किसी भी + 5 वी विनियमित आपूर्ति और एलसीडी का उपयोग करें, उस स्थिति में, सुनिश्चित करें कि आप अपनी बिजली आपूर्ति के आधार को एमएसपी बोर्ड की जमीन से जोड़ते हैं।
एक बार जब आप दूसरे पिन को जोड़ने वाले + 5V पिन के साथ हो जाते हैं तो वे बहुत सीधे होते हैं। अब जब हमारा हार्डवेयर तैयार हो गया है, तो चलिए सॉफ्टवेयर भाग पर चलते हैं।
Energia का उपयोग करते हुए एलसीडी के लिए MSP430 प्रोग्रामिंग:
एलसीडी डिस्प्ले के साथ MSP430G2553 इंटरफ़ेस करने का पूरा कार्यक्रम इस पृष्ठ के अंत में दिया गया है। कोड को इस तरह संकलित, अपलोड और उपयोग किया जा सकता है। निम्नलिखित पैराग्राफ में, मैं बताऊंगा कि कार्यक्रम कैसे काम करता है।
इससे पहले कि हम स्पष्टीकरण के साथ आगे बढ़ें, हमें उन पिनों पर ध्यान देना होगा जो हम उपयोग कर रहे हैं। यदि आप ऊपर दिए गए सर्किट आरेख और नीचे MSP430 पिन-आउट आरेख को देखते हैं
आप यह निष्कर्ष निकाल सकते हैं कि हमने एलसीडी को निम्न तालिका के अनुसार जोड़ा है
एलसीडी पिन नाम |
से जुड़ा |
वीएसएस |
भूमि |
Vdd |
+ 5 वी यूएसबी पिन |
रुपये |
MSP का पिन 2 |
आर / डब्ल्यू |
भूमि |
सक्षम |
पिन 3 एमएसपी का |
डी 4 |
MSP का पिन 4 |
D5 |
MSP का पिन 5 |
डी 6 |
MSP का पिन 6 |
डी 7 |
पिन 7 MSP की |
इसे ध्यान में रखते हुए, अपने प्रोग्राम में उपयोग किए जाने वाले एलसीडी पिन को परिभाषित करना शुरू करें । हम प्रत्येक पिन को अधिक सार्थक नाम के साथ नाम देंगे ताकि हम इसे बाद में आसानी से उपयोग कर सकें।
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
इसका सीधा सा मतलब यह है कि पिन 2 को कॉल करने के बजाय मैं इसे आरएस के रूप में संदर्भित कर सकता हूं, इसी तरह सभी 6 पिनों के लिए।
अगला कदम एलसीडी लाइब्रेरी को शामिल करना होगा । जब आप एनर्जिया आईडीई स्थापित करते हैं तो यह लाइब्रेरी अपने आप स्थापित हो जाती। तो बस निम्नलिखित लाइन का उपयोग करके इसे जोड़ें
#शामिल
अगला कदम एलसीडी से जुड़े पिनों का उल्लेख करना है, जैसा कि हमने पहले ही #Dfine का उपयोग करके इसका नाम दिया है अब हम केवल एलसीडी पिन के नामों का उल्लेख कर सकते हैं। सुनिश्चित करें कि समान आदेश का पालन किया जाता है।
लिक्विड क्रिस्टल एलसीडी (आरएस, एन, डी 4, डी 5, डी 6, डी 7);
अब हम void setup () फंक्शन में जाते हैं । आकार और प्रकृति में भिन्न-भिन्न प्रकार के एलसीडी डिस्प्ले हैं, हम जो प्रयोग कर रहे हैं वह 16 * 2 है, तो आइए निर्दिष्ट करते हैं कि हमारे कार्यक्रम में
lcd.begin (16, 2);
एलसीडी पर कुछ प्रिंट करने के लिए हमें प्रोग्राम में दो चीजों का उल्लेख करना होगा। एक पाठ की स्थिति है जिसे लाइन lcd.setCursor () का उपयोग करके उल्लेख किया जा सकता है और अन्य प्रिंट करने की सामग्री है जिसका उल्लेख lcd.print () द्वारा किया जा सकता है । इस पंक्ति में हम कर्सर को 1 सेंट पंक्ति और 1 सेंट कॉलम पर सेट कर रहे हैं ।
lcd.setCursor (0,0);
इसी तरह, हम भी कर सकते हैं
lcd.setCursor (0, 1); // कर्सर को 1st कॉलम 2 पंक्ति पर सेट करें
जिस तरह इस पर लिखने के बाद व्हाइटबोर्ड को मिटाया जाता है, उस पर कुछ लिखने के बाद एक एलसीडी को भी मिटा देना चाहिए । यह नीचे की रेखा का उपयोग करके किया जा सकता है
lcd.clear ();
तो पूरा शून्य सेटअप () फ़ंक्शन कुछ इस तरह दिखेगा।
शून्य सेटअप () {lcd.begin (16, 2); // हम 16 * 2 एलसीडी डिस्प्ले का उपयोग कर रहे हैं lcd.setCursor (0,0); // कर्सर को पहली पंक्ति 1 कॉलम lcd.print ("MSP430G2553") पर रखें; // एक परिचय संदेश प्रदर्शित करें lcd.setCursor (0, 1); // 1 कॉलम 2 पंक्ति lcd.print ("- सर्किटडाइजेस्ट") के लिए कर्सर सेट करें; // एक इंट्रो संदेश देरी प्रदर्शित करें (2000); // जानकारी का प्रदर्शन करने के लिए प्रतीक्षा करें lcd.clear (); // फिर इसे साफ करें}
अगला, हमारे शून्य लूप () फ़ंक्शन के अंदर, चलो प्रत्येक 500ms के लिए एक संख्या बढ़ाते रहें और एलसीडी में संख्या प्रदर्शित करें। यह संख्या परीक्षण करती है और इसे नीचे दिखाए गए अनुसार 1 से प्रारंभ किया जाता है
int test = 1;
एक देरी बनाने के लिए हम इनबिल्ट फ़ंक्शन देरी () का उपयोग कर सकते हैं । हमें इस बात का उल्लेख करना होगा कि देरी होने के लिए हमें कितना समय चाहिए। हमारे मामले में, मैंने नीचे दिखाए अनुसार 500ms का उपयोग किया है
देरी (500);
एक चर को बढ़ाना टेस्ट ++ द्वारा किया जा सकता है, बाकी सभी पहले से ही समझाया गया है। पूरा कोड के अंदर शून्य पाश नीचे दिखाया गया है
शून्य लूप () {lcd.print ("MSP के साथ LCD"); // एक परिचय संदेश प्रदर्शित करें lcd.setCursor (0, 1); // कॉलम 0, लाइन 1 lcd.print (परीक्षण) के लिए कर्सर सेट करें; // एक इंट्रो संदेश देरी प्रदर्शित करें (500); lcd.clear (); // फिर इसे साफ़ करें टेस्ट ++; }
MSP430G2 के साथ 16x2 एलसीडी:
एक बार जब आपका हार्डवेयर और कोड तैयार हो जाता है, तो बस अपने बोर्ड को कंप्यूटर से कनेक्ट करें और कोड अपलोड करें जैसा कि हमने ट्यूटोरियल एक में किया था। एक बार कोड अपलोड हो जाने के बाद आपको डिस्प्ले को निम्नलिखित दिखाना चाहिए।
दो सेकंड के बाद, डिस्प्ले स्क्रीन सेटअप से लूप में बदल जाएगी और चर को बढ़ाना शुरू कर देगी और स्क्रीन पर प्रदर्शन नीचे चित्र के रूप में दिखाया जाएगा।
पूरा काम कर रहे वीडियो में पाया जा सकता नीचे। आगे बढ़ो और बदलने की कोशिश करो कि एलसीडी पर क्या प्रदर्शित किया जा रहा है और इसके साथ खेलते हैं। आशा है कि आप ट्यूटोरियल को समझ गए हैं और कुछ उपयोगी रूप सीख गए हैं। यदि आपको कोई संदेह है, तो उन्हें नीचे टिप्पणी अनुभाग में छोड़ दें या मंचों का उपयोग करें। आइए मिलते हैं दूसरे ट्यूटोरियल में।