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

בתוך אחת מהפונקציות הצנועות של ארדואינו מסתתר if לא הגיוני. מה הוא עושה שם? מה יקרה (אם בכלל) אם ניפטר ממנו? הבדיקה של הנושא תיקח אותנו למסע בזמן עד שנת 1988.
זה התחיל בתור פוסט כללי, על הדרך בה בחרתי להתמודד עם נושא הארדואינו בוויקי שאני כותב. תוך כדי העבודה עליו גיליתי את הפונקציה pulseInLong… ואז גיליתי את הבאג בה!
מודול HC-SR501 מבוסס על חיישן PIR (תת-אדום פסיבי), ובדיוק כמו "גלאי נפח" של מערכת אזעקה ביתית, הוא מאפשר לנו לזהות תנועה במרחב של אובייקטים חמים או קרים ביחס לרקע – או במילים פשוטות, כשמישהו זז בטווח הקליטה שלו. המודול נפוץ וזול, והפעלתו לא דורשת כמעט שום ידע. בפוסט זה נבין איך הוא עובד – ואיך עובדים איתו.
בפוסט הקודם תיארתי שיטה חסכונית-בחשמל להעברת מידע, באמצעות פרקי זמן מדודים של שקט (אי-שידור) בין סיגנלים תוחמים קצרצרים. כדי ליישם שיטה כזו במערכת עם משדר ומקלט RF זולים, צריך דרך להבחין בין השידור האמתי לבין רעשים אקראיים ואותות האימון שמשמשים לסינכרון המקלט. תוך כדי פיתוח הדרך הזו צצו כמה נושאים, שיעניינו מאד כל מי שמנסה לסחוט ביצועים ממיקרו-בקרים במערכות בעולם האמתי.
יש הרבה דרכים לשדר מידע באמצעות הפעלה וכיבוי מתוזמנים של מחולל אות כזה או אחר. אבל כשהמערכת מופעלת בסוללות ואורך החיים שלהן הוא שיקול קריטי, ייתכן שהדרך הטובה ביותר היא דווקא לשמור על השקט.
לפני שנה ומשהו יצרתי אורות מהבהבים לכבאית צעצוע של הילדים, ולאחרונה התבקשתי ליצור אורות דומים, אך הפעם כיחידה עצמאית. התכנות וההרכבה הלכו בקלות – בכל זאת, לומדים מהניסיון – אבל מתקפה חוזרת של באג מוזר הכריחה אותי לשים לב לנושא שדי התעלמתי ממנו עד היום.
איך נראה העולם דרך עיניו של נגד תלוי-אור (LDR)? המצלמה PunyCam הלא-מרשימה שפיתחתי מספקת לנו את התשובה… בקצב איטי להחריד!