ل يمكن أن تكون شاشة 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 فولت) للطاقة
تذكر أنه عندما تضعه في موضعه الصحيح ، تنعكس المسامير ...
التكامل مع اردوينو
إلى قم بتوصيله بـ اردوينو إنه ليس معقدًا للغاية ، يجب أن تفكر فقط في تضمين مقاوم 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 مجاني)