תצוגת מקטעים - Seven Segment Display
בכל מערכת בקרה יש צורך ליישם ממשק משתמש כדי לתת חיווי על פעולת המערכת. הממשק המינימלי הוא נורת LED אדומה שמראה שיש מתח למערכת. ממשק משתמש יכול לכלול מידע טקסטואלי למשתמש שכולל הנחיות לתפעול המערכת, ויכול לכלול מידע מספרי פשוט למשל: מד מתח.
תצוגת מקטעים היא אחד מסוגי הממשק הבסיסים שמאפשרים הצגת ספרות וחלק מאותיות הא-ב האנגלי. היא מאוד שימושית בהצגת טמפרטורה ומידע של פעולת מזגן, קריאות רב מודד, מספר קו אוטובוס, וכו.
המונח מקטעים בשם הרכיב מתייחס לצורת נורות ה-LED כמו קטע ישר, ושילוב של 7 מקטעים מאפשר לייצג ספרות ואותיות.
עקרון פעולה
רכיב התצוגה כולל 7 מקטעי LED ועוד נורה לנקודה עשרונית.
כל נורה מחוברת לפין דיגיטלי באחד משני אופנים:
קתודה משותפת – כל חיבורי המינוס של הנורות משותפים
אנודה משותפת – כל חיבורי הפלוס של הנורות משותפים
בעזרת בקר ארדואינו שולטים איזה נורות (A – G ו- DP ראה תמונה) דולקות או כבויות וכך מקבלים טקסט
בדרך כלל משלבים מספר רכיבים בהתאם לתוכן שיש להציג
יצירת ספרות ואותיות
כל הנורות מחוברות לבקר ששולט על הדלקה וכיבוי. אם חלק מהנורות יהיו דולקות ON והיתר יהיו כבויות OFF ניתן לייצג מידע על הרכיב. ניתן לראות את שילובי הנורות הדולקות ON והנורות הכבויות OFF היוצרות את הספרות והאותיות השונות
אופן החיווט והחיבור לבקר
לפני שניגשים לחבר יש לבדוק את סוג הרכיב שברשותכם: אנודה משותפת או קטודה משותפת. הבדיקה יכולה להתבצע מול טופס הרכישה שביצעתם (אם ישנו) או כמו שבודקים נורת LED לתקינות.
לכל רכיב יש 10 רגלים, 5 בכל צד. הפין האמצעי בכל צד ברכיב הוא הפין המשותף. מחברים אליו נגד של 330 אוהם ולאדמה. מחברים חוט גישור ל-5 וולט ולאחד הפינים על הרכיב (ניתן לעבור על כל הפינים ברצף). אם נדלק מקטע על הלוח בהתאם לחיבור אז מדובר בקתודה משותפת. אם לא נדלק אף מקטע, מחליפים את חיבור הנגד ל-5 וולט ואת חיבור ה-5 וולט לאדמה, ועושים את אותו ניסוי. אם הרכיב תקין, תראו שהמקטעים נדלקים וזה רכיב מסוג אנודה משותפת.
מלבד הפין המשותף יש עוד 8 פינים: 7 מחוברים למקטעים השונים A-G והפין האחרון מחובר לנקודה העשרונית DP. חיבורים אלו מבוצעים לפינים דיגיטלים פנויים ללא מגבלה.
בתמונה הבאה מוצג חיבור רכיב של קתודה משותפת וחיבורי הפינים לבקר
תכנות הבקר לעבודה עם הרכיב
ניתן להפעיל את הנורות על הרכיב במספר אופנים. האופן הפשוט ביותר הוא על ידי שליטה עליהם כמו ששולטים בנורות LED. בדוגמא הבאה ניתן לראות איך מציגים את הסיפרה 9 בהתאם לחיווט שהוצג לעיל. צורה זו מאוד מסורבלת ודורשת לזכור מה מחובר לאיזה פין כדי להציג ספרות שונות. כמו כן יש כאן בעיית זרמים שהבקר מתקשה לספק ל-8 נורות בו זמנית. כדי להתגבר על בעיית הזרמים משתמשים בטרנזיסטורים שמגבירים את הזרם לכל נורה.
תכנות הבקר לעבודה עם הרכיב - בעזרת סיפריית SEVSEG
כדי להקל על שליטה במקטעים ניתן להשתמש בספריה בשם SEVSEG. הספריה מאפשרת להגדיר את מספרי הפינים המחוברים, את צורת החיבור, את הבהירות וכמובן לשלוח מספר או תו ולהדליק את המקטעים בהתאמה.
התקנת הספריה נעשית מסביבת הפיתוח של ארדואינו: תפריט sketch, בוחרים באפשרות include library ושם בשדה החיפוש מקלידים SEVSEG ומתקינים את הסיפריה.
איך משתמשים בסיפריה?
שלב 1: טעינת הסיפריה ואתחול האובייקט של SEVSEG
שלב 2: הגדרת משתנים ואתחול בהתאם לצורת החיבור
בתוך ה-SETUP מגדירים ומאתחלים מספר משתנים המציינים את:
-
מספר הספרות ברכיב - במקרה שלנו 1
-
מספרי הפינים שמאפשרים סיפרה ספציפית לתצוגה - עבור רכיב בעל סיפרה אחת זה נשאר ריק
-
מספרים הפינים המחוברים למקטעים השונים
-
צורת חיבור הנגדים - בתצוגת סיפרה אחת הערך TRUE
-
סוג הרכיב - אנודה משותפת או קתודה משותפת
-
אופן המימוש עם או בלי delay - נובע מגרסה ישנה של הסיפריה שעשה שימוש ב-delay דבר שהתגלה כבעייתי במספר מיקרים
-
האם להציג אפסים בתאים ריקים
שלב 3: אתחול האובייקט SEVSEG וקביעת הבהירות
בכל רכיב שדורש סיפריה להפעלתו נמצא פונקציה begin או init. גם ברכיב זה יש כזו פונקציה שלוקחת את כל ערכי המשתנים שהוגדרו בשלב 2 ומאתחלת את פעולת הסיפריה והרכיב.
שלב 4: שליחת תוכן לתצוגה - טקסט או ספרות
כדי להציג טקסט או ספרות על הרכיב יש שתי פונקציות בסיפריה המאפשרות לעשות זו בצורה קלה.
הפונקציה להצגת ספרות מקבלת שני פרמטרים: הערך של הסיפרה והאם להציג ספרה עשרונית או לא.
הפונקציה להצגת טקסט מקבלת פרמטר אחד שהוא הטקסט בין גרשיים.
שלב 5: רענון תמידי של המסך
כדי לחסוך באנרגיה הנדרשת להפעלת 8 נורות LED, הסיפריה משתמשת בעקרון מתחום האלקטרוניקה שנקרא ריבוב (MultiPlexing). לפי עקרון זה אני מדליק ומכבה כל פעם נורה אחת מתוך תצוגה של סיפרה, וסורק את כל הנורות שיש להדליק במהירות גבוהה כך שהעין האנושית לא מספיקה לקלוט את הכיבוי וההדלקה. מה שכן רואים, זה שעוצמת התאורה יותר נמוכה בדומה לעקרון PWM.
ישנה פונקציה שאחראית לעשות רענון לתצוגה. יש לקרוא לפונקציה זו במחזוריות גבוהה כדי לראות את הסיפרה בצורה ברורה ולא במקטעים.
סרטוני הסבר נוספים עם הדגמה של השימוש ברכיב עם או בלי ספריה