בפוסט זה, השני בנושא תצוגות למערכות Embedded, אציג רכיבים ומסכים שמבוססים בצורה כזו או אחרת על טכנולוגיית LCD. אם טרם עשיתם זאת, מומלץ להתחיל בפוסט הקודם.
קצת על טכנולוגיית LCD
מהמחשבונים והשעונים הדיגיטליים של שנות השמונים ועד למסכים המתקדמים ביותר של ימינו, ה-LCD (ראשי תיבות של "תצוגת גביש נוזלי") היא הטכנולוגיה הנפוצה, השימושית והרבגונית ביותר לתצוגות. מבלי להיכנס יותר מדי לפרטים, כל מסך LCD מכיל מקטעים ("סגמנטים"), שיכולים להיות קטנים כמו פיקסלים על מסך של סמארטפון או גדולים כמו המסך כולו. אפשר גם ליצור אותם כמעט בכל צורה. כשמפעילים מתח חשמלי על הסגמנטים האלה, הם מחזירים או מעבירים אור באופן שונה מאשר שאר המסך, וזה מאפשר לנו לראות אותם.
חשוב לציין שמילת המפתח כאן היא מתח, בניגוד לזרם חשמלי שדרוש למשל ללדים. זה מה שהופך את תצוגות ה-LCD לחסכוניות ביותר. כך למשל שעון דיגיטלי יכול להציג את השעה במשך שנים ברציפות עם סוללת כפתור זעירה אחת. מצד שני, כדי להבטיח ניראות טובה חייבים לפעמים להוסיף תאורה אחורית (כמו במסכי מחשב או סמארטפונים) – וזו ממומשת בעזרת לדים שכן צורכים זרם. בנוסף, כדי להציג גווני אפור שונים או צבע נדרש מנגנון מורכב יותר, והשליטה בו מורכבת בהתאם.
תצוגות LCD נומריות בסיסיות
תצוגות מסוג זה מיועדות להצגה חסכונית של מידע בסיסי, שאפשר לבטא בכמה ספרות או אותיות. בדרך כלל הן מגיעות ללא תאורה, וגם ללא בקר פנימי, כך שניהול המידע המוצג צריך להיעשות במלואו על ידי מיקרו-בקר נפרד (ייעודי לתצוגה, או זה שמנהל את שאר חלקי המערכת). לחלק מהתצוגות האלה יש פיני מתכת שמאפשרים להלחים אותן בקלות יחסית לאבטיפוסים, אבל ברוב המוצרים כיום אספקת המתח לסגמנטים נעשית דרך מחבר "זברה" שכמעט בלתי אפשרי להתממשק אליו ידנית.
תצוגות LCD מבוססות בקר HD44780
בסוף שנות ה-80', חברת היטאצ'י פיתחה בקר לתצוגות LCD שמסוגל לשלוט בשורות בודדות של טקסט ולהציג תווים שנצרבו מראש בזיכרון שלו. הבקר הזה, ובקרים תואמים שפותחו מאוחר יותר, מזוהים כיום עם סוג נפוץ מאוד וזול של תצוגות, שמייקרים רבים משתמשים בהן בשילוב עם ארדואינו. רוב התצוגות האלה כוללות שתי שורות של 16 תווים כל אחת ("1602"), אבל יש גם ברוחב 8 תווים, ארבע שורות של 20 תווים ("2004") ועוד. כמעט תמיד הן כוללות גם תאורה אחורית שניתן לתפעל בנפרד.
היתרון הגדול של התצוגות האלה הוא הסטנדרטיות והזמינות, הן של החומרה והן של ספריות תוכנה שמתקשרות עם הבקר אם רוצים להכין אבטיפוס במינימום זמן והשקעה. גודל התצוגה גם הוא קבוע – 1.5 על 6.5 ס"מ ברוטו ב-1602. על תצוגות כאלה אפשר להציג מידע טקסטואלי ומספרי, תפריטים והודעות בסיסיים וכדומה. עם זאת חשוב לשים לב שהתווים הצרובים בבקר הסטנדרטי הם באנגלית וביפנית בלבד, כך שהצגה של מידע בעברית מחייבת להשיג גרסאות נדירות ויקרות יותר.
תצוגות LCD בהתאמה אישית
למי שמסוגל לממן זאת, אפשר להזמין תצוגות LCD עם סגמנטים בצורות ובמיקומים כרצוננו, וכך לעצב תצוגה ייחודית למוצר. מי שגדל בשנות ה-80' יזהה בוודאי את המשחקים האלקטרוניים כמו בתמונה הזו:
חלק מהתצוגה כאן (החלקים הצבעוניים, בעיקר) מצויר וקבוע, אבל הקוף, הפלטפורמות עליהן הוא עומד, החביות שהוא זורק, המפתחות התלויים והמנוף שמימין הם כולם סגמנטים ב-LCD שמופעלים או מושבתים ברגעים הנכונים על ידי המיקרו-בקר שמנהל את המשחק. זו כמובן דוגמה קצת אקזוטית, אבל גם תצוגות יומיומיות יותר מתוכננות ומיוצרות באותו האופן.
עלות הייצור של LCD בהתאמה אישית תלויה כמובן בפרמטרים רבים, והיא כוללת עלות בסיסית של הכנת המכונות לייצור, ואת העלות של כל יחידה בנפרד. נהוג להתחיל לחשוב על ייצור LCD בהתאמה אישית כשמדובר על מאות יחידות של המוצר או יותר, והיכונו להיפרד מכמה אלפי שקלים ומעלה.
תצוגות LCD גרפיות (מונוכרום)
אלו הן תצוגות עם בקר מובנה, שמסוגלות להציג גרפיקה בצבע יחיד וברזולוציה נמוכה יחסית. רוב התצוגות האלה קטנות (סנטימטרים בודדים), והן מחייבות תוכנה חיצונית שתנהל ותממש את הגרפיקה, כגון ציור קווים, מעגלים או אותיות.
תצוגות כאלה מתאימות בעיקר לגאדג'טים קטנים שצריכים תצוגה אטרקטיבית אבל גם חסכונית בחשמל וזולה. במקרים מסוימים אפשר להשתמש בהן כתחליף מוכן-מהמדף ל-LCD בהתאמה אישית, וכמובן הן גמישות הרבה יותר מבחינת שינויים עתידיים.
בעולם המייקרים, תצוגת ה-LCD הגרפית המפורסמת ביותר היא ככל הנראה מסך Nokia 5110 הוותיק והזול (רזולוציה 48×84 פיקסלים), שמופיע למשל בסרטון הבא. החלק המעניין מתחיל ב-0:25.
מסכי TFT
מסכי ה-TFT (ראשי תיבות של Thin-Film Transistor) הינם תצוגות גרפיות צבעוניות קטנות עד בינוניות – בדרך כלל בין 1.8 אינץ' ל-7 אינץ', אם כי תמיד יש חריגים. ה-TFT נמצאים כביכול בחצי הדרך בין התצוגות הגרפיות הפשוטות לבין מסכי מחשב "רגילים": מצד אחד יש להם את הצבע ורזולוציה גבוהה יחסית (עד 480×800 ואפילו יותר), ומצד שני יש להם ממשק בסיסי ופשוט שאפשר לתפעל בעזרת מיקרו-בקר. המשמעות היא שאפשר בעיקרון להציג גרפיקה מרשימה, אבל אי אפשר לבצע פעולות מהירות כגון הנפשה, והרבה ממה שכן אפשר לעשות תלוי ביכולות התכנות של מי שכותב את התוכנה.
מסכי TFT רבים מגיעים עם ממשק מגע מובנה (Resistive), שהופך אותם למצוינים בתור ממשקי משתמש מרשימים ויזואלית למערכות Embedded שלא יכולות להרשות לעצמן מעבד חזק.
מסכים חכמים
קטגוריה זו כוללת מסכי TFT משולבים ב"מנוע גרפי" כזה או אחר, שמזרז ומפשט את פעולות הציור עליהם. המנוע הגרפי מעלה כמובן את המחיר, אבל מוריד את רוב הנטל מהמיקרו-בקר שלנו ומאפשר לבצע דברים בנפחי זיכרון ובמהירויות שלא היו זמינים לנו אחרת. כמעט לכל המסכים החכמים יש גם תוכנת עריכה ייעודית למחשב, שמאפשרת לעצב מסכים ואלמנטים גרפיים בצורה ויזואלית ו"להוריד" אותם בקלות מהמחשב אל המסך.
יש מספר חברות שמייצרות מסכים חכמים, בין השאר 4D Systems ו-FTDI. בקרב המייקרים רבים מכירים את מסכי Nextion של ITEAD Studio, שמצטיינים במחירים נמוכים יחסית לקטגוריה, אבל לא נחשבים אמינים או מהוקצעים במיוחד. לרוע המזל אין סטנדרטים בתחום הזה, והמסכים של החברות השונות עובדים בצורה שונה לגמרי זה מזה, כך שבחירה בסוג מסוים לפרויקט היא התחייבות לטווח ארוך.
מסכי HDMI
אם המערכת מבוססת על מחשב לוח-יחיד בעל מעבד חזק, כגון Raspberry Pi המפורסם, והיא צריכה מסך עצמאי (כלומר, אין אפשרות לחבר אותה למסך מחשב רגיל), הפתרון הנוח ביותר הוא מסך HDMI קטן. זהו מסך מחשב לכל דבר, בדרך כלל בגודל 7-10 אינץ', שמקבל את אספקת החשמל שלו ישירות מהמחשב. חלק מהדגמים מציעים גם ממשק מגע. בניגוד לכל הטכנולוגיות הקודמות שהוצגו כאן, מסכים אלה אינם צריכים שום התייחסות מיוחדת ממפתח המערכת – מבחינתו (או מבחינתה) זה בדיוק כמו לכתוב תוכנה למחשב רגיל… ולא שזה מובן מאליו, כמובן 🙂
לסיכום
יש מבחר עצום של אפשרויות תצוגה לפרויקטים ולמוצרים, ובשני הפוסטים האלה הזכרתי רק את הנפוצות ביותר. התצוגות הגרפיות המודרניות והצבעוניות מרשימות מאוד, ובאופן טבעי יזמים רבים מעוניינים לשלב אותן במוצר שלהם, אבל צריך לזכור שלכל סוג תצוגה יש יתרונות וחסרונות שיכולים להיות משמעותיים מאוד בתנאים מסוימים. לא כל מוצר צריך ולא כל מוצר יכול לתמוך במסך מלא ומשוכלל.
בחירה נכונה של תצוגה לוקחת בחשבון את מכלול הפרמטרים והדרישות מהמוצר, וחשוב לבצע אותה בשלב מוקדם כדי להבטיח התאמה בין כל חלקי המערכת.