ארכיון הקטגוריה: מורשת קרב

סיפורים אמתיים על באגים, תקלות, בעיות – ואיך איתרתי ופתרתי אותם, או לפחות ניסיתי.

ה-Seed האסור: תעלומה אקראית

בתוך אחת מהפונקציות הצנועות של ארדואינו מסתתר if לא הגיוני. מה הוא עושה שם? מה יקרה (אם בכלל) אם ניפטר ממנו? הבדיקה של הנושא תיקח אותנו למסע בזמן עד שנת 1988.

להמשיך לקרוא ה-Seed האסור: תעלומה אקראית

לצפות לבלתי-צפוי

כל פרויקט, גם אם הוא נראה בהתחלה פשוט וקל, יכול להיקלע לקשיים טכניים שמעולם לא נתקלנו בהם. הדרך היחידה לפתור אותם היא לשמור על ראש פתוח, להשקיע ולא לוותר – מה שעשוי להיות קשה במיוחד כשמדובר בפרויקט ללקוח. הנה דוגמה.

ילדים! היזהרו מעצי הבאובב וממודולי Step-up זולים!
ילדים! היזהרו מעצי הבאובב וממודולי Step-up זולים!

להמשיך לקרוא לצפות לבלתי-צפוי

סיפור קצר על Brown Out

לפני שנה ומשהו יצרתי אורות מהבהבים לכבאית צעצוע של הילדים, ולאחרונה התבקשתי ליצור אורות דומים, אך הפעם כיחידה עצמאית. התכנות וההרכבה הלכו בקלות – בכל זאת, לומדים מהניסיון – אבל מתקפה חוזרת של באג מוזר הכריחה אותי לשים לב לנושא שדי התעלמתי ממנו עד היום.

מערכת צ'קלקה לילדים
מערכת צ'קלקה לילדים

להמשיך לקרוא סיפור קצר על Brown Out

משימה בלתי אפשרית: בלינק על Xmega

אחרי שהשגתי מיקרו-בקר חדש ונוצץ מדגם ATxmega8E5, וצורב Atmel ICE חדש ונוצץ לא פחות, החלטתי לבדוק את שניהם בעזרת – איך לא – פרויקט Blink קטן. מכיוון שהשבבים ממשפחת xmega בנויים בארכיטקטורת AVR, כמו שבבי ATmega או ATtiny שכבר זכיתי להכיר, חשבתי שזה יהיה סיפור קל וקצר. אתם מוזמנים לשפוט בעצמכם.

לוח הניסוי שיצרתי עבור ה-ATxmega8E5
לוח הניסוי שיצרתי עבור ה-ATxmega8E5

להמשיך לקרוא משימה בלתי אפשרית: בלינק על Xmega

חכו רגע עם הקריאה האנלוגית

קריאה של מתח חשמלי מפוטנציומטר באמצעות הפקודה analogRead היא אחד הפרויקטים הראשונים והבסיסיים ביותר למתחילים בארדואינו, אך מתחת למכסה המנוע של ההמרה מאנלוגי לדיגיטלי – בארדואינו ובמיקרו-בקרים באופן כללי – מסתתר מוקש קטן שאם לא תיזהרו, יעשה לכם צרות גדולות.

הערה מסתורית בקוד המקור של analogRead
הערה מסתורית בקוד המקור של analogRead

להמשיך לקרוא חכו רגע עם הקריאה האנלוגית

Programmer Not Responding

זהו סיפור של תעלומה ומסתורין, בו חקירה מקיפה ועקשנית מצליחה לחשוף כנגד כל הסיכויים את האמת מאחורי הבלתי-אפשרי לכאורה, ולהחזיר לחיים מקרה אבוד. או, במילים פשוטות יותר, איך תיקנתי לוח ארדואינו מקולקל.

הארדואינו של ICStation - לא תמים כמו שהוא נראה
הארדואינו של ICStation – לא תמים כמו שהוא נראה

להמשיך לקרוא Programmer Not Responding

קיט ATmega328: בדיקה שיטתית

לאחרונה קיבלתי לבדיקה שני קיטים (מתוך חמישה) שנקנו במזרח הרחוק. כל קיט כולל מיקרו-בקר ATmega328P-PU עם Bootloader צרוב מראש של ארדואינו Uno, תושבת, מתנד גביש 16MHz עם שני קבלים קרמיים מתאימים, וכן מייצב מתח 7805 סטנדרטי עם שני קבלים אלקטרוליטיים לייצוב הכניסה והיציאה. הקונה לא הצליח לגרום לכל אלה לעבוד כ"ארדואינו על מטריצה". אז איפה הבעיה?

הקיטים עם הבעיה המסתורית
הקיטים עם הבעיה המסתורית

להמשיך לקרוא קיט ATmega328: בדיקה שיטתית

הלו אסתי #2: הבלינק הקשה מכולם

בפרק הקודם התלוננתי על חוסר נוחות בהתקנת שרשרת הכלים עבור לוחות STM8S הזולים שמצאתי באיביי (מאז השגתי, אגב, מספר לוחות זולים עוד יותר עם מיקרו-בקר מדגם STM8S103F3P6, שיש לו יותר EEPROM). אז מה אתם חושבים, העניינים נעשו פשוטים יותר כשניגשתי לכתוב ולהעלות את קוד ה-Blink?

בלינק עם STM8S
בלינק עם STM8S

להמשיך לקרוא הלו אסתי #2: הבלינק הקשה מכולם