אחרי שראינו כיצד להכין את הקוד עבור פרויקט ה-Blink בסביבת הפיתוח MPLAB X, הגיע הזמן להכין את החומרה ולהעלות את הקוד למיקרו-בקר.
החומרה
כמו כל צורב ראוי לשמו, גם PICkit 2 מסוגל לבצע צריבה של הקוד בזמן שהמיקרו-בקר נמצא בתוך המעגל הסופי: אין צורך לנתק אותו משום דבר. לכן, נתחיל בבניית מערכת החומרה ונשים את ה-PIC12F675 על מטריצה.
מספור הפינים בג'וקים, למי שלא זוכר: אם נדמיין את הג'וק כחיה עם הרבה רגליים, שהצד עם השקע בצורת חצי עיגול (או עיגול קטן, או שניהם כמו בתמונה למעלה) הוא הראש שלה, אז פין מס' 1 הוא הרגל הקדמית השמאלית (הכי קרובה אלינו, בתמונה), והאחרים נספרים סדרתית נגד כיוון השעון (במבט מלמעלה).
פין מס' 1 של ה-PIC12F675 הוא הכניסה למתח (Vdd), ופין מס' 4 הוא MCLR, פין האתחול. האתחול מתבצע כאשר המתח על הפין הזה יורד לאפס (זו המשמעות של הקו העליון: "היפוך" של האות), אז כדי למנוע אתחול נחבר נגד של 10KOhm בין הפין הזה לבין Vdd. למעשה, אפשר להגדיר חיבור פנימי בין השניים באמצעות פיוזים, אך נעזוב את זה בינתיים.
את האנודה – רגל ה"פלוס" – של הלד נחבר לפין מס' 5 שנקרא גם GP2. זהו הפין בפינה הנגדית ל-Vdd. את ה"מינוס" של הלד נחבר, דרך נגד של 220R, אל פין 8 – האדמה (GND או, במינוח הרשמי והמדויק יותר, Vss). הדבר האחרון שנותר הוא לשים קבל קרמי בערך של 0.1 מיקרופאראד בין Vdd ל-Vss. מטרתו של הקבל הזה לנטרל תדרים גבוהים מאד שעלולים להופיע בעת החיבור למתח, ושעלולים להזיק למיקרו-בקר. מסיבות חשמליות, רגלי הקבל צריכות גם להיות קרובות מאד לרגלי הג'וק, וחשוב שהוא יהיה קרמי ובערך קרוב לזה שצוין.
ושימו לב, זו לא סתם המלצה או אמצעי זהירות מוגזם. בפרויקט הצ'קלקה שהכנתי עם מיקרו-בקר כזה, ברוב ניסיונות ההדלקה הוא פשוט נתקע וסירב להגיב או לפעול עד שחיברתי את הקבל המתאים.
עכשיו, כשהכל מחובר, הגיע הזמן לבצע את הצריבה.
חיבור ה-PICkit 2
בצדו האחורי של הצורב יש כניסת USB Mini לחיבור למחשב. בצד הקדמי יש שורה של שישה חורים, בריווח סטנדרטי של 2.54 מ"מ, והימני הקיצוני מביניהם מסומן במשולש לבן על גבי הפלסטיק השחור. החורים הללו, החל מהמשולש הלבן ועד לקצה השני, הם:
- MCLR (לבן)
- Vdd (אדום)
- Vss (שחור)
- DAT (ירוק – נתונים)
- CLK (כחול – שעון)
- Aux (צהוב – לא בשימוש למיקרו-בקרים)
הצבעים בסוגריים הם הצבעים שבחרתי עבור החוטים, כמובן שהם לא מחייבים אתכם, אך תמיד מומלץ להיות עקביים בבחירות שלכם כדי למנוע טעויות מיותרות בהמשך. כך כל זה נראה בשטח:
את החוטים הללו, פרט לצהוב, נחבר דרך המטריצה אל רגלי הג'וק על פי הצבעים בשרטוט הזה (לחצו להגדלה):
צריבה
זהו, הכל מוכן להעלאת הקוד. נחזור לסביבת הפיתוח ונלחץ על האייקון של החץ הירוק שיורד לתוך ג'וק – Make and Program Device Main Project:
התהליך אמור לקרות עכשיו אוטומטית. המחשב יזהה את הצורב, הצורב יזהה שאין לג'וק אספקת חשמל עצמאית וידאג לתת לו את המתח והזרם הדרושים, והקוד המקומפל ייצרב תוך שניות ספורות. בלשונית הפלט תראו משהו כזה:
ובהנחה שלא נעשתה שום טעות בדרך, הלד יהבהב כצפוי פעם בשניה. הוא יהבהב גם אם תנתקו את הצורב ותתנו לג'וק אספקת חשמל חיצונית, בין 3-5V לערך.
הנה סרטון הדגמה של פעולת המערכת ואופן הבניה שלה:
סיכום ומה הלאה
כל העבודה הזו (כאן ובפוסט הקודם) נראית די מופרזת, שלא לומר מתישה, כשרוצים בסך הכל להבהב באיזה לד. זהו מחסום פסיכולוגי רציני למי שהתרגל לישירות ולמיידיות של העבודה עם ארדואינו, למשל. מצד שני, מתרגלים לזה מהר, ובסופו של דבר זו צורת העבודה עם כלים מקצועיים, כך שכדאי מאד להכיר אותה.
בפוסטים הבאים בסדרה נתחיל להיכנס לעומק המיקרו-בקר: מצב שינה, זיכרון ה-EEPROM, קלט אנלוגי ועוד.