איך זה עובד: מסך מגע
יש שתי דרכים לגרום לכך שנגיעה על המסך תפעיל תוכנות ופונקציות. הראשונה קיימת כבר עשרות שנים. ככה זה היה לפני הולדת המולטי טאצ'
הרעיון של מסכי מגע, ומשטחי מגע בכלל, קיים כבר עשרות שנים. למעשה, כדי לקבל משטח מגע פרימיטיבי, צריך רק למתוח כמה חוטי חשמל חשופים לרוחב, במרחק זעיר מעל כמה חוטי חשמל שמתוחים לאורך (או להיפך). לחץ מספיק חזק על משטח שנמצא מעל יגרום למגע של חוט עליון מסוים בחוט תחתון מסוים, ובדיקה אלקטרונית פשוטה תפענח באיזה צומת נוצר החיבור. כך עובדים, למשל, לוחות מקשים שטוחים. אך ככל שהרזולוציה המבוקשת עולה, כך קשה יותר למתוח חוטים במספר ובצפיפות הדרושים ולקרוא מהם את המידע בקצב מהיר דיו. בנוסף, החוטים הללו אטומים לאור ובמקרה של מסך הם פשוט יסתירו חלק מהתצוגה.
רוב מסכי המגע המודרניים מתחלקים לשני סוגים, שפועלים בטכנולוגיות שונות: מסכים מבוססי התנגדות (Resistive) ומסכים (Capacitive). השבוע נעסוק כאן בסוג הראשון בלבד, וכדי להבין איך הוא עובד, נתחיל ברכיב אלקטרוני בסיסי – פוטנציומטר.
מתח חשמלי לפי מיקום
כשרכיב אלקטרוני כלשהו יושב בתוך מעגל חשמלי, צד אחד שלו מחובר למקור מתח – הפלוס – והצד השני לאדמה או למינוס. ההפרש בין הפלוס למינוס בשני הצדדים הוא המתח, או הפוטנציאל החשמלי ש"נופל" על הרכיב. למשל, אם נשים נגד (רכיב בעל התנגדות מסוימת למעבר של זרם חשמלי) בין שני ההדקים של סוללת 9V, בלי שום רכיב נוסף בדרך, יווצר על הנגד האומלל מפל מתח של 9V.
מה יקרה אם נשרשר שני נגדים בין ההדקים? כמה מתח ייפול על כל אחד מהם? התשובה תלויה בהתנגדות של כל אחד מהם. יש נוסחה מדויקת לעניין, אך לא ניכנס לפרטיה כאן. מספיק לדעת שככל שנגד אחד גדול יותר ביחס לשני, כך הוא יספוג חלק גדול יותר מתוך מפל המתח הכולל. מי שרוצה את הפרטים המדויקים מוזמן לעיין כאן. התאזרו בסבלנות – כל זה מאד רלוונטי למסך המגע.
הפוטנציומטר הוא רכיב שמכיל שני נגדים משלימים. כאשר המשתמש מסובב חוגה, או מחליק פס קטן ("זחלן"), ההתנגדות של אחד הנגדים הללו קטנה בעוד שההתנגדות של השני גדלה. חלוקת מפל המתח משתנה, ובעקבותיה גם המתח הנמדד בנקודה שנמצאת באמצע, בין שני הנגדים. הנה המחשה של אופן הפעולה של הפוטנציומטר, באמצעות תוכנת סימולציה:
כפי שראיתם בסרטון, כל שינוי במקומו של הזחלן בפוטנציומטר גרם לשינוי במתח היציאה של הרכיב. מכאן נובע שאם אנחנו יודעים איך הפוטנציומטר הספציפי בנוי, נוכל לחשב מהסוף להתחלה ולהסיק מתוך המתח שמתקבל ביציאה את המיקום הפיזי של הזחלן.
פוטנציומטר מזכוכית
וזה בדיוק מה שקורה במסכי מגע שמבוססים על התנגדות, רק ששם לא מזיזים בליטת פלסטיק קטנה מצד לצד אלא לוחצים על לוח שקוף. ניקח לוח זכוכית, נצפה צד אחד שלו בשכבה דקיקה של חומר שקוף בעל מוליכות חשמלית נמוכה, ונציב מגעים חשמליים בשני הצדדים בשביל הפלוס והמינוס, כך:
מצד שמאל באיור רואים, בפרופורציות מוגזמות כמובן, מה קורה כשלוחצים על לוח הזכוכית הזה. הוא מתכופף מעט, והחלק הנמוך ביותר שלו נוגע במוליך כלשהו שנמצא למטה (מצויר באפור). נקודת הנגיעה מחלקת כביכול את הציפוי לשני נגדים (R1 ו-R2), כל אחד בעל התנגדות אחרת. זהו פוטנציומטר, והמתח שהוא מוציא אל המוליך האפור למטה תלוי במיקום. אנחנו יודעים מה מתח הכניסה של הפוטנציומטר הזה, וכך יכולים לקבוע איפה לאורך הציר ימין-שמאל האצבע נגעה. מכיוון שהציפוי הוא רציף, ולא עשוי חוטים-חוטים, הוא גם עמיד יותר, גם נותן לנו רזולוציה טובה וגם מצריך שני מגעים חשמליים בלבד.
שני צירים
אלא שהסיפור לא נגמר: בינתיים יש לנו חיישן לממד אחד בלבד. משטח הזכוכית הזה יוכל לזהות מיקום מגע על ציר אחד, ואילו אנחנו מעוניינים בשני צירים – גם אורך וגם רוחב. מה עושים?
מדידה של ציר נוסף היא פשוטה בעיקרון: ניקח עוד משטח זכוכית כזה, נסובב אותו בתשעים מעלות ונשים אותו מעל או מתחת ללוח הקודם. אבל איפה נשים את החיישן? ובכלל, המוליכים האלה שמשמשים כחיישנים לא יסתירו לנו את התצוגה?
כאן משתלב הטריק החכם של מסכי המגע מבוססי-ההתנגדות: במקום חיישן נפרד לכל לוח, הלוחות מוצבים פנים-אל פנים, וכל אחד מהם משמש בתורו כחיישן עבור השני! המערכת מספקת מתח ללוח העליון, ומשתמשת בציפוי של הלוח התחתון בתור חיישן פסיבי למדידת מיקום המגע בציר א'. מיד לאחר מכן, המערכת מעבירה את המתח ללוח התחתון, ומשתמשת בעליון בתור חיישן לציר ב'. הדבר מבוצע שוב ושוב, מאות או אלפי פעמים בשניה, וכך מתקבלת מדידה מדויקת ואמינה של מיקום המגע במשטח – באמצעות ארבעה מגעים חשמליים בלבד.
מחיר הפשטות
כשמשהו עובד בצורה פשוטה כל כך, בדרך כלל יש לזה מחיר – ובמובן זה מסך המגע אינו יוצא מהכלל. החיסרון הגדול של השיטה הוא שהיא מסוגלת לזהות מיקום של נקודת מגע אחת בלבד, ואינה מתאימה למגע מרובה (Multitouch). יש בשוק רכיבים חדשים למדי ומשוכללים מאד שמסוגלים, בעזרת מבחר תעלולים חשמליים ותעלולי תוכנה, לזהות גם מגע מרובה על מסכים שכאלה, אך השוק בחר בינתיים במסכי המגע הקיבוליים, שעליהם נדבר בפעם הבאה.
אגב, למי שרוצה, אפשר להוריד מכאן את התוכנה שבסרטון, בתוספת קוד בשפת C שאפשר להתאים לארדואינו לחיבור פוטנציומטר אמיתי.