לפני יותר משנה החלטתי לתעד את ההיסטוריה של קהילת המייקרים הישראלית (בגלגולה האינטרנטי הנוכחי). למרות הרצון הטוב של רוב האנשים אליהם פניתי, בשורה התחתונה לא קיבלתי את המידע הדרוש והפרויקט נשאר ברמת טיוטה חלקית, קבור עמוק בדיסק הקשיח שלי.
כדי שהמאמץ לא יתבזבז לגמרי, בחרתי לפרסם את המעט שיש לי כאן בבלוג. זיכרו שהדברים נכתבו לפני כמעט שנה, שהם חלקיים מאד, ושמטבע הדברים הם מוצגים מנקודת המבט האישית שלי.
דיבוג של לוחות ארדואינו תקולים הוא תמיד תרגיל מעניין, והלוחות שבדקתי הפעם היו, שוב, לוחות Pro Mini סיניים – אם כי עכשיו הם לא היו שלי, אלא של קורבן אחר של עליאקפרס. בפוסט זה אתאר את תהליך הבדיקה שביצעתי – ואת הפתרון.
כולם יודעים ש"מה שזול עולה ביוקר", ושהמחיר הנמוך של מוצרים אלמוניים מסין מתבטא באיכות הירודה שלהם. אבל איך מתבטאת בפועל איכות ירודה? הנה שתי דוגמאות מהחיים.
לפני חודש וקצת התלהבתי מה-ATmega328PB, עד כדי כך שבחרתי בו כבסיס לפרויקט של לקוח. מסתבר שהשמחה היתה מוקדמת מדי: נראה שלג'וק הזה יש חיסרון אחד משמעותי ש"שכחו" לציין במסמכים הרשמיים, ושאלמלא הייתי זהיר במיוחד, היה מחריב לי את כל הפרויקט. וזו רק ההתחלה!
אם יש לכם לוחות ארדואינו לא מקוריים ישנים (דגמי Duemilanove או Uno עם שבב תקשורת של Prolific או FTDI), ומערכת הפעלה Windows חדשה, סביר להניח שהלוחות יפסיקו – או כבר הפסיקו – לעבוד. למה זה קורה ומה עושים?
את הפונקציה map של ארדואינו, זו שממירה ערכים מסקאלה אחת לאחרת, אתם מכירים? קלה ושימושית, נכון? אך מסתבר שכמו הרבה יותר מדי דברים אחרים בעולם הארדואינו, גם היא מסתירה סוד אפל ומסוכן.
בתוך אחת מהפונקציות הצנועות של ארדואינו מסתתר if לא הגיוני. מה הוא עושה שם? מה יקרה (אם בכלל) אם ניפטר ממנו? הבדיקה של הנושא תיקח אותנו למסע בזמן עד שנת 1988.