توصيل LCD 1602 بـ Arduino: الوصف والوظائف والتعليمات والميزات والمشكلات والحلول

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

توصيل LCD 1602 بـ Arduino: الوصف والوظائف والتعليمات والميزات والمشكلات والحلول
توصيل LCD 1602 بـ Arduino: الوصف والوظائف والتعليمات والميزات والمشكلات والحلول
Anonim

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

شاشة LCD 1602 للاتصال بالاردوينو
شاشة LCD 1602 للاتصال بالاردوينو

LCD 1602

من بين العديد من الخيارات بين الشاشات ، أود أن أفرد شاشة LCD1602 بناءً على وحدة التحكم HD4478. يوجد هذا العرض بلونين: أحرف بيضاء على خلفية زرقاء وحروف سوداء على خلفية صفراء. لن يتسبب توصيل شاشة LCD 1602 بـ Arduino في حدوث أي مشاكل أيضًا ، نظرًا لوجود مكتبة مضمنة ، ولن تحتاج إلى تنزيل أي شيء إضافي. تختلف شاشات العرض ليس فقط في السعر ، ولكن أيضًا في الحجم. غالبًا ما يستخدم هواة الراديو 16× 2 ، أي سطرين من 16 حرفًا. ولكن يوجد أيضًا 20 × 4 ، حيث يوجد 4 أسطر من 20 حرفًا. لا تلعب الأبعاد واللون أي دور في توصيل شاشة LCD 1602 بـ Arduno ، فهي متصلة بنفس الطريقة. زاوية الرؤية 35 درجة ، وقت استجابة الشاشة 250 مللي ثانية. يمكن أن تعمل في درجات حرارة من -20 إلى 70 درجة مئوية. عند العمل يستخدم 4 مللي أمبير للشاشة و 120 مللي أمبير للإضاءة الخلفية.

شاشة عرض LCD 1602 pinout
شاشة عرض LCD 1602 pinout

أين يتم استخدامه؟

تحظى هذه الشاشة بشعبية كبيرة ليس فقط بين هواة الراديو ، ولكن أيضًا بين كبار الشركات المصنعة. على سبيل المثال ، تستخدم الطابعات وآلات القهوة أيضًا شاشة LCD1602. هذا بسبب انخفاض سعره ، هذا العرض يكلف 200-300 روبل في المواقع الصينية. الأمر يستحق الشراء هناك ، حيث إن هوامش هذه الشاشة عالية جدًا في متاجرنا.

تواصل مع اردوينو

توصيل LCD 1602 بـ Arduino Nano و Uno لا يختلف. يمكنك العمل مع الشاشة في وضعين: 4 بت و 8. عند العمل مع شاشة 8 بت ، يتم استخدام كل من البتات المنخفضة والعليا ، ومع 4 بت ، يتم استخدام الوحدات السفلية فقط. لا توجد نقطة معينة في العمل مع 8 بت ، حيث ستتم إضافة 4 جهات اتصال أخرى للاتصال ، وهو أمر غير مستحسن ، لأن السرعة لن تكون أعلى ، ويبلغ حد تحديث الشاشة 10 مرات في الثانية. بشكل عام ، يتم استخدام الكثير من الأسلاك لتوصيل LCD 1602 بـ Arduino ، مما يسبب بعض الإزعاج ، ولكن هناك دروع خاصة ، ولكن المزيد حول ذلك لاحقًا. تُظهر الصورة اتصال الشاشة بـ Arduino Uno:

توصيل شاشة اردوينو
توصيل شاشة اردوينو

مثال على الرمز:


تشمل //أضف مكتبة LiquidCrystal LCD المطلوبة (7 ، 6 ، 5 ، 4 ، 3 ، 2) ؛ // (RS، E، DB4، DB5، DB6، DB7) إعداد باطل () {lcd.begin (16، 2) ؛ // ضبط شاشة LCD.setCursor (0 ، 0) ؛ // اضبط المؤشر على بداية السطر 1 lcd.print ("مرحبًا ، العالم!") ؛ // عرض شاشة lcd. setCursor (0 ، 1) ؛ // اضبط المؤشر على بداية السطر 2 lcd.print ("fb.ru") ؛ // Output text} حلقة فارغة () {}

ماذا يفعل الكود؟ بادئ ذي بدء ، تم توصيل مكتبة للعمل مع الشاشة. كما هو مذكور أعلاه ، هذه المكتبة مضمنة بالفعل في Arduino IDE ولا تحتاج إلى تنزيلها وتثبيتها بالإضافة إلى ذلك. بعد ذلك ، يتم تحديد جهات الاتصال المتصلة بالدبابيس: RS ، E ، DB4 ، DB5 ، DB6 ، DB7 ، على التوالي. ثم يتم ضبط حجم الشاشة. نظرًا لأننا نعمل بإصدار مكون من 16 حرفًا وسطرين ، فنحن نكتب هذه القيم. قمنا بضبط المؤشر على بداية السطر الأول وعرض نصنا الأول Hello World. بعد ذلك ، ضع المؤشر على السطر الثاني واعرض اسم الموقع. هذا كل شئ! تم النظر في توصيل شاشة LCD 1602 بـ Arduino Uno.

ما هو I2C ولماذا هو مطلوب؟

كما ذكر أعلاه ، يتطلب توصيل الشاشة الكثير من المسامير. على سبيل المثال ، عند العمل مع أجهزة استشعار متعددة وشاشة LCD ، قد لا تكون جهات الاتصال 1602 كافية. غالبًا ما يستخدم هواة الراديو إصدارات Uno أو Nano ، حيث لا يوجد الكثير من جهات الاتصال. ثم جاء الناس بدروع خاصة. على سبيل المثال ، I2C. يسمح لك بتوصيل الشاشة بـ 4 دبابيس فقط. هذا أقل مرتين. تُباع وحدة I2C بشكل منفصل ، حيث تحتاج إلى لحامها بنفسك ، ولحامها بالفعلشاشة LCD 1602.

وحدة I2C لشاشة LCD 1602
وحدة I2C لشاشة LCD 1602

اتصال مع وحدة I2C

توصيل شاشة LCD 1602 بـ Arduino Nano باستخدام I2C يشغل مساحة صغيرة ، فقط 4 دبابيس: مخرجات أرضية وطاقة و 2 بيانات. نقوم بتوصيل الطاقة والأرض بـ 5V و GND على Arduino ، على التوالي. جهات الاتصال المتبقية: SCL و SDA متصلان بأي دبابيس تناظرية. في الصورة ، يمكنك رؤية مثال لتوصيل LCD 1602 بأردوينو بوحدة I2C:

عرض التوصيلات باستخدام وحدة I2C
عرض التوصيلات باستخدام وحدة I2C

رمز البرنامج

إذا كان من الضروري استخدام مكتبة واحدة فقط للعمل مع شاشة عرض بدون وحدة نمطية ، فستحتاج إلى مكتبتين للعمل مع وحدة نمطية. واحد منهم موجود بالفعل في Arduino IDE - Wire. مكتبة أخرى ، LiquidCrystal I2C ، تحتاج إلى تنزيلها بشكل منفصل وتثبيتها. لتثبيت المكتبة في Arduino ، يجب تحميل محتويات الأرشيف الذي تم تنزيله إلى مجلد الجذر Libraries. مثال على الكود باستخدام I2C:


تتضمنتتضمن LiquidCrystal_I2C lcd (0x27، 16، 2) ؛ // إعداد إعداد باطل العرض () {lcd.init () ؛ lcd.backlight () ؛ // قم بتشغيل الإضاءة الخلفية للعرض lcd.print ("FB.ru") ؛ lcd.setCursor (8 ، 1) ؛ lcd.print ("LCD 1602") ؛ } حلقة فارغة () {// تعيين المؤشر إلى السطر الثاني وحرف فارغ. lcd.setCursor (0 ، 1) ؛ // اطبع عدد الثواني منذ بدء تشغيل اردوينو lcd.print (millis () / 1000) ؛ }

كما ترى ، الرمز هو نفسه تقريبًا

كيف أضيف الرمز الخاص بي؟

المشكلة في هذه العروض أنه لا يوجددعم السيريلية والرموز. على سبيل المثال ، تحتاج إلى تحميل بعض الشخصيات على الشاشة حتى تعكسها. للقيام بذلك ، تتيح لك الشاشة إنشاء ما يصل إلى 7 شخصيات. قدم الجدول:

0 0 0 1 0
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 0 0 0

إذا كان 0 - لا يوجد شيء ، إذا 1 - إنها منطقة مظللة. في المثال أعلاه ، يمكنك أن ترى إنشاء شخصية "مبتسم مبتسم". باستخدام برنامج مثال في Arduino ، سيبدو كما يلي:


تتضمنتضمين // تضمين المكتبة المطلوبة // Smile icon bitmask byte smile [8]={B00010، B00001، B11001، B00001، B11001، B00001، B00010،}؛ LiquidCrystal LCD (7 ، 6 ، 5 ، 4 ، 3 ، 2) ؛ // (RS، E، DB4، DB5، DB6، DB7) إعداد باطل () {lcd.begin (16، 2) ؛ // ضبط شاشة LCD.createChar (1 ، ابتسامة) ؛ // إنشاء رقم الحرف 1 lcd.setCursor (0 ، 0) ؛ // اضبط المؤشر على بداية السطر 1 lcd.print ("\ 1") ؛ // عرض الابتسامة (الحرف رقم 1) - "\ 1"} حلقة فارغة () {}

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

إضافة أحرف مخصصة إلى شاشة LCD 1602
إضافة أحرف مخصصة إلى شاشة LCD 1602

مشاكل حيث قد لا تعمل الشاشة

هناك أوقات لا تعمل فيها الشاشة. على سبيل المثال ، يتم تشغيله ، لكنه لا يعرض الأحرف. أو لا يتم تشغيله على الإطلاق. أولاً ، تحقق مما إذا كنت قد قمت بتوصيل جهات الاتصال بشكل صحيح. إذا كنت تستخدم توصيل LCD 1202 بـ Arduino بدون I2C ، فمن السهل جدًا أن تتشابك الأسلاك ، مما قد يتسبب في عمل الشاشة بشكل غير صحيح. يجب عليك أيضًا التأكد من زيادة تباين الشاشة ، لأنه على الأقل لا يمكن رؤية ما إذا كانت شاشة LCD 1602 قيد التشغيل أم لا. إذا لم يساعد ذلك ، فربما تكمن المشكلة في لحام جهات الاتصال ، وهذا عند استخدام وحدة I2C. أيضًا ، أحد الأسباب الشائعة لعدم عمل العرض هو الإعداد غير الصحيح لعنوان I2C. الحقيقة أن هناك العديد من الشركات المصنعة ، ويمكنهم تعيين عنوان مختلف ، تحتاج إلى تصحيحه هنا:


LiquidCrystal_I2C lcd (0x27، 16، 2) ؛

بين قوسين ، يمكنك رؤية قيمتين ، 0x27 و 16 ، 2 (16 ، 2 هو حجم العرض ، و 0x27 هو عنوان I2C فقط). بدلاً من هذه القيم ، يمكنك محاولة وضع 0x37 أو 0x3F. حسنًا ، هناك سبب آخر وهو ببساطة وجود خلل في شاشة LCD 1602. نظرًا لأن كل شيء تقريبًا بالنسبة إلى Arduino مصنوع في الصين ، فلا يمكنك التأكد بنسبة 100٪ من أن المنتج الذي تم شراؤهالمنتج ليس به عيب.

LCD 1602 إيجابيات وسلبيات

دعونا نلقي نظرة على إيجابيات وسلبيات شاشة LCD 1602.

الايجابيات

  • السعر. يمكن شراء هذه الوحدة بسعر مناسب جدًا في المتاجر الصينية. السعر 200-300 روبل. تباع أحيانًا مع وحدة I2C.
  • سهل الاتصال. ربما لا أحد يقوم بتوصيل شاشة LCD 1602 بدون I2C هذه الأيام. ومع هذه الوحدة ، يستغرق الاتصال 4 دبابيس فقط ، ولن يكون هناك "شبكات" من الأسلاك.
  • البرمجة. بفضل المكتبات الجاهزة ، أصبح العمل مع هذه الوحدة أمرًا سهلاً ، حيث تم تسجيل جميع الوظائف بالفعل. وإذا أردت إضافة شخصيتك ، فلن يستغرق الأمر سوى دقيقتين.

سلبيات

خلال وقت الاستخدام من قبل الآلاف من هواة الراديو ، لم يتم تحديد عيوب كبيرة ، فقط هناك حالات شراء زواج ، حيث يتم استخدام خيارات العرض الصينية بشكل أساسي

ناقش هذا المقال كيفية توصيل شاشة LCD 1602 بـ Arduino ، وقدم أيضًا نماذج لبرامج للعمل مع هذه الشاشة. إنها حقًا واحدة من الأفضل في فئتها ، ليس فقط أن الآلاف من هواة الراديو يختارونها لمشاريعهم!

موصى به: