לפני שנתיים ומשהו כתבתי תוכנת Desktop כתחליף משוכלל לסריאל מוניטור המוגבל-מאוד של ארדואינו. מאז השתמשתי בה לעתים קרובות, עד שבאג מסתורי צץ משום מקום ואיים להרוס את כל העבודה שעשיתי. הנה הסיפור על זיהוי הבעיה ועל הפתרון הלא-פשוט.
ארכיון הקטגוריה: תוכנה
פיקאדום, יומן פרויקט: חלק ב'
חיפוש מהיר של מיקומי GPS בקובץ
נתונה רשימה של קואורדינטות גאוגרפיות של נקודות ציון. הרשימה ארוכה מכדי לאחסן אותה בזיכרון המיקרו-בקר, ואנחנו צריכים לזהות בזמן אמת – על סמך מידע שמגיע ממודול GPS – אם אנחנו קרובים לאחת מנקודות הציון האלה. איך עושים זאת בצורה יעילה וחסכונית במשאבים?

לוגיקה בסיסית: מודול CLC ב-PIC החדשים
איך יוצרים התפלגות נורמלית
איך ליצור מזהה ייחודי ייחודי
באחד הפרויקטים שאני עובד עליהם לאחרונה, המיקרו-בקר התבקש ליצור לעצמו מספר זיהוי ייחודי לפי פקודה, ברמת אקראיות גבוהה מספיק כדי שמספרים "כפולים" יהיו נדירים גם במערכת שכוללת הרבה מיקרו-בקרים כאלה. מאיפה משיגים ביטים אקראיים כדי "להתניע" את מחולל המספרים הפסודו-אקראיים, ומה עושים כשהמחולל עצמו נותן לנו מעט מדי אפשרויות?
פרויקט: חנוכיית לדים בשלט רחוק
CodeMonkey, טוב למתכנתים צעירים?
קריאה מושלמת של Rotary Encoder, חלק ב'
האם אפשר לנסח אלגוריתם לקריאה של מקודד סיבובי, שפותר לגמרי את בעיית ה-Bounce מצד אחד, ומצד שני לא נופל בפח של היפוך כיוון הסיבוב כפי שקרה לאלגוריתם הקודם שלי?

0.000011574Hz, חלק ראשון
לפני שלוש שנים, בעודי לומד מה-Datasheet את התכונות הבסיסיות של המיקרו-בקר ATtiny85, גיליתי שאני יכול להפעיל אותו על בסיס אות שעון חיצוני בקצב איטי עד כדי גיחוך של 1Hz. בדיון הזעיר שהתנהל בנושא העליתי את הרעיון של עבודה בקצב איטי עוד יותר – עליית שעון אחת ביום, או 0.000011574Hz – כדי ליצור מערכת שמדליקה לד מדי שבת, כאשר אות השעון מבוסס איכשהו על המחזור הטבעי של יום ולילה.
הרעיון הזה מטופש מכדי להשאיר אותו לנצח בגדר תיאוריה, נכון? 🙂