לפני שנה, פלוס מינוס, עזבתי את ניהול הפורומים של אתר מייקרס, כתבתי את SMD (מישהו משתמש בזה? תהיו כנים) והתכוננתי לבצע את הריתוך-בסיבוב הראשון שלי. מאז קרו הרבה דברים – והרבה דברים אחרים שתכננתי דווקא לא קרו, או לפחות עדיין לא קרו. אז מה צופן העתיד הנראה לעין לי ול"בייט הלבן"?
סכמה של מעגל ב-KiCAD. גם אם תגדילו זה לא יהיה לגמרי ברור 🙂
כפי שהבטחתי, בפוסט זה אראה איך לממש Blink על מיקרו-בקר ממשפחת PSoC 4, באמצעות סביבת הפיתוח הויזואלית PSoC Creator 3.3. לפני שנתחיל בפרויקט עצמו, אספר קצת על החומרה איתה אני עובד כרגע.
לפני שנה ומשהו יצרתי אורות מהבהבים לכבאית צעצוע של הילדים, ולאחרונה התבקשתי ליצור אורות דומים, אך הפעם כיחידה עצמאית. התכנות וההרכבה הלכו בקלות – בכל זאת, לומדים מהניסיון – אבל מתקפה חוזרת של באג מוזר הכריחה אותי לשים לב לנושא שדי התעלמתי ממנו עד היום.
אחרי שהשגתי מיקרו-בקר חדש ונוצץ מדגם ATxmega8E5, וצורב Atmel ICE חדש ונוצץ לא פחות, החלטתי לבדוק את שניהם בעזרת – איך לא – פרויקט Blink קטן. מכיוון שהשבבים ממשפחת xmega בנויים בארכיטקטורת AVR, כמו שבבי ATmega או ATtiny שכבר זכיתי להכיר, חשבתי שזה יהיה סיפור קל וקצר. אתם מוזמנים לשפוט בעצמכם.
הוצאה מהקופסה והיכרות ראשונית עם כלים מודרניים של חברת Atmel – הצורב/דיבאגר Atmel-ICE (שמחליף רשמית את הצורב הוותיק AVRISP MKII), והמיקרו-בקר ATxmega8E5 מסדרת ה-High-end החדשה של משפחת AVR (ואם כל זה נשמע לכם כמו סינית, לא לדאוג – המשיכו לקרוא).
מעל השיש במטבח שלי היה פס לדים ארוך, שפעל פחות או יותר ברציפות תקופה ארוכה. עם הזמן הלדים נחלשו מאד, והתאורה הפכה עלובה ולא אחידה. במקום להחליף את הפס וזהו, החלטתי ליצור מערכת שתדליק את האור אוטומטית כשמישהו מסתובב באיזור, ותכבה אותו לאחר מכן כדי לחסוך חשמל וגם להאריך משמעותית את חיי הלדים. הנה מה שיצא.
בעבר הזכרתי את ה"עז" ש-Microchip דחפו לגרסה החינמית של הקומפיילר XC8, כדי לגרום לגרסה בתשלום להיראות טובה יותר. בפוסט זה אדגים איך אפשר, בעזרת קוד אסמבלי ובמגבלות מסוימות, להתגבר אפילו על המכשול המובנה הזה.
למיקרו-בקר הצנוע PIC12F675 יש זיכרון EEPROM בנפח 128 בייטים. כדי לכתוב או לקרוא מזיכרון זה, עלינו לבצע טקסי וודו מסתוריים. לשם מה צריך את ה-EEPROM, איך בדיוק נראים הטקסים האלה, ולמה הם חיוניים?