विषयसूची:
वीडियो: कस्टम कैरेक्टर जेनरेटर (एडफ्रूट HT16k33 मैट्रिक्स): 3 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
एलसीडी और एलईडी मैट्रिसेस पर स्पेशल कैरेक्टर प्रिंट करना बहुत मजेदार है। विशेष वर्ण या कस्टम वर्ण मुद्रित करने की प्रक्रिया प्रत्येक पंक्ति और स्तंभ के लिए बाइनरी मानों के साथ एक सरणी उत्पन्न करना है। किसी भी कस्टम कैरेक्टर के लिए सही कोड ढूंढना मुश्किल हो सकता है, इसलिए, यह प्रोजेक्ट 8x8 एलईडी मैट्रिक्स के लिए कोड को स्वचालित और जेनरेट करेगा और कस्टम कैरेक्टर को एडफ्रूट HT16k33 8x8 बाइकलर मैट्रिक्स पर भी प्रिंट करेगा।
Adafruit HT16k33, एक 1.2 '' 8x8 बाइकलर एलईडी मैट्रिक्स एक I2C संचार प्रोटोकॉल के माध्यम से Arduino के साथ संचार करता है।
एडफ्रूट के अनुसार, "एलईडी बैकपैक का यह संस्करण 1.2" 8x8 मैट्रिक्स के लिए डिज़ाइन किया गया है। वे केवल 1.2 "x1.2" मापते हैं, इसलिए इसे नियंत्रित करने के लिए चिप्स की एक विशाल सरणी का उपयोग करना शर्म की बात है। यह बैकपैक 16 पिन या चिप्स के एक गुच्छा का उपयोग करने की झुंझलाहट को हल करता है I2C निरंतर-वर्तमान मैट्रिक्स नियंत्रक पीसीबी के पीछे बड़े करीने से बैठता है। कंट्रोलर चिप हर चीज का ख्याल रखता है, बैकग्राउंड में सभी 64 LED को ड्रॉ करता है। आपको केवल 2-पिन I2C इंटरफ़ेस का उपयोग करके इसमें डेटा लिखना है। दो एड्रेस सिलेक्ट पिन हैं ताकि आप इनमें से 8 पतों को एक 2-पिन I2C बस (साथ ही जो भी अन्य I2C चिप्स या सेंसर आपको पसंद हो) पर नियंत्रित करने के लिए 8 पतों में से एक का चयन कर सकें। ड्राइवर चिप 1/16वें चरण में पूरे डिस्प्ले को 1/16 ब्राइटनेस से लेकर फुल ब्राइटनेस तक 'डिम' कर सकता है। यह अलग-अलग एल ई डी को मंद नहीं कर सकता, केवल एक बार में संपूर्ण डिस्प्ले।"
इस निर्देश में, मैं आपको समझाऊंगा कि वास्तविक समय में किसी भी कस्टम चरित्र के लिए कोड कैसे प्राप्त करें और उस चरित्र को एलईडी मैट्रिक्स पर प्रिंट करें।
चरण 1: अवयव
यह निर्देशयोग्य Adafruit HT16k33 मैट्रिक्स पर एक बुनियादी परियोजना है। आप की जरूरत है:
- एडफ्रूट HT16k33 1.2 ''x 1.2'' 8x8 बाइकलर एलईडी मैट्रिक्स।
- Arduino (कोई भी संस्करण लेकिन Uno को प्राथमिकता दी जाती है)।
- ब्रेड बोर्ड
- बिजली की आपूर्ति
चरण 2: योजनाबद्ध
Adafruit HT16k33 LED मैट्रिक्स को वायरिंग करना बहुत आसान है क्योंकि हमें घड़ी और डेटा पिन को कनेक्ट करने की आवश्यकता होती है जैसा कि हम आमतौर पर I2C उपकरणों के लिए करते हैं। कनेक्शन इस प्रकार होंगे:
- SCL (मैट्रिक्स का क्लॉक पिन) A5 से जुड़ा है (Arduino Uno का क्लॉक पिन। Arduino के अन्य वेरिएंट के लिए डेटाशीट देखें)
- एसडीए (मैट्रिक्स का डाटा पिन) ए4 से जुड़ा है। (Arduino के अन्य वेरिएंट के लिए डेटाशीट देखें)
- VCC 5V से जुड़ा है।
- GND 0V से जुड़ा है।
आप चित्र में दिखाए गए योजनाबद्ध से भी परामर्श कर सकते हैं।
चरण 3: कोड
Arduino कोड
सबसे पहले, हम सभी आवश्यक पुस्तकालयों को शामिल करेंगे।
- Wire.h:- I2C संचार के लिए
- Adafruit_LedBackpack
- एडफ्रूट_जीएफएक्स
ये सभी लाइब्रेरी Arduino IDE में ही उपलब्ध हैं। आपको बस उन्हें लाइब्रेरी मैनेजर से इंस्टॉल करना होगा। स्केच >> पुस्तकालय शामिल करें >> पुस्तकालय प्रबंधित करें
सेटअप फ़ंक्शन ()
एक अहस्ताक्षरित पूर्णांक 8-बिट सरणी को 8 पंक्तियों के लिए 8 बिट्स (8 कॉलम) के लिए 8 बाइनरी मानों में सेट करना। I2C संचार के लिए पता सेट करें।
लूप फ़ंक्शन ()
जैसा कि हमें चरित्र को प्रिंट करने की आवश्यकता होती है, हमें वास्तविक समय में चरित्र के लिए कोड की आवश्यकता होती है। सबसे सुविधाजनक तरीका यह है कि कोड को क्रम से भेजा जाए और Arduino सीरियल डेटा को पढ़ेगा और उसके अनुसार चरित्र को प्रिंट करेगा। क्रमिक रूप से एक सरणी भेजना एक व्यस्त काम हो सकता है, इसलिए हम अल्पविराम द्वारा अलग किए गए सभी 8 कोड (प्रत्येक 8 बिट) के साथ एक स्ट्रिंग भेज सकते हैं।
सीरियल स्ट्रिंग पढ़ना:
अगर (सीरियल.उपलब्ध ()> 0) {डेटा = सीरियल.readStringUntil ('\ n'); Serial.println (डेटा); }
पाठ पढ़ने के बाद, हमें इस स्ट्रिंग को डीकोड करना होगा और बाइनरी मानों को वापस प्राप्त करना होगा। जैसा कि हम जानते हैं, इनपुट स्ट्रिंग का प्रारूप हमेशा समान रहेगा। हम सबस्ट्रिंग को खोजने के लिए इसे कोड कर सकते हैं और स्ट्रिंग्स को उनके दशमलव समकक्ष मानों में बदल सकते हैं। फिर हम मैट्रिक्स पर चरित्र को प्रिंट करने के लिए उत्पन्न दशमलव सरणी (uint8_t) को पास करेंगे।
8 बिट की स्ट्रिंग को दशमलव में बदलना:
इंट वैल (स्ट्रिंग स्ट्र) {इंट वी = 0; के लिए (int i=0;i<8;i++) { अगर (str=='1') {v=v+power(2, (7-i)); } } वापसी वी; }
पावर फ़ंक्शन (पाउ ()) का उपयोग करके दशमलव समकक्ष का मूल्यांकन करने के लिए, आपको दोहरे प्रकार के मानों से निपटने की आवश्यकता है और इसलिए हम अपना स्वयं का पावर फ़ंक्शन इस प्रकार लिख सकते हैं:
इंट पावर (इंट बेस, इंट एक्सपोनेंट) {इंट सी = 1; के लिए (int i=0;i {c=c*base; } वापसी c; }
अब, अंत में, हम 8 दशमलव मानों (प्रत्येक पंक्ति के लिए एक) के उत्पन्न सरणी का उपयोग करके वर्ण को मुद्रित करने के लिए कोड लिखेंगे।
शून्य प्रिंट_इमोजी (uint8_t इमोजी , स्ट्रिंग रंग) {मैट्रिक्स। क्लियर (); अगर (रंग=="लाल") {मैट्रिक्स.ड्राबिटमैप(0, 0, इमोजी, 8, 8, LED_RED); } और {मैट्रिक्स.ड्राबिटमैप(0, 0, इमोजी, 8, 8, LED_GREEN); } मैट्रिक्स.राइटडिस्प्ले (); देरी (500); }
आप इस कोड को आसानी से समझ सकते हैं क्योंकि हम पहले मैट्रिक्स को साफ़ कर रहे हैं और फिर मैट्रिक्स.ड्राबिटमैप () फ़ंक्शन का उपयोग करके इमोजी सरणी का उपयोग करके वर्ण प्रदर्शित कर रहे हैं। सभी स्वरूपण के बाद "matrix.writeDisplay ()" लिखना न भूलें क्योंकि यह फ़ंक्शन केवल मैट्रिक्स पर अब तक किए गए सभी स्वरूपण प्रदर्शित करेगा।
अब आप सभी कोड मानों के साथ स्ट्रिंग भेज सकते हैं और Arduino मैट्रिक्स पर वर्ण प्रिंट करेगा। आप नीचे से Arduino कोड डाउनलोड कर सकते हैं। प्रयोगात्मक उद्देश्य के लिए, आप लिख सकते हैं
B00111100, B01000010, B10100101, B10000001, B10100101, B10011001, B01000010, B00111100
सीरियल मॉनिटर में यह स्ट्रिंग और मैट्रिक्स पर चरित्र देख सकता है।
अब, जब हम "प्रिंट" बटन दबाते हैं, तो हमें सॉफ़्टवेयर से सीरियल डेटा स्वचालित रूप से भेजने की आवश्यकता होती है। इसे स्वचालित करने के लिए, हम एक डेमो 8x8 मैट्रिक्स बनाएंगे और हम उपयोगकर्ता को यह चुनने की सुविधा प्रदान करेंगे कि कौन से सेल रंगीन होने चाहिए और फिर सॉफ्टवेयर स्वचालित रूप से कोड उत्पन्न करेगा और डेटा को क्रमिक रूप से स्ट्रिंग प्रारूप में Arduino को भेज देगा। मैंने अपने बाकी काम के लिए प्रोसेसिंग को चुना। प्रसंस्करण में, हम 64 बटन (दबाए गए फ़ंक्शन के साथ आयत) का उपयोग करके एक मैट्रिक्स बना सकते हैं और शुरुआत में एक विशेष मान और रंग निर्दिष्ट कर सकते हैं (इसे मान 0 के साथ सफेद रंग होने दें)। अब जब भी बटन दबाया जाएगा, हम बटन के रंग को काले रंग में बदल देंगे और मान को 1 पर सेट कर देंगे। यदि उपयोगकर्ता उसी बटन को फिर से दबाता है, तो उसका मान फिर से 0 में बदल जाएगा और रंग वापस सफेद हो जाएगा। यह उपयोगकर्ता को बार-बार आसानी से कोड बदलने में मदद करेगा और पूरे मैट्रिक्स को फिर से मिटाए बिना आसानी से संशोधन कर सकता है। "प्रिंट" बटन पर क्लिक करने पर, हम डेमो के लिए ऊपर दिखाए गए स्ट्रिंग के समान एक स्ट्रिंग बनाएंगे। फिर स्ट्रिंग को विशेष सीरियल पोर्ट पर भेजा जाएगा।
आप नीचे से प्रोसेसिंग कोड डाउनलोड कर सकते हैं। प्रसंस्करण में यह मेरा पहला कोड है। कोडिंग के उन्नत तरीके के सुझावों की अत्यधिक सराहना की जाती है।
आप देख सकते हैं कि जीयूआई कैसा दिखता है और सिस्टम का उपयोग करके चरित्र कैसे बनाया जाता है। मैट्रिक्स पर समान चरित्र बनाने में मुश्किल से कुछ सेकंड लगेंगे।
आप इस प्रोजेक्ट का कोड और इमेज मेरे GitHub रिपॉजिटरी से डाउनलोड कर सकते हैं।
सिफारिश की:
मौसम आधारित संगीत जेनरेटर (ESP8266 आधारित मिडी जेनरेटर): 4 चरण (चित्रों के साथ)
वेदर बेस्ड म्यूजिक जेनरेटर (ESP8266 बेस्ड मिडी जेनरेटर): हाय, आज मैं आपको बताऊंगा कि कैसे अपना खुद का छोटा वेदर बेस्ड म्यूजिक जेनरेटर बनाया जाता है। यह ESP8266 पर आधारित है, जो एक Arduino की तरह है, और यह तापमान, बारिश पर प्रतिक्रिया करता है और प्रकाश की तीव्रता। यह उम्मीद न करें कि यह संपूर्ण गीत या राग कार्यक्रम बना देगा
रीड स्विच का उपयोग कर जेनरेटर - डीसी जेनरेटर: 3 चरण
जेनरेटर - डीसी जेनरेटर रीड स्विच का उपयोग कर रहा है: सरल डीसी जनरेटर एक प्रत्यक्ष वर्तमान (डीसी) जनरेटर एक विद्युत मशीन है जो यांत्रिक ऊर्जा को प्रत्यक्ष वर्तमान बिजली में परिवर्तित करता है। महत्वपूर्ण: एक प्रत्यक्ष वर्तमान (डीसी) जनरेटर को बिना किसी निर्माण के डीसी मोटर के रूप में उपयोग किया जा सकता है परिवर्तन
पीसी के लिए विजुअल स्क्रिप्ट का उपयोग करके अवास्तविक इंजन 4 में कैरेक्टर कंट्रोलर के साथ 2d कैरेक्टर कैसे बनाएं: 11 कदम
पीसी के लिए विजुअल स्क्रिप्ट का उपयोग करके अवास्तविक इंजन 4 में कैरेक्टर कंट्रोलर के साथ 2डी कैरेक्टर कैसे बनाएं: पीसी के लिए विजुअल स्क्रिप्ट का उपयोग करके अवास्तविक इंजन 4 में कैरेक्टर कंट्रोलर के साथ 2डी कैरेक्टर कैसे बनाएं नमस्ते, मैं जॉर्डन स्टेल्ट्ज हूं। मैं 15 साल की उम्र से वीडियो गेम विकसित कर रहा हूं। यह ट्यूटोरियल आपको सिखाएगा कि कैसे एक बुनियादी चरित्र बनाया जाए
एलसीडी में 8051 माइक्रोकंट्रोलर के साथ कस्टम कैरेक्टर कैसे प्रिंट करें: 4 कदम
8051 माइक्रोकंट्रोलर के साथ एलसीडी में कस्टम कैरेक्टर कैसे प्रिंट करें: इस प्रोजेक्ट में हम आपको बताने जा रहे हैं कि 8051 माइक्रोकंट्रोलर का उपयोग करके 16 * 2 एलसीडी में कस्टम कैरेक्टर कैसे प्रिंट किया जाए। हम 8 बिट मोड में LCD का उपयोग कर रहे हैं। हम 4 बिट मोड के साथ भी ऐसा ही कर सकते हैं
विंडोज़ में अपने खुद के कस्टम कैरेक्टर बनाएं: 4 कदम
विंडोज़ में अपने स्वयं के कस्टम वर्ण बनाएं: इस निर्देश में मैं आपको दिखाऊंगा कि विंडोज़ में निर्मित एप्लिकेशन के साथ कस्टम वर्ण कैसे बनाएं। हाँ और सामान। उन चित्रों से सावधान रहें जो पेंट में बने हैं। वे डरावने हो सकते हैं