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

בתוך אחת מהפונקציות הצנועות של ארדואינו מסתתר if לא הגיוני. מה הוא עושה שם? מה יקרה (אם בכלל) אם ניפטר ממנו? הבדיקה של הנושא תיקח אותנו למסע בזמן עד שנת 1988.
זה התחיל בתור פוסט כללי, על הדרך בה בחרתי להתמודד עם נושא הארדואינו בוויקי שאני כותב. תוך כדי העבודה עליו גיליתי את הפונקציה pulseInLong… ואז גיליתי את הבאג בה!
מודול HC-SR501 מבוסס על חיישן PIR (תת-אדום פסיבי), ובדיוק כמו "גלאי נפח" של מערכת אזעקה ביתית, הוא מאפשר לנו לזהות תנועה במרחב של אובייקטים חמים או קרים ביחס לרקע – או במילים פשוטות, כשמישהו זז בטווח הקליטה שלו. המודול נפוץ וזול, והפעלתו לא דורשת כמעט שום ידע. בפוסט זה נבין איך הוא עובד – ואיך עובדים איתו.
למיקרו-בקר הצנוע PIC12F675 יש זיכרון EEPROM בנפח 128 בייטים. כדי לכתוב או לקרוא מזיכרון זה, עלינו לבצע טקסי וודו מסתוריים. לשם מה צריך את ה-EEPROM, איך בדיוק נראים הטקסים האלה, ולמה הם חיוניים?
ה-HC-SR04 הוא חיישן מרחק זול, נפוץ ופשוט להפעלה שמככב באינספור יצירות של מייקרים חובבים, החל מפרויקטי למידה בסיסיים לארדואינו ועד לכלי רכב אוטונומיים. בפוסט זה נחקור את המודול לעומק, ונבין – באמצעות מדידות, תצפיות ובחינה מקרוב של הרכיבים – כיצד בדיוק הוא מבצע את תפקידו.
לפני חודש ומשהו דיברתי על צמד הג'וקים PT2262 ו-PT2272, שיכולים להוות בסיס אמין וזול למערכת תקשורת אלחוטית חד-סטרית מינימלית. בפוסט זה נדבר על האפשרות לחקות את אופן הפעולה שלהם באמצעות מיקרו-בקרים – ונפתח בשאלה המתבקשת: בשביל מה?
כמה פיני IO צריך בשביל לקרוא לחצן יחיד? ארבעה לחצנים? מאה? ככל שמספר הלחצנים עולה, כך עולה גם המורכבות של הפתרונות האפשריים, וכן הפשרות והמחיר במשאבים שאנחנו צריכים לשלם עבור כל פתרון. כפי שאציג בפוסט זה, במערכות שבהן מספר פיני ה-IO הוא שיקול חשוב, שיטת ה-Charlieplexing יכולה להוות פתרון מעניין.