विषयसूची:
वीडियो: स्क्रॉल सिंगल एलसीडी लाइन: 4 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
लिक्विड क्रिस्टल लाइब्रेरी में दो उपयोगी कार्य हैं scrollDisplayLeft() और scrollDisplayRight() । ये फ़ंक्शन पूरे डिस्प्ले को स्क्रॉल करते हैं। यही है, वे दोनों लाइनों को 1602 एलसीडी पर और सभी चार लाइनों को 2004 के एलसीडी पर स्क्रॉल करते हैं। पूरे डिस्प्ले को स्क्रॉल करने के बजाय हमें अक्सर इन डिस्प्ले पर एक लाइन स्क्रॉल करने की क्षमता की आवश्यकता होती है।
यह निर्देशयोग्य दो अतिरिक्त कार्य प्रदान करता है, स्क्रॉलइनफ्रॉमराइट (पाठ प्रदर्शित करने के लिए पंक्ति, स्क्रॉल करने के लिए स्ट्रिंग) और स्क्रॉलइनफ्रॉमलेफ्ट (पाठ प्रदर्शित करने के लिए पंक्ति, स्क्रॉल करने के लिए स्ट्रिंग)। ये दो कार्य जो दो कार्यों के साथ संयुक्त रूप से एलसीडी स्क्रीन में लाइनों को स्क्रॉल करते हैं, स्क्रॉललाइनराइट (पाठ को प्रदर्शित करने के लिए लाइन, स्क्रॉल करने के लिए स्ट्रिंग) और स्क्रॉललाइन लेफ्ट (पाठ को प्रदर्शित करने के लिए लाइन, स्क्रॉल करने के लिए स्ट्रिंग) मेरे पहले के निर्देश से, जो प्रस्तुत किया गया स्क्रीन से लाइनों को स्क्रॉल करने के लिए कार्य करता है, हमें यह नियंत्रित करने के कई शक्तिशाली तरीके देता है कि कैसे टेक्स्ट को एलसीडी स्क्रीन पर प्रस्तुत किया जा सकता है या हटाया जा सकता है।
चरण 1: क्या चाहिए
- एक 1602 या 2004 एलसीडी स्टैंडअलोन डिस्प्ले, या एलसीडी शील्ड
-- 2004 LCD डिस्प्ले के उपयोग के संबंध में नीचे नोट देखें
- एक Arduino UNO R3 या क्लोन
- Arduino को कंप्यूटर से जोड़ने के लिए USB केबल
- आधा आकार, 400 टाई पॉइंट, ब्रेडबोर्ड
- अरुडिनो आईडीई
- एक प्रयोगात्मक मंच (वैकल्पिक, लेकिन सहायक)
1602 या 2004 में एक एलसीडी स्क्रीन की आवश्यकता है [यदि 2004 का उपयोग किया जाता है, तो यह बिना किसी समस्या के दायीं ओर स्क्रॉल करने के लिए LCD.begin() फ़ंक्शन को बदलकर काम करेगा, यह दर्शाने के लिए कि आप अब 20 वर्ण x 4 लाइन का उपयोग कर रहे हैं प्रदर्शन। [२००४ डिस्प्ले का उपयोग करके बाईं ओर से स्क्रॉल करने के लिए, फ़ंक्शन s crrollInFromLeft () का एक कोड पुनर्लेखन आवश्यक है]। एक LCD के अलावा आपको Arduino UNO या क्लोन, Arduino IDE और एक USB केबल की आवश्यकता होगी ताकि Arduino को कंप्यूटर से जोड़ा जा सके।
यहां दिखाए गए स्टैंडअलोन एलसीडी के बजाय एक एलसीडी शील्ड का उपयोग किया जा सकता है। अगर ऐसा है, तो नीचे दिए गए स्केच में एलसीडी के लिए पिन असाइनमेंट को बदलना होगा।
- स्वतंत्र १६०२ एलसीडी डिस्प्ले के लिए मैंने अपने रेखाचित्रों में निम्नलिखित पिन असाइनमेंट का उपयोग किया:
// लिक्विड क्रिस्टल (रुपये, सक्षम करें, d4, d5, d6, d7)
लिक्विड क्रिस्टल एलसीडी(१२, ११, ५, ४, ३, २);
और लिक्विड क्रिस्टल लाइब्रेरी लिक्विड क्रिस्टल शामिल है।
- एलसीडी शील्ड के लिए, मैं अपने स्केच में निम्नलिखित पिन असाइनमेंट का उपयोग करता हूं, और इसमें लिक्विड क्रिस्टल लाइब्रेरी लिक्विड क्रिस्टल भी शामिल है।
// लिक्विड क्रिस्टल (रुपये, सक्षम करें, d4, d5, d6, d7)
लिक्विड क्रिस्टल एलसीडी (8, 13, 9, 4, 5, 6, 7);
कोई भी मार्ग यहां कोड चलाएगा, यानी या तो एलसीडी शील्ड या स्टैंडअलोन एलसीडी। इस निर्देश में एक १६०२ स्टैंडअलोन एलसीडी डिस्प्ले का उपयोग किया गया था, लेकिन जैसा कि उल्लेख किया गया है कि १६०२ शील्ड का भी उपयोग किया जा सकता है यदि विभिन्न पिन असाइनमेंट को ध्यान में रखा जाए।
मैंने Arduino UNO को आधे आकार, 400 टाई पॉइंट, ब्रेडबोर्ड से जोड़ने के लिए एक "प्रयोगात्मक मंच" का उपयोग किया। (मेरा एक पुराना निर्देश देखें, "Arduino UNO R3 के लिए प्रायोगिक प्लेटफ़ॉर्म, इसे उपयोग के लिए कैसे तैयार करें")। हालाँकि, एक प्रायोगिक प्लेटफ़ॉर्म की आवश्यकता नहीं है, हालाँकि मेरे लिए यह LCD को UNO से जोड़ना बहुत आसान और तेज़ बनाता है।
एलसीडी को यूएनओ से जोड़ने के लिए मैंने जिन असाइनमेंट का इस्तेमाल किया, उन्हें ऊपर देखा जा सकता है।
चरण 2: हुकअप
एलसीडी को ब्रेडबोर्ड में प्लग किया जाता है और फिर हुकअप तारों को ब्रेडबोर्ड से Arduino पर उपयुक्त पिन से जोड़ा जाता है (चरण 2 देखें यदि आपके पास मेरे द्वारा उपयोग किए गए कनेक्शन पर कोई प्रश्न हैं)।
मैंने इस परियोजना के लिए एक ढाल के बजाय एक स्टैंडअलोन एलसीडी को प्राथमिकता दी क्योंकि यह मेरे लिए अधिक संतोषजनक था, और मुझे आसानी से देखने की अनुमति दी कि कौन से पिन उपलब्ध थे। यह मुझे एक ढाल के पोटेंशियोमीटर के बजाय एक पोटेंशियोमीटर का उपयोग करने की अनुमति देता है, जिसमें एक घुंडी होती है, जिसे एक पेचकश के साथ समायोजित किया जाना चाहिए।
स्टैंडअलोन एलसीडी के लिए एक अलग 10k ओम पोटेंशियोमीटर के उपयोग की आवश्यकता होती है। जैसा कि ऊपर उल्लेख किया गया है, मैंने एक नॉब के साथ एक का उपयोग किया है, जिसका वाइपर तीसरे एलसीडी पिन से जुड़ा है (दाईं ओर से गिनते हुए एलसीडी पिन आपके सामने हैं)। पोटेंशियोमीटर का उपयोग LCD के कंट्रास्ट को नियंत्रित करने के लिए किया जाता है। 1602 और 2004 के लिए कनेक्शन समान हैं। हालाँकि, विवरण LCD.begin(16, 2) को स्केच में बदलने की आवश्यकता है LCD.begin(20, 4) यह दिखाने के लिए कि हमारा LCD 16 से बदल गया है दो लाइन डिस्प्ले द्वारा कैरेक्टर 20 कैरेक्टर बाय फोर लाइन वन।
संलग्न तस्वीरों पर एक नज़र मेरे द्वारा उपयोग किए गए हुकअप को दिखाती है, जिसमें प्रायोगिक प्लेटफ़ॉर्म और 10k पोटेंशियोमीटर शामिल हैं।
चरण 3: स्केच
बस संलग्न स्केच को Arduino IDE में दर्ज करें। कृपया ध्यान रखें कि निर्देश योग्य साइट अक्सर संकेतों और उनके बीच के पाठ से बड़े और छोटे सभी को हटा देती है। इस प्रकार, सुनिश्चित करें और टेक्स्ट शामिल करें, #लिक्विड क्रिस्टल शामिल करें।
// एलसीडी स्क्रीन पर वर्णों को स्क्रॉल करने के लिए स्केच
#include // टेक्स्ट में नोट देखें कि यहां क्या आवश्यक है, अर्थात, लिक्विड क्रिस्टल.एच अंदर संलग्न है
// प्रतीकों से बड़ा और छोटा
// यह साइट अक्सर प्रतीकों से अधिक और कम और उनके बीच के पाठ को हटा देती है
// लिक्विड क्रिस्टल (रुपये, सक्षम करें, d4, d5, d6, d7)
लिक्विड क्रिस्टल एलसीडी(१२, ११, ५, ४, ३, २);
// LCD को लिक्विड क्रिस्टल ऑब्जेक्ट के रूप में घोषित करें
इंट मैं = 0;
इंट जे = 0;
इंट के = 0;
int देरी समय २ = ३५०; // पारियों के बीच देरी
शून्य स्क्रॉलइनफ्रॉमराइट (इंट लाइन, चार str1 ) {
// आर। जॉर्डन क्रेइंडलर द्वारा लिखित जून 2016
मैं = स्ट्रेल (str1);
के लिए (जे = 16; जे >= 0; जे--) {
LCD.setCursor(0, लाइन);
के लिए (के = 0; के <= 15; के ++) {
एलसीडी.प्रिंट (""); // स्पष्ट रेखा
}
LCD.setCursor (जे, लाइन);
एलसीडी.प्रिंट (str1);
देरी (देरी समय 2);
}
}
शून्य स्क्रॉलइनफ्रॉमलेफ्ट (इंट लाइन, चार str1 ) {
// आर। जॉर्डन क्रेइंडलर द्वारा लिखित जून 2016
मैं = 40 - स्ट्रेलन (str1);
रेखा = रेखा - 1;
के लिए (जे = आई; जे <= आई + 16; जे ++) {
के लिए (के = 0; के <= 15; के ++) {
एलसीडी.प्रिंट (""); // स्पष्ट रेखा
}
LCD.setCursor (जे, लाइन);
एलसीडी.प्रिंट (str1);
देरी (देरी समय 2);
}
}
व्यर्थ व्यवस्था() {
सीरियल.बेगिन (९६००);
Serial.println ("परीक्षण शुरू हो रहा है …");
LCD.begin (16, 2);
एलसीडी.क्लियर ();
LCD.print ("केवल परीक्षण करें");
}
शून्य लूप () {
एलसीडी.क्लियर ();
स्क्रॉलइनफ्रॉमराइट (0, "लाइन 1 फ्रॉम राइट");
स्क्रॉलइनफ्रॉमराइट (1, "लाइन 2 फ्रॉम राइट");
एलसीडी.क्लियर ();
स्क्रॉलइनफ्रॉम लेफ्ट (0, "लाइन 1 बाएं से।");
स्क्रॉलइनफ्रॉम लेफ्ट (1, "लाइन 2 बाय लेफ्ट।");
एलसीडी.क्लियर ();
स्क्रॉलइनफ्रॉमराइट (0, "लाइन 1 फ्रॉम राइट");
स्क्रॉलइनफ्रॉम लेफ्ट (1, "लाइन 2 बाय लेफ्ट।");
एलसीडी.क्लियर ();
}
दो कार्य: स्क्रॉलइनफ्रॉमराइट (पाठ को प्रदर्शित करने के लिए लाइन, स्क्रॉल करने के लिए स्ट्रिंग) और स्क्रॉलइनफ्रॉमलेफ्ट (पाठ को प्रदर्शित करने के लिए लाइन, स्क्रॉल करने के लिए स्ट्रिंग) को एलसीडी स्क्रीन पर स्क्रॉल होने वाली लाइनों को नियंत्रित करने के लिए आपके स्केच में ले जाया जा सकता है। ये फ़ंक्शन नए टेक्स्ट को स्क्रीन पर ले जाने का एक शानदार तरीका प्रदान करते हैं।
जब निर्देश में निहित स्केच में दो कार्यों के साथ संयुक्त "एक एकल एलसीडी लाइन को बाएं या दाएं स्क्रॉल करें, कैसे करें" चार फ़ंक्शन एक एलसीडी डिस्प्ले पर पाठ को स्क्रॉल करने के लिए सुरुचिपूर्ण तरीके प्रदान करते हैं। ये फ़ंक्शन आपको एक बार में टेक्स्ट को एक पंक्ति में स्क्रॉल करने की अनुमति देते हैं, और यह आवश्यक नहीं है कि पूरे डिस्प्ले को स्क्रॉल किया जाए जैसे कि फ़ंक्शन, स्क्रॉलडिस्प्ले लेफ्ट () और स्क्रॉल डिस्प्ले राइट ()।
यह स्क्रॉलिंग क्षमता हमें उन पंक्तियों को प्रस्तुत करने की अनुमति देती है जो डिस्प्ले सामान्य रूप से दिखाने में सक्षम है। अर्थात्, १६०२ डिस्प्ले के लिए हम प्रति पंक्ति केवल १६ वर्णों तक सीमित नहीं हैं (हालाँकि एक समय में केवल १६ ही दिखाई देंगे), और २००४ के लिए हम प्रति पंक्ति २० वर्णों तक सीमित नहीं हैं।
एक तरफ, आप अपनी आवश्यकताओं से मेल खाने के लिए स्क्रॉल के बीच प्रदर्शन समय को समायोजित करना चाह सकते हैं।
चरण 4: बाद में
यही सब है इसके लिए। ये फ़ंक्शन और मेरे पिछले इंस्ट्रक्शनल के दो को आपके पास किसी भी स्केच में जोड़ा जा सकता है जो एक एलसीडी का उपयोग करता है और टेक्स्ट प्रदर्शित करता है। जैसा कि उल्लेख किया गया है, लंबी लाइनों का उपयोग करने की क्षमता एक निश्चित लाभ है जो स्क्रॉलिंग के उपयोग के माध्यम से संभव है।
यदि आप किसी भी प्रश्न या अतिरिक्त जानकारी के लिए मुझसे संपर्क करना चाहते हैं, या प्रस्तुत क्षेत्र में अपने ज्ञान का विस्तार करना चाहते हैं, तो मुझे [email protected] पर संपर्क किया जा सकता है। (कृपया मुझसे संपर्क करने के लिए दूसरे 'i' को 'e' से बदलें।
सिफारिश की:
सेंसर सुहु डेंगन एलसीडी डैन एलईडी (एलसीडी और एलईडी के साथ तापमान सेंसर बनाना): 6 कदम (चित्रों के साथ)
सेंसर SUHU DENGAN LCD DAN LED (एलसीडी और एलईडी के साथ तापमान सेंसर बनाना): है, साया देवी रिवाल्डी महसिस्वा UNIVERSITAS NUSA PUTRA दारी इंडोनेशिया, दी सिनी साया और बरबागी कारा मेम्बुएट सेंसर सुहु मेंगगुनाकन Arduino डेंगन आउटपुट के एलसीडी और एलईडी। इन अदलाह पेम्बाका सुहु डेंगन देसाईं साया सेंदिरी, डेंगन सेंसर इन औरा
डेस्कटॉप स्क्रॉल व्हील और वॉल्यूम नियंत्रण!: 8 कदम (चित्रों के साथ)
डेस्कटॉप स्क्रॉल व्हील और वॉल्यूम नियंत्रण!: पत्रिका का सप्ताहांत प्रोजेक्ट बनाएं, 3/4/09कुछ पृष्ठभूमिहाल ही में, मैं बहुत से अलग-अलग ब्लॉग पढ़ रहा हूं। हर दिन मैं engadget, lifehacker, hackaday, BBG और MAKE: ब्लॉग पर नवीनतम पोस्ट पढ़ूंगा। मेरे लिए समस्या तब आई जब मुझे एहसास हुआ कि ओ
स्क्रॉल-व्हील हैक: 5 कदम (चित्रों के साथ)
स्क्रॉल-व्हील हैक: कपड़े के बटनों पर सरपट दौड़ती उंगलियों के साथ वेब को स्क्रॉल करने का सुपर असुविधाजनक तरीका। (मुस्कान) मेरे माउस के अंदर का स्क्रॉल व्हील एक बहुत ही सरल लेकिन शानदार तंत्र है जो मूल रूप से हर बार जब भी मैं इसे स्क्रॉल करता हूं तो दो बटन को एक के बाद एक धक्का देता है
कष्टप्रद स्क्रॉल व्हील क्लिक एलिमिनेटर (चिकनी स्क्रॉल): 5 कदम
कष्टप्रद स्क्रॉल व्हील क्लिक एलिमिनेटर (चिकनी स्क्रॉल): क्या आप स्क्रॉल व्हील की आवाज़ से परेशान हो जाते हैं? यहाँ आपके पास उस स्क्रॉल से उस क्लिक को निकालने का मौका है! यदि आप अपना माउस तोड़ते हैं, तो इसमें मेरी गलती नहीं है। मैं इस मॉड को लॉजिटेक माउस के साथ कर रहा हूं। मुझे यकीन नहीं है कि यह अन्य माउस बी पर काम करेगा
एलसीडी स्मार्टी के साथ नेटवर्क वाला एलसीडी बैकपैक: 6 कदम
एलसीडी स्मार्टी के साथ नेटवर्क एलसीडी बैकपैक: कैरेक्टर एलसीडी स्क्रीन जो स्क्रॉल जानकारी एक लोकप्रिय केस मोड हैं। वे आमतौर पर समानांतर पोर्ट, सीरियल पोर्ट बैकपैक या यूएसबी बैकपैक (अधिक) के माध्यम से नियंत्रित होते हैं। यह निर्देशयोग्य हमारे ओपन सोर्स ईथरनेट नेटवर्क एलसीडी बैकपैक को प्रदर्शित करता है। नियंत्रण रेखा