אחד הדברים הראשונים שמשתמשי ארדואינו לומדים הוא לקשר מספרי פינים מסוימים עם פונקציות ספציפיות: פינים 0 ו-1 הם RX ו-TX של Serial, פין 5 הוא אחד מהשישה שמסוגלים להוציא פלט PWM, וכן הלאה. במיקרו-בקרים מודרניים יותר, מוסכמות כאלה לא תמיד תופסות – לטוב ולרע. הנה כמה הסברים ודוגמאות.
בקושי שלושה חודשים עברו מאז שקניתי את לוח הפיתוח של ה-EFM8 Busy Bee, וכבר התפניתי לשחק איתו קצת ולכתוב קוד בלינק בסיסי למיקרו-בקר המבטיח מבית Silicon Labs. הנה הפרטים הראשונים…
בפוסט הקודם על "השעון הקוּקוּ", שמתקתק בקצב לא אחיד, הזכרתי שאפשר לגרום לו – למרות ההפרעות בקצב מחוג השניות – לשמור בסופו של דבר ולאורך זמן על השעה הנכונה. איך עושים את זה? בפוסט הנוכחי אציג מספר גישות לפתרון הבעיה.
שעון מחוגים שמתקתק בקצב לא אחיד הוא לא רעיון חדש. מסתבר שיש לזה אפילו שם – "Vetinari's Clock", שעון עוכר-שלווה מסוים שמופיע ביצירותיו של טרי פראצ'ט ז"ל. מייקרים שונים כבר בנו שעונים כאלה בעולם האמתי, כך שאין פה שום חידוש; אבל מכיוון שהיה לי שעון קיר זול ומיותר, והרעיון הגניב את הילדים, החלטתי לבנות אחד בעצמי.
כדי להביא בני אדם לירח, סוכנות החלל האמריקנית ושותפיה פיתחו את הטכנולוגיה המתקדמת ביותר לאותה תקופה; אך ברגעי האמת, אפילו הם נזקקו לא פעם לאלתורים יצירתיים ולהאקינג מסוג הגס ביותר. הנה סיפורו של מתג פשוט שכמעט מנע את הנחיתה של אפולו 14.
לאחרונה התגלגל לידיי לוח עם שמונה ממסרים, שאמור לעבוד בשליטה מתוכנה במחשב (דרך חיבור USB). אלא שהתוכנה לא קיימת בשום מקום, הכלים ליצירה של תוכנה חדשה מוזרים מדי, ואני בכלל רוצה לשלוט בלוח דרך ארדואינו. מה עושים? קדימה, האקינג לחומרה!
קיבלתי ערמה קטנה של מחוונים אנלוגיים ישנים, שנאספו מכל מיני מקורות מוזרים, ויחד איתם משימה: לשלוט בהם בעזרת ארדואינו כך שזה ייראה כאילו הם מגיבים למשהו אמתי. הגיע הזמן לשלוף את הנוסחאות, את המחשבון ואת קיט הנגדים הגדול ביותר במגירה!
כפי שחלקכם כבר יודעים, העבודה ה"ראשית" שלי בשנים האחרונות היא בתרגום מאנגלית ובעריכה, וזה אומר – בין השאר – שאני מחליף כל הזמן בין השפות במקלדת, בעזרת צירוף המקשים Alt+Shift. אפשר היה לחשוב שאחרי שנים ההחלפה הזו תהפוך לטבע שני, אך לעתים קרובות מדי מצאתי את עצמי בכל זאת מקליד בטעות בשפה הלא-נכונה, או סתם מאבד את רצף הכתיבה בגלל ההחלפה הידנית. אתם כבר מריחים את המייקינג, נכון?