מסך LCD: כל מה שצריך לדעת

מסך LCD

א מסך LCD יכול להיות פיתרון עבור אותם פרויקטים בהם עליך להציג מידע מבלי שתצטרך להיות תלוי במחשב המחובר כל הזמן. כלומר, בפרויקט Arduino / Raspberry Pi, אתה יכול להשתמש ביציאה הטורית כדי להעביר מידע המוצג על המסך כדי לקבל קריאות חיישנים, להציג גרף, חשבונות וכו '. אבל אם הפרויקט שלך פועל כל הזמן או רחוק מהמקום שבו אתה יכול לקבל מחשב, מסך ה- LCD הוא הישועה שלך.

לדוגמה, דמיין שאתה מתקין מערכת השקיה אוטומטית ותרצה לבדוק את קריאות הלחות והטמפרטורה כשאתה הולך לגינת הירק או לגינה שלך. הצורך לקחת לשם את המחשב כדי לחבר את לוח הארדואינו למחשב האישי אינו פיתרון מעשי. במקרה זה, תוכל לשנות את הקוד שלך כך שנאמר מידע מוצג על גבי מסך ה- LCD ואפילו הוסף כמה מקשים או כפתורים כדי להיות מסוגל להציג מידע אחר.

מהו פאנל LCD?

תצוגת גביש נוזלי או LCD (תצוגת גביש נוזלי) זהו סוג של פאנל דק ושטוח שיכול להציג תמונות. כל פאנל מורכב ממספר מסוים של צבעים או פיקסלים מונוכרום שמונחים מול מקור אור. הצריכה שלהם נמוכה, ולכן הם אידיאליים לסוג זה של פרויקטים אלקטרוניים בעלי עוצמה נמוכה DIY.

כל פיקסל על גבי מסך ה- LCD מורכב משכבת ​​מולקולות המיושרות בין שתי אלקטרודות שקופות, ושני מסנני קיטוב. בֵּין מסננים מקטבים יש תצוגת גביש נוזלי, ומכאן שמו, ומונע את חסימת האור שעובר דרך המסנן הראשון על ידי השני.

כמו כן, אם שמתם לב, כשאתה נוגע באחד המסכים האלה התמונה מעוותת ומעין כתם שחור מופיע בעת לחיצה, זאת מכיוון שאתה מפעיל לחץ על הגביש הנוזלי ולא מומלץ לעשות זאת ... יתכן שתסיים עם צבעי מסך באיכות נמוכה יותר, חלוקה לא אחידה של התאורה או אפילו פיקסלים מתים (כתמים שחורים או אזורים על המסך שלא נעלמים).

מסכי LCD ל Arduino ו- Raspberry Pi

מסך LCD, כגון המודולים הקיימים לאלקטרוניקה או לארדואינו, לרוב יש עמודות מרובות להצגת תווים או סמלים אלפאנומריים ושורה אחת או שתיים להצגת מידע. זה הופך אותם להרבה יותר מעניינים מתצוגה בת שבעה קטעים, שתצטרך לחבר מספר פינים כדי להיות מסוגלים להציג רק מספר אחד, סמל או אות אחת. אם אתה רוצה להציג יותר, עליך להציב מספר תצוגות.

במקום זאת, עם מסך LCD יחיד תוכלו להציג מידע רב יותר. אך עליכם להכיר היטב את סוג ההדבקה של סוג זה של מודולים בכדי לחבר אותם כראוי. אני ממליץ לך לראות תמיד גליון הנתונים של היצרן והדגם הספציפיים שיש לך מכיוון שהם עשויים להשתנות.

לדוגמה: אתה יכול לקנות את זה מ- Adafruit באמזון, שהוא אחד הפופולאריים ביותר עם מקלדת ומכיל אפשרות להציג עד 16 תווים בכל אחת משתי השורות שלה. ויש אפילו 20 × 4, או משהו מתקדם יותר וצבע רב אינץ 'להצגת תמונות מורכבות יותר.

למסך LCD של Adafruit 16 × 2 אתה יכול לראות גליון נתונים זה...

לארדואינו אולי פשוט יותר כמו זה עדיף מסך LCD 16x2 ללא מקלדת. אם אתה מסתכל על הלוח הזה, יש לו 16 סיכות מאחור. אם אתה לוקח את הלוח והופך אותו הפוך ומסתכל על הסיכות שלו משמאל לימין, יש לך pinout:

  • סיכה 16: GND לתאורה אחורית
  • סיכה 15: Vcc לתאורה אחורית
  • פין 7-14: 8 סיביות (8 הפינים הבאים) להעברת המידע שיוצג על המסך
  • סיכה 6: סנכרון קריאה וכתיבה
  • סיכה 5. R / W (כתוב וקרא עבור נתונים ופקודות)
  • פין 4: RS (בורר בין פקודות לנתונים)
  • סיכה 3: בקרת ניגודיות
  • סיכה 2: Vcc של 5v להספק
  • סיכה 1: GND (0v) להספק

זכור שכאשר אתה מציב אותו במיקום הנכון הסיכות הפוכות ...

שילוב עם ארדואינו

תרשים חיבור LCD 16x2 ל Arduino Uno

כדי לחבר אותו לארדואינו זה לא מסובך מדי, עליכם לשקול רק לכלול נגד של 220 אוהם כדי לווסת את מתח הכניסה של עוצמת המסך ופוטנציומטר כדי לווסת את ניגודיות המסך. ואז חבר כל אחד מהסיכות ללוח Arduino כראוי וסיימת. אתה יכול להסתכל על התמונה של Fritzing ...

כפי שאתה יכול לראות, הפוטנציומטר יהיה דרכו הוא מוזן מסך ה- 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 (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.