בתוך אחת מהפונקציות הצנועות של ארדואינו מסתתר if לא הגיוני. מה הוא עושה שם? מה יקרה (אם בכלל) אם ניפטר ממנו? הבדיקה של הנושא תיקח אותנו למסע בזמן עד שנת 1988.
ארכיון הקטגוריה: מורשת קרב
סיפורים אמתיים על באגים, תקלות, בעיות – ואיך איתרתי ופתרתי אותם, או לפחות ניסיתי.
לצפות לבלתי-צפוי
כל פרויקט, גם אם הוא נראה בהתחלה פשוט וקל, יכול להיקלע לקשיים טכניים שמעולם לא נתקלנו בהם. הדרך היחידה לפתור אותם היא לשמור על ראש פתוח, להשקיע ולא לוותר – מה שעשוי להיות קשה במיוחד כשמדובר בפרויקט ללקוח. הנה דוגמה.
סיפור קצר על Brown Out
לפני שנה ומשהו יצרתי אורות מהבהבים לכבאית צעצוע של הילדים, ולאחרונה התבקשתי ליצור אורות דומים, אך הפעם כיחידה עצמאית. התכנות וההרכבה הלכו בקלות – בכל זאת, לומדים מהניסיון – אבל מתקפה חוזרת של באג מוזר הכריחה אותי לשים לב לנושא שדי התעלמתי ממנו עד היום.
משימה בלתי אפשרית: בלינק על Xmega
אחרי שהשגתי מיקרו-בקר חדש ונוצץ מדגם ATxmega8E5, וצורב Atmel ICE חדש ונוצץ לא פחות, החלטתי לבדוק את שניהם בעזרת – איך לא – פרויקט Blink קטן. מכיוון שהשבבים ממשפחת xmega בנויים בארכיטקטורת AVR, כמו שבבי ATmega או ATtiny שכבר זכיתי להכיר, חשבתי שזה יהיה סיפור קל וקצר. אתם מוזמנים לשפוט בעצמכם.
חכו רגע עם הקריאה האנלוגית
קריאה של מתח חשמלי מפוטנציומטר באמצעות הפקודה analogRead היא אחד הפרויקטים הראשונים והבסיסיים ביותר למתחילים בארדואינו, אך מתחת למכסה המנוע של ההמרה מאנלוגי לדיגיטלי – בארדואינו ובמיקרו-בקרים באופן כללי – מסתתר מוקש קטן שאם לא תיזהרו, יעשה לכם צרות גדולות.
Programmer Not Responding
זהו סיפור של תעלומה ומסתורין, בו חקירה מקיפה ועקשנית מצליחה לחשוף כנגד כל הסיכויים את האמת מאחורי הבלתי-אפשרי לכאורה, ולהחזיר לחיים מקרה אבוד. או, במילים פשוטות יותר, איך תיקנתי לוח ארדואינו מקולקל.
קיט ATmega328: בדיקה שיטתית
לאחרונה קיבלתי לבדיקה שני קיטים (מתוך חמישה) שנקנו במזרח הרחוק. כל קיט כולל מיקרו-בקר ATmega328P-PU עם Bootloader צרוב מראש של ארדואינו Uno, תושבת, מתנד גביש 16MHz עם שני קבלים קרמיים מתאימים, וכן מייצב מתח 7805 סטנדרטי עם שני קבלים אלקטרוליטיים לייצוב הכניסה והיציאה. הקונה לא הצליח לגרום לכל אלה לעבוד כ"ארדואינו על מטריצה". אז איפה הבעיה?
הלו אסתי #2: הבלינק הקשה מכולם
בפרק הקודם התלוננתי על חוסר נוחות בהתקנת שרשרת הכלים עבור לוחות STM8S הזולים שמצאתי באיביי (מאז השגתי, אגב, מספר לוחות זולים עוד יותר עם מיקרו-בקר מדגם STM8S103F3P6, שיש לו יותר EEPROM). אז מה אתם חושבים, העניינים נעשו פשוטים יותר כשניגשתי לכתוב ולהעלות את קוד ה-Blink?