תקשורת אלחוטית הפכה להיות חלק מהחיים היומיומיים שלנו. במשרדים, בבתי ספר, או בבית, אנו נמצאים בקשר בעזרת התקני תקשורת אלחוטיים הכוללים מחשבים אישיים ניידים, מדפסות, מצלמות, מכשירים נישאים ביד ובקרי כניסה ותאורה. המורכבות של ההתקנים האלו תלויה בסוג המשימות שאותן הם מבצעים.
רבים מהיישומים האלחוטיים האלו מבצעים משימות פשוטות בעזרת בקרי מיקרו קטנים וקטעי קוד קטנים. מאמר זה דן ביישום אלחוטי המשמש לאוטומציה ביתית. היישום הוא בקר אוורור אלחוטי שנועד להיות יישום שעלותו נמוכה, על ידי שימוש בשלושה התקנים אלקטרוניים בלבד – בקר מיקרו אחד מסוג פשוט (MC9S08QD4), מקמ”ש ת”ר [RF] אחד (MC13192) ותצוגת LCD אחת בגודל 2×16. ההתקנים האחרים שנדרשים הם רכיבים פסיביים כגון נגדים ולחצנים.
איור 1 מראה תרשים בלוקים של בקר אוורור. הממשק המשמש להעברת הנתונים בין המקמ”ש ובקר המיקרו הוא ממשק טורי היקפי (SPI). ממשק זה מאפשר קריאה וכתיבה של אוגרים של הקונפיגורציה, המצב והבקרה של המקמ”ש. בנוסף, ממשק SPI מאפשר קריאה וכתיבה של נתוני זיכרון RAM הנמצאים בתוך המקמ”ש אשר משמשים לשידור ולקליטה של נתונים דרך תקשורת ת”ר.
אות נוסף שנדרש לתקשורת בין המקמ”ש ובקר המיקרו הוא בקשת פסיקה (IRQ). פין IRQ מטופל על ידי המקמ”ש. כאשר אוגר המצב שבמקמ”ש משתנה, נוצר מעבר קצה יורד בפין IRQ. כאשר נוצרת בקשת פסיקה, הדבר הראשון שבקר המיקרו מבצע הוא קריאה של אוגר המצב לקביעת האירוע המיוחד שיצר את הפסיקה. טבלה 1 מראה את הקצאת פיני בקר המיקרו.
יש צורך באות אחד נוסף כדי להעביר את מצב הפעולה (קליטה, שידור, נמנום, שינה או סרק). האות נקרא RXTXEN. כל הפינים הרב שימושיים שבבקר מיקרו משמשים לניהול כמה אותות נוספים, כפי שניתן לראות בטבלה 1. האות RXTXEN יטופל על ידי פין GPIO1 המסופק על ידי המקמ”ש. טבלה 2 מתארת את החיבורים הנדרשים לשליטה על RXTXEN.
טבלה 1 וטבלה 2 מציגות את דרישות החומרה המינימליות הנחוצות כדי לגרום לפעולת המקמ”ש. עיין בתרשים המוצע באיור 2. בעזרת חיבורי החומרה המתוארים באיור זה ניתן לבצע קונפיגורציה במקמ”ש, והמקמ”ש יכול לשדר נתונים ולקלוט אותם. בנוסף, ניתן לבצע קונפיגורציה בפינים של מוני הזמן ובפיני של חיבורי GPIO המסופקים על ידי המקמ”ש דרך ממשק SPI ולהשתמש בהם לכל מטרה שרוצים.
כפי שאפשר לראות באיור 2, המקמ”ש כולל שבעה פיני GPIO. אחד מהם משמש לדחיפת אות RXTXEN והשישה הנותרים יכולים לשמש עבור יישום המשתמש. ביישום המוצע, הפינים של מוני הזמן ופיני החיבורים GPIO המסופקים על ידי המקמ”ש ישמשו כדי לדחוף ארבעה לחצנים ותצוגה אחת של 2×16.
התרשים המוצע עבור היישום של בקר אוורור אלחוטי מתחלק לשני חלקים. החלק הראשון של התרשים כולל את הפלטפורמה הבסיסית לפיתוח כל יישום (מתואר בטבלה 1 ובטבלה 2 והוא מוצג באיור 2). החלק השני של התרשים מציג את החיבורים עבור יישום בקר האוורור (ניתן לראות באיור 3).
איור 3 מראה שליישום נדרשים שישה קווים כדי לדחוף את תצוגת LCD, וארבעה קווים נוספים כדי לדחוף ארבעה לחצנים. ליישום יש סך הכל 10 קווים נוספים שאותם חייבים לדחוף עם שישה פיני GPIO בלבד. לצורך כך, ארבעת קווי הנתונים של תצוגת LCD וארבעת הלחצנים חייבים להיות מרובבים. טבלה 3 מתארת את הביצועים של כל אחד מפיני GPIO.
כפי שניתן לראות בטבלה 3, הפינים GPIO4, GPIO5, GPIO6 ו-GPIO7 משמשים לדחיפת ארבעת קווי הנתונים של תצוגת LCD וארבעת הלחצנים. בארבעת פיני GPIO יש לבצע קונפיגורציה כיציאות על מנת להעביר נתונים לתצוגת LCD וככניסות על מנת לקרוא את רמות הלחצנים.
היישום משתמש בתצוגה כדי להציג תפריטים שונים, כגון טמפרטורה נוכחית, פסק זמן מוגדר וחיווי על כך שהתקן מחוץ לתחום.
ארבעת הלחצנים משמשים כדי להגדיר את הטמפרטורה הרצויה, את פסק זמן פעולת המאוורר וכדי לנווט בין התפריטים. טבלה 4 מראה את הפונקציה שהוקצתה לכל אחד מהלחצנים.
כאשר היישום מתחיל לפעול, המאוורר יהיה תמיד במצב כבוי. כדי להפעילו, יש ללחוץ על הלחצנים SW2 או SW3. כאשר המאוורר מופעל, הטמפרטורה הקיימת תופיע בתצוגת LCD. כאשר המאוורר פועל, אפשר להשתמש בלחצן SW2 ו-SW3 בהתאמה, כדי להוריד או להעלות את הטמפרטורה. הטמפרטורה המרבית שניתן להגדיר היא 60 מעלות. כאשר המאוורר במצב כבוי, ללחצנים SW1 ו- SW4לא תהיה השפעה.
ניתן להגדיר את משך פסק הזמן אשר לאחריו המאוורר יכבה באופן אוטומטי. את הזמן הזה אפשר להגדיר בטווח שבין דקה אחת ל-99 דקות. אם לא הוגדר משך פסק הזמן, המאוורר לא יכבה באופן אוטומטי. כדי להגדיר את פסק הזמן הרצוי:
1.הפעל את המאוורר. אם הוא במצב כבוי לא ניתן יהיה להגדיר את משך פסק הזמן.
2.לחץ על הלחצן SW1. פעולה זו תגרום להצגת תפריט פסק זמן בתצוגת LCD.
3.לחץ על הלחצנים SW2 או SW3 כדי להקטין או להעלות את משך פסק הזמן.
4.לחץ על הלחצן SW4 כדי לאשר את משך פסק הזמן.
5.כאשר משך פסק הזמן אושר, הטמפרטורה הקיימת תופיע שוב בתצוגת LCD.
היישום משתמש בשני מעגלי השוואת מוני זמן שמסופקים על ידי המקמ”ש, האחד כדי ליצור פסק זמן והשני כדי לקרוא את רמת הלחצנים.
מעגל ההשוואה 1 של מונה הזמן משמש כדי ליצור בסיס זמן השווה לדקה אחת. בסיס זמן זה מאפשר יצירת פרקי פסק זמן של דקה אחת עד 99 דקות.
מעגל ההשוואה 3 משמש כדי לקרוא את רמת הלחצנים מדי 100 מילי–שניות. כדי לקרוא את רמת הלחצנים, יש להגדיר את GPIO4, GPIO5, GPIO6 ו-GPIO7 ככניסות. היישום מגדיר ככניסות את פיני GPIO הנדרשים, קורא את ערך הכניסה ומגדיר שוב את פיני GPIO כיציאות.
פרוטוקול פשוט משמש כדי לשלוח את הטמפרטורה הקיימת אל מערכת הקירור–חימום, בכל פעם שהטמפרטורה משתנה על ידי אחד מהלחצנים SW2 או SW3.
מסקנה
שימוש בבקר המיקרו המארז של 8 פינים עם משאבי חומרה מועטים מוכיח שלא תמיד יש צורך בבקרי המיקרו לביצועים גבוהים, כדי לפתח יישומים אלחוטיים. למקמ”ש יש צורך בפינים בודדים, עובדה המאפשרת לו לשמש עם כל בקר מיקרו כמעט, החל בסוג הפשוט ועד הסוג המתקדם ביותר. לסיכום, השימוש במוני זמן ובפיני החיבורים GPIO שמסופקים על ידי המקמ”ש מפחית את השימוש במשאבי בקר המיקרו, כמו למשל פיני GPIO ומודולים אחרים, כגון מוני זמן. בנוסף חשוב לזכור שבקרי מיקרו פשוטים יכולים לבצע משימות פשוטות שנדרשות ברשת אלחוטית מורכבת ולהקטין את העלות של הפתרון כולו.
*הכתבה נמסרה באדיבות חברת AVNET