विषयसूची:

कुशल और सस्ता: STM32L4 के साथ प्रदर्शित करें: 13 कदम
कुशल और सस्ता: STM32L4 के साथ प्रदर्शित करें: 13 कदम

वीडियो: कुशल और सस्ता: STM32L4 के साथ प्रदर्शित करें: 13 कदम

वीडियो: कुशल और सस्ता: STM32L4 के साथ प्रदर्शित करें: 13 कदम
वीडियो: #1 Say NO to ARDUINO! New ARM Microcontroller Programming and Circuit Building Series 2024, नवंबर
Anonim
Image
Image
परिचय
परिचय

आज, हम उन तीन विषयों के बारे में बात करेंगे जिन्हें मैं पूरी तरह से पसंद करता हूं: एक एलसीडी डिस्प्ले जो कम ऊर्जा खर्च करता है, कोर अरुडिनो के साथ एसटीएम 32, और अरुडिनो मेगा प्रो मिनी। यह इंटरनेट ऑफ थिंग्स के लिए एक अचूक तिकड़ी है। फिर मैं आपको HT1621 छह-अंकीय एलसीडी डिस्प्ले से परिचित कराऊंगा और एक कोड के साथ एक उदाहरण नियंत्रण बनाऊंगा जो Arduino Mega Pro Mini और STM32 L432KC दोनों पर काम करता है। एक उल्लेखनीय विवरण यह है कि दो माइक्रोकंट्रोलर के लिए स्रोत कोड बिल्कुल समान है। मैं पिनिंग भी नहीं बदलूंगा। यह बिल्कुल शानदार है!

चरण 1: परिचय

परिचय
परिचय

HT1621 LCD डिस्प्ले में आमतौर पर मल्टीमीटर, इलेक्ट्रॉनिक स्केल, इलेक्ट्रॉनिक घड़ियों, थर्मामीटर और इलेक्ट्रॉनिक मापने वाले उपकरणों में उपयोग की जाने वाली स्क्रीन होती है।

• इसमें ७ खंडों के साथ ६ अंक होते हैं

• यह 3-तार एसपीआई संचार का उपयोग करता है

• इसमें एक बैकलाइट है जो अंधेरे वातावरण के लिए उपयुक्त है

• इसका ऑपरेटिंग वोल्टेज 4.7 ~ 5.2V. है

• यह बैकलाइट के साथ 4mA की खपत करता है

ध्यान दें कि इसमें छह से अधिक अंक, तीन दशमलव बिंदु और तीन बार के साथ एक बैटरी मीटर है।

चरण 2: उपयोग के लिए पुस्तकालय

हम ANXZHU github उपयोगकर्ता पुस्तकालय का उपयोग करेंगे, जो काफी सरल है। इसे नीचे दिए गए लिंक में मूल संस्करण में देखा जा सकता है:

github.com/anxzhu/segment-lcd-with-ht1621

पुस्तकालय का नाम थोड़ा अजीब है, इसलिए मैंने इसका नाम बदलने का फैसला किया (फाइलें, कक्षाएं, बिल्डर्स, आदि)। इसका मूल नाम "A6seglcd" है। मैंने इस नाम को "lcdlib" से बदल दिया।

चरण 3: पुस्तकालय

पुस्तकालय "एलसीडीलिब" जोड़ें।

लिंक पर पहुंचें और पुस्तकालय डाउनलोड करें।

फ़ाइल को अनज़िप करें और इसे Arduino IDE के लाइब्रेरी फ़ोल्डर में पेस्ट करें।

सी: / प्रोग्राम फ़ाइलें (x86) / Arduino / पुस्तकालय

चरण 4: प्रदर्शन

प्रदर्शन
प्रदर्शन

Arduino मेगा असेंबली

चरण 5: प्रदर्शन

प्रदर्शन
प्रदर्शन

SMT32 असेंबली

चरण 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

मैं यहां यह बताना चाहता हूं कि STM32-L432KC में सीरियल USB कनवर्टर नहीं है। इसके बजाय, इसमें एक पूर्ण USB है, जो STMicroelectronics ST-link प्रोटोकॉल का उपयोग करता है। इस प्रकार, यह काफी परिष्कृत है और यदि आप IR या माइक्रोविज़न का उपयोग कर रहे हैं तो यह बहुत ही कुशल डिबगिंग को सक्षम बनाता है। और एक Arduino Core (MBED, Microsoft के मूल उपकरण का उपयोग करके) होने के नाते, यह अत्यधिक पेशेवर संकलक का उपयोग करता है। क्या मुझे कुछ और कहने की ज़रूरत है?

चरण 7: अरुडिनो मेगा 2560 प्रो मिनी

Arduino मेगा 2560 प्रो मिनी
Arduino मेगा 2560 प्रो मिनी

मुझे यह भी पसंद है, क्योंकि यह एक "शुद्ध" और "वास्तविक" Arduino है। यह बहुत सारे आईओ के साथ एक मेगा है। लेकिन यह मिनी है, इसलिए यह कहीं भी फिट बैठता है। मुझे हर जगह आईओ पसंद है। इसके साथ, मुझे LED, SPI, i2c, आदि को जोड़ना पसंद है। इस संबंध में, यह मेगा अद्भुत है।

चरण 8: विधानसभा

सभा
सभा

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

चरण 9: कार्यक्रम

हम एक बहुत ही सरल प्रोग्राम बनाएंगे, जहां हम डिस्प्ले पर विभिन्न प्रतीक (अक्षर, संख्या और अंक) लिखेंगे।

याद रखें कि यह प्रोग्राम Arduino Mega Pro Mini और STM32 L432KC दोनों पर काम करता है।

चरण 10: पुस्तकालय और चर

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

#include //biblioteca para controle do display

एलसीडीलिब एलसीडी; // इंस्टैंसिया डू कंट्रोलडोर डिस्प्ले / * 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ए, बी, सी, सी, डी, ई, एफ, एच, एच, एल, एन, N, P, r, t, U, -, बल्ले, pf, '', */ const char num={0x7D, 0x60, 0x3E, 0x7A, 0x63, 0x5B, 0x5F, 0x70, 0x7F, 0x7B, 0x77, 0x4F, 0x1D, 0x0E, 0x6E, 0x1F, 0x17, 0x67, 0x47, 0x0D, 0x46, 0x75, 0x37, 0x06, 0x0F, 0x6D, 0x02, 0x80, 0xFF, 0x00}; /*सूचकांक 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 */

चरण 11: सेटअप

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

शून्य सेटअप () {lcd.run (2, 3, 4, 5); //[सीएस wr डेटा का नेतृत्व किया+] निश्चित डॉस पिनोस LCD.conf (); //configuração inicial LCD.clr (); // लिम्पा ओ डिस्प्ले // एस्क्रव हैलो एलसीडी। डिस्प्ले (10, संख्या [17]); LCD.display(8, num[15]); LCD.display(6, num[19]); LCD.display(4, num[19]); LCD.display(2, num[0]); // फिम हेलो देरी (1000); LCD.clr (); // लिम्पा ओ डिस्प्ले}

चरण 12: लूप

यहां, हम "राइटलूप" नामक एक फ़ंक्शन बनाते हैं, जो डिस्प्ले पर LOOP शब्द लिखेगा, फिर हमारे एरे के सभी प्रतीकों को लिखेगा। हमारे पास "राइटबैटरी" फ़ंक्शन भी है, जो बैटरी मार्करों को प्रिंट करता है।

अंत में, हमारे पास "lcd.dispnum" कमांड है जो फ्लोटिंग पॉइंट वैल्यू लिखता है।

चरण 13: फ़ाइलें डाउनलोड करें

पीडीएफ

मैं नहीं

सिफारिश की: