אחד החיפושים הנפוצים בנושא ארדואינו, לפחות בשפה העברית, הוא קליטה ושידור של פקודות לשליטה במזגן. הקודים של מזגנים נוטים להיות מסובכים להבנה ורוב האנשים נוטשים את הפרויקט הזה באמצע, אז בואו נתחיל במשהו פשוט יותר (יחסית!) – כיצד לשחזר את שידורי השלט הרחוק ולשלוט במאוורר תקרה באמצעות ארדואינו.
שלט של מאוורר תקרה Hyundai. לחקות באמצעות ארדואינו
גם כשרוצים לעבוד הכי פשוט שאפשר, יש מי שידאג לסבך אותנו. הנה הסיפור – והפרטים, אם מישהו מאיתנו יצטרך אותם בעתיד – על הכנה והגדרה של עמדה הכי-פשוטה-שאפשר לאימון בתכנות.
לא מזמן, נשמה טובה שלחה לי שאלה שעלתה באחד הפורומים לגבי מקרה מוזר: פקודת delay של ארדואינו, שמוקמה בתוך פונקציית פסיקה (שהוגדרה באמצעות הפקודה attachInterrupt), רצה מהר מדי – ליתר דיוק, היא סיימה את פעולתה בערך ב-1/200 מהזמן הצפוי. הסתבר שכמה מהמגיבים בפורום השיבו, ובצדק, שמלכתחילה אסור לשים delay בתוך פונקציית פסיקה, ואף הפנו לתיעוד הרשמי של ארדואינו, שבו נכתב ש-delay לא תעבוד כלל במצב כזה. אבל עובדה שמשהו כן עבד, רק לא בקצב הנכון. אז מה באמת קרה שם?
אחרי שגילינו איך לגרום לפונקציונליות העיקרית של המערכת נטולת-המסך לעבוד, הגיע הזמן להכין חומרה מסודרת, להוסיף אופציה לכיבוי מסודר (בלי לחסום את עצמנו בטעות) וגם להגן מפני ונדליזם היי-טקי.
אחרי שהגדרנו מה בדיוק המערכת אמורה לעשות, נצלול אל הצד הטכני של הפלטפורמה והתוכנה, נראה למה אי אפשר לסמוך על המדריכים באינטרנט, ונגלה איך באמת כותבים קוד מתאים שירוץ ללא מגע יד אדם.
כל השלבים בבניית מערכת קטנה מבוססת Raspberry Pi, שמאפשרת שליטה בממסר חשמלי דרך פקודות ממקלדת USB סטנדרטית – ועם דגש על הצד הפרקטי של מערכת שצריכה לעבוד היטב בשטח.
הלב של המערכת העתידית: רספברי פיי זירו (הדגם הפשוט)
לפני שלוש שנים כתבתי פוסט אופטימי על לוחות הפיתוח הסיניים הזולים למיקרו-בקרי STM8, וכתבתי שעבור מי שרוצה להיכנס לתחום המיקרו-בקרים ברצינות, זו אחת האופציות הטובות – וגם הזולה ביותר. האם זה עדיין נכון… והאם בעצם זה היה נכון מלכתחילה?
אוסף מיקרו-בקרים ממשפחת PIC של Microchip. איפה מתחילים?
ארכיטקטורת AVR (לפחות ב-8 ביט) מקבלת כיוון חדש, ונכון להיום ה-ATmega4809 הוא הנציג הבולט והמדובר ביותר של הכיוון הזה. אז השגתי כמה מיקרו-בקרים וניסיתי לתכנן להם PCB ייעודי, למרות לחץ זמן ועבודה. הנה מה שקרה בעקבות כך.