top of page

מסך LCD

lcd-1602a-1-800x800.jpg

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

עקרון פעולה

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

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

lcd close view.jpg

מבנה המסך

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

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

LCD BACK.png
LCD-display.jpg

אופן החיווט והחיבור לבקר

יש הרבה חוטים לחבר כדי להפעיל את המסך, והם מתחלקים למסר קבוצות לפי תפקידם:

VCC , GND - כמו כל רכיב בקרה הוא צריך מתח לתהליך הבקרה

V0 - חיבור לרגל האמצעית של הפוטנציומטר שמשפיע על בהירות המסך

RS (Register Select) - מחובר לפין דיגיטלי ומאפשר לבקר לשלוט במידע המועבר: נתונים לתצוגה או פקודות לעיבוד

 (Read/Write)RW - מחובר ל GND קבוע וזה מציין למסך שהוא במצב של כתיבה

E (Enable) - אחראי על אפשור קריאה וכתיבה למסך. בדרך כלל מוחזק על 5V על ידי הבקר ששולט בו דרך חיבור לפין דיגיטלי

פינים 7-14 - מיועדים לקבלת מידע לתצוגה מהבקר. מחוברים לפינים דיגיטלים

VE+ - מחובר ל-5V שיספק מתח לנורה שמשפיע על הבהירות (Backlight)

VE- - מחובר ל GND של הנורה והבקר

LCD CONNECT.jpg
lcd-16x2-pin-diagram.jpg

תכנות הבקר לעבודה עם המסך

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

הספריה נקראת LiquidCrystal והיא מגיע בסביבת הפיתוח עם התקנה בסיסית שך Arduino IDE.

בראש התוכנית צריכים להצהיר על שימוש בסיפריה:

#include <LiquidCrystal.h>

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

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

בתוך הפונקציה SETUP נבצע אתחול כמו בהרבה מיקרים אחרים עם הפונקציה begin

lcd.begin(16, 2);

אחרי שהפונקציה begin עברה בהצלחה ניתן לכתוב למסך. הכתיבה מבוצעת באופן דומה לכתיבה למסך הסריאלי בעזרת הפונקציה print. בניגוד למסך הסריאלי אנחנו צריכים להציב את הסמן במקום מסויים במסך ואז כשנכתוב , המידע יופיע בדיוק במקום בו הצבנו את הסמן. כדי להציב את הסמן נשתמש בפונקציה  setCursor שמקבלת שני פרמטרים: מספר השורה (0 או 1) ומספר העמודה (0-15).

lcd.setCursor(0, 1);

lcd.print("hello, world!");

יש רשימה ארוכה של פקודות שניתן להפעיל ומידע עליהם ניתן למצוא באתר של ארדואינו.

בין הפקודות ניתן למצוא: clear למחוק את המסך, display/nodisplay להדליק ולכבות את המסך כדי לחסוך באנרגיה וכו. כמו כן יש בסביבת הפיתוח מספר תוכניות דוגמא המראות את אופן השימוש בפקודות השונות.

 

להלן רשימת כל הפונקציות בסיפריה:

LCD COMMANDS.png

מסך עם חיבור I2C

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

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

I2C-LCD.jpg
bottom of page