לפני שנה ומשהו יצרתי אורות מהבהבים לכבאית צעצוע של הילדים, ולאחרונה התבקשתי ליצור אורות דומים, אך הפעם כיחידה עצמאית. התכנות וההרכבה הלכו בקלות – בכל זאת, לומדים מהניסיון – אבל מתקפה חוזרת של באג מוזר הכריחה אותי לשים לב לנושא שדי התעלמתי ממנו עד היום.
ארכיון הקטגוריה: מיקרו-בקרים
משימה בלתי אפשרית: בלינק על Xmega
אחרי שהשגתי מיקרו-בקר חדש ונוצץ מדגם ATxmega8E5, וצורב Atmel ICE חדש ונוצץ לא פחות, החלטתי לבדוק את שניהם בעזרת – איך לא – פרויקט Blink קטן. מכיוון שהשבבים ממשפחת xmega בנויים בארכיטקטורת AVR, כמו שבבי ATmega או ATtiny שכבר זכיתי להכיר, חשבתי שזה יהיה סיפור קל וקצר. אתם מוזמנים לשפוט בעצמכם.
דברים חדשים: Atmel-ICE ו-ATxmega8E5
הוצאה מהקופסה והיכרות ראשונית עם כלים מודרניים של חברת Atmel – הצורב/דיבאגר Atmel-ICE (שמחליף רשמית את הצורב הוותיק AVRISP MKII), והמיקרו-בקר ATxmega8E5 מסדרת ה-High-end החדשה של משפחת AVR (ואם כל זה נשמע לכם כמו סינית, לא לדאוג – המשיכו לקרוא).
פרויקט תאורה אוטומטית
מעל השיש במטבח שלי היה פס לדים ארוך, שפעל פחות או יותר ברציפות תקופה ארוכה. עם הזמן הלדים נחלשו מאד, והתאורה הפכה עלובה ולא אחידה. במקום להחליף את הפס וזהו, החלטתי ליצור מערכת שתדליק את האור אוטומטית כשמישהו מסתובב באיזור, ותכבה אותו לאחר מכן כדי לחסוך חשמל וגם להאריך משמעותית את חיי הלדים. הנה מה שיצא.
סיפורי אופטימיזציה: לעקוף ת'עז
בעבר הזכרתי את ה"עז" ש-Microchip דחפו לגרסה החינמית של הקומפיילר XC8, כדי לגרום לגרסה בתשלום להיראות טובה יותר. בפוסט זה אדגים איך אפשר, בעזרת קוד אסמבלי ובמגבלות מסוימות, להתגבר אפילו על המכשול המובנה הזה.
הלו פיק #3: ה-EEPROM
למיקרו-בקר הצנוע PIC12F675 יש זיכרון EEPROM בנפח 128 בייטים. כדי לכתוב או לקרוא מזיכרון זה, עלינו לבצע טקסי וודו מסתוריים. לשם מה צריך את ה-EEPROM, איך בדיוק נראים הטקסים האלה, ולמה הם חיוניים?
כש-Microchip פונה למתחילים
לאחרונה הועלתה ליוטיוב סדרת סרטונים חדשה בשם Microchip Minutes, שמשלבת מספר פיתוחים חדשים (או חדשים יחסית) של החברה. על מה מדובר, והאם יש בהם בשורה גדולה למתחילים ולחובבים?
חכו רגע עם הקריאה האנלוגית
קריאה של מתח חשמלי מפוטנציומטר באמצעות הפקודה analogRead היא אחד הפרויקטים הראשונים והבסיסיים ביותר למתחילים בארדואינו, אך מתחת למכסה המנוע של ההמרה מאנלוגי לדיגיטלי – בארדואינו ובמיקרו-בקרים באופן כללי – מסתתר מוקש קטן שאם לא תיזהרו, יעשה לכם צרות גדולות.
המחיר של הנקודה
כידוע, שימוש במשתנים בעלי נקודה עשרונית (floating-point) אינו מומלץ במיקרו-בקרים טיפוסיים, מכיוון שכל פעולה שנעשית איתם גוזלת זמן רב בהרבה מפעולה מקבילה על מספרים שלמים (integer) . מה שקצת פחות ידוע הוא שיש לעבודה איתם גם מחיר כבד בדרישות הזיכרון. הנה דוגמה מעשית קטנה.
קיט ATmega328: בדיקה שיטתית
לאחרונה קיבלתי לבדיקה שני קיטים (מתוך חמישה) שנקנו במזרח הרחוק. כל קיט כולל מיקרו-בקר ATmega328P-PU עם Bootloader צרוב מראש של ארדואינו Uno, תושבת, מתנד גביש 16MHz עם שני קבלים קרמיים מתאימים, וכן מייצב מתח 7805 סטנדרטי עם שני קבלים אלקטרוליטיים לייצוב הכניסה והיציאה. הקונה לא הצליח לגרום לכל אלה לעבוד כ"ארדואינו על מטריצה". אז איפה הבעיה?