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