כולם יודעים ש"מה שזול עולה ביוקר", ושהמחיר הנמוך של מוצרים אלמוניים מסין מתבטא באיכות הירודה שלהם. אבל איך מתבטאת בפועל איכות ירודה? הנה שתי דוגמאות מהחיים.
ארכיון הקטגוריה: באגים
B עבור "ביזיון"
לפני חודש וקצת התלהבתי מה-ATmega328PB, עד כדי כך שבחרתי בו כבסיס לפרויקט של לקוח. מסתבר שהשמחה היתה מוקדמת מדי: נראה שלג'וק הזה יש חיסרון אחד משמעותי ש"שכחו" לציין במסמכים הרשמיים, ושאלמלא הייתי זהיר במיוחד, היה מחריב לי את כל הפרויקט. וזו רק ההתחלה!
סטנדרטים? מי צריך את זה?
סיפור קצר ומקומם על סימון של רכיבים, ועל למה חייבים לקרוא תמיד את ה-datasheet של כל רכיב ורכיב…
צ'יפים ישנים, צרות חדשות
אם יש לכם לוחות ארדואינו לא מקוריים ישנים (דגמי Duemilanove או Uno עם שבב תקשורת של Prolific או FTDI), ומערכת הפעלה Windows חדשה, סביר להניח שהלוחות יפסיקו – או כבר הפסיקו – לעבוד. למה זה קורה ומה עושים?
במקרה הכי גרוע
נניח שאומרים לכם לפתח מערכת מבוססת ארדואינו, עם האילוץ הבא: בכל שעה של פעילות המערכת, יש סיכוי של אחד למאה שבייט מסוים איפשהו במיקרו-בקר ישתנה פתאום לערך אקראי, או שהלחמה כלשהי תתנתק למשך מספר שניות. האם תסכימו לקבל עבודה כזו? ומה תעשו כדי למנוע, או לפחות למזער, את הנזקים הפוטנציאליים?
מה המהירות האמתית של Serial?
חקירה קצרה שמוכיחה כי בעולם המיקרו-בקרים, אסור להניח שום הנחות ואי אפשר לסמוך על אף אחד.
לצפות לבלתי-צפוי
כל פרויקט, גם אם הוא נראה בהתחלה פשוט וקל, יכול להיקלע לקשיים טכניים שמעולם לא נתקלנו בהם. הדרך היחידה לפתור אותם היא לשמור על ראש פתוח, להשקיע ולא לוותר – מה שעשוי להיות קשה במיוחד כשמדובר בפרויקט ללקוח. הנה דוגמה.
סיפור קצר על Brown Out
לפני שנה ומשהו יצרתי אורות מהבהבים לכבאית צעצוע של הילדים, ולאחרונה התבקשתי ליצור אורות דומים, אך הפעם כיחידה עצמאית. התכנות וההרכבה הלכו בקלות – בכל זאת, לומדים מהניסיון – אבל מתקפה חוזרת של באג מוזר הכריחה אותי לשים לב לנושא שדי התעלמתי ממנו עד היום.
Programmer Not Responding
זהו סיפור של תעלומה ומסתורין, בו חקירה מקיפה ועקשנית מצליחה לחשוף כנגד כל הסיכויים את האמת מאחורי הבלתי-אפשרי לכאורה, ולהחזיר לחיים מקרה אבוד. או, במילים פשוטות יותר, איך תיקנתי לוח ארדואינו מקולקל.
קיט ATmega328: בדיקה שיטתית
לאחרונה קיבלתי לבדיקה שני קיטים (מתוך חמישה) שנקנו במזרח הרחוק. כל קיט כולל מיקרו-בקר ATmega328P-PU עם Bootloader צרוב מראש של ארדואינו Uno, תושבת, מתנד גביש 16MHz עם שני קבלים קרמיים מתאימים, וכן מייצב מתח 7805 סטנדרטי עם שני קבלים אלקטרוליטיים לייצוב הכניסה והיציאה. הקונה לא הצליח לגרום לכל אלה לעבוד כ"ארדואינו על מטריצה". אז איפה הבעיה?