شاشة LCD: كل ما تريد معرفته

شاشة عرض من الكريستال السائل

ل يمكن أن تكون شاشة LCD حلاً لتلك المشاريع التي تحتاج فيها إلى عرض المعلومات دون الحاجة إلى الاعتماد على جهاز كمبيوتر متصل باستمرار. أي أنه في مشروع Arduino / Raspberry Pi ، يمكنك استخدام المنفذ التسلسلي لنقل المعلومات التي يتم عرضها على الشاشة للحصول على قراءات أجهزة الاستشعار ، وإظهار الرسم البياني ، والحسابات ، وما إلى ذلك. ولكن إذا كان مشروعك يعمل باستمرار أو بعيدًا عن المكان الذي يمكن أن يكون لديك فيه جهاز كمبيوتر ، فإن شاشة LCD هي خلاصك.

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

ما هي لوحة LCD؟

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

يتكون كل بكسل على شاشة LCD من طبقة من الجزيئات محاذاة بين قطبين كهربائيين شفافين ومرشحين للاستقطاب. بين مرشحات الاستقطاب هناك شاشة الكريستال السائل، ومن هنا جاءت تسميته ، ويمنع الضوء الذي يمر عبر الفلتر الأول من أن يحجبه الثاني.

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

شاشات LCD لـ Arduino و Raspberry Pi

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

بدلاً من ذلك ، باستخدام شاشة LCD واحدة ، يمكنك عرض المزيد من المعلومات. لكن يجب أن تعرف pinout لهذا النوع من الوحدات جيدًا لتوصيلها بشكل صحيح. أوصي بأن ترى دائما ورقة البيانات الخاصة بالشركة المصنعة والطراز المحدد التي لديك لأنها قد تختلف.

على سبيل المثال يمكنك شراء هذا من Adafruit على Amazon، وهي واحدة من أشهرها مع لوحة المفاتيح وتحتوي على إمكانية عرض ما يصل إلى 16 حرفًا في كل سطر من سطريها. وهناك حتى 20 × 4 ، أو شيء أكثر تقدمًا وألوان متعددة بوصات لعرض صور أكثر تعقيدًا.

لشاشة LCD بحجم Adafruit 16 × 2 يمكنك رؤية ورقة البيانات هذه...

لاردوينو ربما يكون أبسط واحد مثل الأفضل شاشة LCD مقاس 16 × 2 بدون لوحة مفاتيح. إذا نظرت إلى هذه اللوحة ، فستجد أنها تحتوي على 16 دبوسًا في الخلف. إذا أخذت السبورة وقلبتها رأسًا على عقب ونظرت إلى دبابيسها من اليسار إلى اليمين ، فلديك pinout:

  • دبوس 16: GND للإضاءة الخلفية
  • دبوس 15: Vcc للإضاءة الخلفية
  • دبوس 7-14: 8 بت (8 دبابيس التالية) لنقل المعلومات التي سيتم عرضها على الشاشة
  • دبوس 6: قراءة وكتابة المزامنة
  • دبوس 5. R / W (الكتابة والقراءة للبيانات والأوامر)
  • دبوس 4: RS (محدد بين الأوامر والبيانات)
  • دبوس 3: التحكم في التباين
  • دبوس 2: Vcc من 5 فولت للطاقة
  • دبوس 1: GND (0 فولت) للطاقة

تذكر أنه عندما تضعه في موضعه الصحيح ، تنعكس المسامير ...

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

مخطط اتصال LCD مقاس 16 × 2 بـ Arduino Uno

إلى قم بتوصيله بـ اردوينو إنه ليس معقدًا للغاية ، يجب أن تفكر فقط في تضمين مقاوم 220 أوم لتنظيم جهد الدخل لقوة الشاشة ، ومقياس الجهد لتعديل تباين الشاشة. ثم قم بتوصيل كل من المسامير بلوحة Arduino بشكل مناسب وتكون قد انتهيت. يمكنك إلقاء نظرة على صورة فريتزينج ...

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

البرمجة باستخدام Arduino IDE

للبرمجة يجب أن تأخذ في الاعتبار بعض الخصائص ، ضع في اعتبارك أنه لا يجب عليك معرفة كيفية إرسال البيانات فحسب ، بل يجب عليك أيضًا نقلها ووضعها جيدًا على الشاشة وما إلى ذلك. ويجب عليك أيضًا استخدام مكتبة تسمى LiquidCrystal.hطالما أن شاشة LCD الخاصة بك تحتوي على مجموعة شرائح Hitachi HD44780 متوافقة. لديك مثال على رمز هنا:

#include <LiquidCrystal.h>

// Definimos las constantes
#define COLS 16 // Aqui va el num de columnas del LCD, 16 en nuestro caso
#define ROWS 2 // Aqui las filas x2
#define VELOCIDAD 200 // Velocidad a la que se movera el texto

// Indicamos los pines de la interfaz donde hayas conectado el LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Para el texto que se muestra
String texto_fila = "Ejemplo LCD";

void setup() {
  // Configura el monitor serie
  Serial.begin(9600);

  // Configurde filas y columnas
  lcd.begin(COLS, ROWS);
}

void loop() {

  // Tamaño del texto a mostrar
  int tam_texto=texto_fila.length();

  // Indicamos que la entrada de texto se hace por la izquierda
  for(int i=tam_texto; i>0 ; i--)
  {
    String texto = texto_fila.substring(i-1);

    // Limpia la pantalla para poder mostrar informacion diferente
    lcd.clear();

    //Situar el cursor en el lugar adecuado, en este caso al inicio
    lcd.setCursor(0, 0);

    // Escribimos el texto "Ejemplo LCD"
    lcd.print(texto);

    // Esperara la cantidad de milisegundos especificada, en este caso 200
    delay(VELOCIDAD);
  }

  // Desplazar el texto a la izquierda en primera fila
  for(int i=1; i<=16;i++) { 
    lcd.clear();
    lcd.setCursor(i, 0); 
    lcd.print(texto_fila); 
    delay(VELOCIDAD); } 
  // Desplazar el texto a izquierda en la segunda fila 
    for(int i=16;i>=1;i--)
  {
    lcd.clear();
    lcd.setCursor(i, 1);
    lcd.print(texto_fila);
    delay(VELOCIDAD);
  }
  for(int i=1; i<=tam_texto ; i++)
  {
    String texto = texto_fila.substring(i-1);
    lcd.clear();
    lcd.setCursor(0, 1);
    lcd.print(texto);
    delay(VELOCIDAD);
  }
}

معلومات اكثر - دليل برمجة Arduino (ملف PDF مجاني)


كن أول من يعلق

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.