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

לפני – ריבונו של עולם, שנה וחודש! – הבטחתי להסתכל לתוך זיכרון ה-Flash של מיקרו-בקר מצוי כדי למדוד את מידת האקראיות של קוד המכונה שנצרב עליו, ולבדוק אם אפשר להשתמש בו כמקור למספרים פסודו-אקראיים. הפוסט הזה לא יסגור את המעגל לגמרי, אבל כן ייתן לנו כמה כלים מעניינים…
אם יש לכם לוחות ארדואינו לא מקוריים ישנים (דגמי Duemilanove או Uno עם שבב תקשורת של Prolific או FTDI), ומערכת הפעלה Windows חדשה, סביר להניח שהלוחות יפסיקו – או כבר הפסיקו – לעבוד. למה זה קורה ומה עושים?
ללוחות ארדואינו הנפוצים יש קילובייט אחד של זיכרון EEPROM, ששומר על תוכנו גם כשהלוח אינו מחובר לחשמל. אם הפרויקט שלכם מחייב יותר מקילובייט, או כולל מיקרו-בקר ללא EEPROM, אפשר להשלים את החסר בעזרת שבבי EEPROM ייעודיים. מבין אלה, משפחת השבבים AT24Cxx היא אופציה זמינה, זולה מאד וקלה לשימוש. בואו ונראה איך משלבים אותה בפרויקט.
אחת הבשורות המעניינות בגרסה 1.6.6 של סביבת הפיתוח של ארדואינו היא Serial Plotter – כלי להצגה גרפית בסיסית של מידע. בפוסט זה אתאר בקצרה מה ה-Serial Plotter עושה ואיך משתמשים בו.
בתוך אחת מהפונקציות הצנועות של ארדואינו מסתתר if לא הגיוני. מה הוא עושה שם? מה יקרה (אם בכלל) אם ניפטר ממנו? הבדיקה של הנושא תיקח אותנו למסע בזמן עד שנת 1988.
זה התחיל בתור פוסט כללי, על הדרך בה בחרתי להתמודד עם נושא הארדואינו בוויקי שאני כותב. תוך כדי העבודה עליו גיליתי את הפונקציה pulseInLong… ואז גיליתי את הבאג בה!
איך נראה העולם דרך עיניו של נגד תלוי-אור (LDR)? המצלמה PunyCam הלא-מרשימה שפיתחתי מספקת לנו את התשובה… בקצב איטי להחריד!