جدول المحتويات:

تمرير خط LCD الأحادي: 4 خطوات (بالصور)
تمرير خط LCD الأحادي: 4 خطوات (بالصور)

فيديو: تمرير خط LCD الأحادي: 4 خطوات (بالصور)

فيديو: تمرير خط LCD الأحادي: 4 خطوات (بالصور)
فيديو: Part 1 - Babbitt Audiobook by Sinclair Lewis (Chs 01-05) 2024, شهر نوفمبر
Anonim
Image
Image

مكتبة الكريستال السائل لها وظيفتان مفيدتان: scrollDisplayLeft () و scrollDisplayRight (). تعمل هذه الوظائف على تمرير الشاشة بالكامل. أي أنهم يقومون بالتمرير في كلا الخطين على شاشة 1602 LCD وجميع الأسطر الأربعة على شاشة LCD 2004. ما نحتاجه غالبًا هو القدرة على تمرير سطر واحد على هذه الشاشات بدلاً من تمرير الشاشة بالكامل.

يوفر Instructable وظيفتين إضافيتين ، scrollInFromRight (سطر لعرض النص عليه ، وسلسلة يتم تمريرها) و scrollInFromLeft (سطر لعرض النص عليه ، وسلسلة يتم تمريرها). هاتان الوظيفتان اللتان تقومان بتمرير الخطوط إلى شاشة LCD جنبًا إلى جنب مع الوظيفتين ، scrollLineRight (سطر لعرض النص عليه ، وسلسلة يتم تمريرها) و scrollLineLeft (سطر لعرض النص عليه ، وسلسلة يتم تمريرها) من Instructable سابقًا الخاص بي ، والذي قدم وظائف لتمرير الأسطر خارج الشاشة ، يمنحنا العديد من الطرق القوية للتحكم في كيفية عرض النص على شاشة LCD أو إزالته منها.

الخطوة 1: ما هو المطلوب

يلتقي
يلتقي

- شاشة عرض LCD 1602 أو 2004 مستقلة أو درع LCD

- انظر الملاحظة أدناه بخصوص استخدام شاشة عرض LCD لعام 2004

- Arduino UNO R3 أو استنساخ

- كبل USB لتوصيل Arduino بجهاز كمبيوتر

- نصف الحجم ، 400 نقطة ربط ، لوح توصيل

- اردوينو IDE

- منصة تجريبية (اختيارية ولكنها مفيدة)

العناصر المطلوبة هي شاشة LCD إما 1602 أو 2004 [إذا تم استخدام 2004 ، فستعمل دون مشاكل للتمرير من اليمين عن طريق تغيير وظيفة lcd.begin () لتعكس أنك تستخدم الآن سطرًا مكونًا من 20 حرفًا × 4 عرض. [للتمرير من اليسار باستخدام شاشة عرض عام 2004 ، يلزم إعادة كتابة رمز الوظيفة s crollInFromLeft ()]. بالإضافة إلى شاشة LCD ، ستحتاج إلى Arduino UNO أو استنساخ ، و Arduino IDE ، وكابل USB لتوصيل Arduino بجهاز كمبيوتر.

يمكن استخدام درع LCD بدلاً من شاشة LCD المستقلة الموضحة هنا. إذا كانت هذه هي الحالة ، فسيلزم تغيير تعيينات الدبوس لشاشة LCD في الرسم أدناه.

- بالنسبة لشاشة العرض 1602 LCD المستقلة ، استخدمت تعيينات الدبوس التالية في رسوماتي:

// LiquidCrystal (rs، enable، d4، d5، d6، d7)

LiquidCrystal LCD (12 ، 11 ، 5 ، 4 ، 3 ، 2) ؛

وتضمنت مكتبة Liquid Crystal LiquidCrystal.h.

- بالنسبة لدرع LCD ، أستخدم تعيينات الدبوس التالية في رسوماتي ، وقمت أيضًا بتضمين مكتبة Liquid Crystal LiquidCrystal.h.

// LiquidCrystal (rs، enable، d4، d5، d6، d7)

LiquidCrystal LCD (8 ، 13 ، 9 ، 4 ، 5 ، 6 ، 7) ؛

سيعمل أي من المسارين على تشغيل الكود هنا ، أي إما درع LCD أو شاشة LCD مستقلة. تم استخدام شاشة LCD المستقلة 1602 في Instructable ، ولكن كما هو مذكور ، يمكن استخدام درع 1602 أيضًا إذا تم أخذ تعيينات الدبوس المختلفة في الاعتبار.

لقد استخدمت "منصة تجريبية" لتوصيل Arduino UNO بنصف حجم ، 400 نقطة ربط ، لوح توصيل. (راجع التعليمات السابقة الخاصة بي ، "المنصة التجريبية لـ Arduino UNO R3 ، كيفية تحضيرها للاستخدام"). ومع ذلك ، ليست هناك حاجة لمنصة تجريبية ، على الرغم من أنها تجعل توصيل شاشة LCD بـ UNO أسهل وأسرع بالنسبة لي.

يمكن رؤية المهام التي استخدمتها لتوصيل شاشة LCD بـ UNO أعلاه.

الخطوة 2: هوكوب

يتم توصيل شاشة LCD بلوح التجارب ثم توصيل أسلاك التوصيل من اللوح إلى المسامير المناسبة على Arduino (راجع الخطوة 2 إذا كان لديك أي أسئلة حول الاتصالات التي استخدمتها).

لقد فضلت شاشة LCD قائمة بذاتها لهذا المشروع بدلاً من الدرع لأنه كان أكثر إرضاءً بالنسبة لي ، وسمح لي برؤية المسامير المتاحة بسهولة. كما يسمح لي باستخدام مقياس جهد به مقبض ، بدلاً من مقياس جهد الدرع الذي يجب ضبطه باستخدام مفك البراغي.

تتطلب شاشة LCD المستقلة استخدام مقياس جهد منفصل يبلغ 10 كيلو أوم. كما هو مذكور أعلاه ، لقد استخدمت واحدًا بمقبض به ممسحة متصلة بدبوس LCD الثالث (العد من اليمين مع دبابيس LCD التي تواجهك). يستخدم مقياس الجهد للتحكم في تباين شاشة LCD. الاتصالات هي نفسها في 1602 و 2004. ومع ذلك ، يجب تغيير بيان lcd.begin (16 ، 2) في المخطط إلى lcd.begin (20 ، 4) لإظهار أن شاشة LCD الخاصة بنا قد تغيرت من 16 عرض حرف بخطين إلى 20 حرفًا في أربعة أسطر واحدة.

تُظهر نظرة على الصور المرفقة التوصيل الذي استخدمته ، بما في ذلك المنصة التجريبية ، ومقياس الجهد 10 كيلو.

الخطوة 3: الرسم

الرسم
الرسم
الرسم
الرسم
الرسم
الرسم

فقط أدخل الرسم المرفق في Arduino IDE. يرجى أن تضع في اعتبارك أن موقع Instructable غالبًا ما يزيل جميع العلامات الأكبر من والأقل من والنص الموجود بينها. وبالتالي ، تأكد من تضمين النص ، #include LiquidCrystal.h وقم بإرفاق الكلمات LiquidCrystal.h داخل أكبر من وأقل من الرموز.

// رسم لتمرير الأحرف على شاشة LCD

# تضمين // راجع الملاحظة في النص حول ما هو مطلوب هنا ، على سبيل المثال ، LiquidCrystal.h داخل

// أكبر من وأقل من الرموز

// غالبًا ما يزيل هذا الموقع أكبر من وأقل من الرموز والنص الموجود بينهما

// LiquidCrystal (rs، enable، d4، d5، d6، d7)

LiquidCrystal LCD (12 ، 11 ، 5 ، 4 ، 3 ، 2) ؛

// أعلن LCD ككائن LiquidCrystal

كثافة العمليات أنا = 0 ؛

int j = 0 ؛

كثافة العمليات ك = 0 ؛

int delayTime2 = 350 ؛ // التأخير بين الورديات

scrollInFromRight باطلة (int line، char str1 ) {

// بقلم ر.جوردان كريندلر يونيو 2016

أنا = strlen (str1) ؛

لـ (j = 16 ؛ j> = 0 ؛ ي -) {

lcd.setCursor (0 ، سطر) ؛

لـ (k = 0 ؛ k <= 15 ؛ k ++) {

lcd.print ("") ؛ // خط واضح

}

lcd.setCursor (j ، line) ؛

lcd.print (str1) ؛

تأخير (delayTime2) ؛

}

}

scrollInFromLeft باطل (int line، char str1 ) {

// بقلم ر.جوردان كريندلر يونيو 2016

أنا = 40 - strlen (str1) ؛

السطر = السطر - 1 ؛

لـ (j = i ؛ j <= i + 16 ؛ j ++) {

لـ (k = 0 ؛ k <= 15 ؛ k ++) {

lcd.print ("") ؛ // خط واضح

}

lcd.setCursor (j ، line) ؛

lcd.print (str1) ؛

تأخير (delayTime2) ؛

}

}

الإعداد باطل() {

Serial.begin (9600) ؛

Serial.println ("اختبار البدء …") ؛

lcd.begin (16 ، 2) ؛

lcd.clear () ؛

lcd.print ("اختبار فقط") ؛

}

حلقة فارغة() {

lcd.clear () ؛

scrollInFromRight (0، "Line1 From Right") ؛

scrollInFromRight (1، "Line2 From Right") ؛

lcd.clear () ؛

scrollInFromLeft (0، "Line1 From Left.")؛

scrollInFromLeft (1، "Line2 From Left.")؛

lcd.clear () ؛

scrollInFromRight (0، "Line1 From Right") ؛

scrollInFromLeft (1، "Line2 From Left.")؛

lcd.clear () ؛

}

يمكن نقل الوظيفتين: scrollInFromRight (سطر لعرض النص عليه ، وسلسلة يتم تمريرها) و scrollInFromLeft (سطر لعرض النص عليه ، وسلسلة يتم تمريرها) إلى الرسم التخطيطي الخاص بك للتحكم في الخطوط التي يتم تمريرها على شاشة LCD. توفر هذه الوظائف طريقة أنيقة لنقل نص جديد إلى الشاشة.

عند الدمج مع الوظيفتين في الرسم الموجود في Instructable "مرر سطر LCD واحدًا إلى اليسار أو اليمين ، How to" توفر الوظائف الأربع طرقًا أنيقة لتمرير النص داخل وخارج شاشة LCD. تسمح لك هذه الوظائف بتمرير النص سطرًا واحدًا في كل مرة ، ولا تتطلب تمرير الشاشة بالكامل كما تفعل الوظائف ، scrollDisplayLeft () و scrollDisplayRight ().

تسمح لنا قدرة التمرير هذه بتقديم خطوط أطول يمكن للشاشة عرضها عادةً. وهذا يعني ، بالنسبة لشاشة 1602 ، فإننا لسنا مقيدين بـ 16 حرفًا فقط في كل سطر (على الرغم من أنه سيتم عرض 16 حرفًا فقط في كل مرة) ، وبالنسبة لعام 2004 ، لم نقتصر على 20 حرفًا في كل سطر.

جانبا ، قد ترغب في ضبط وقت العرض بين اللفائف لتتناسب مع احتياجاتك.

الخطوة 4: بعد ذلك

هذا كل ما في الامر. يمكن إضافة هذه الوظائف واثنين من Instructable السابق إلى أي رسم تخطيطي لديك يستخدم شاشة LCD ويعرض النص. كما لوحظ ، فإن القدرة على استخدام الخطوط الطويلة هي فائدة أكيدة يمكن تحقيقها من خلال استخدام التمرير.

إذا كنت ترغب في الاتصال بي بخصوص أي أسئلة أو للحصول على معلومات إضافية ، أو لتوسيع معرفتي في المنطقة المعروضة ، فيمكن الوصول إلي على [email protected]. (يُرجى استبدال حرف "i" الثاني بحرف "e" للاتصال بي.

موصى به: