מדי פעם צץ בפורום כזה או אחר משתמש חדש, שתוהה באיזו שפה מתכנתים את הארדואינו. לשאלה הזו יש תשובה פשוטה מאד (C++), אך בגלל סיבות שונות ומשונות, חלקן לגיטימיות וחלקן פחות, התשובה הנ"ל אינה מובנת מאליה לרבים. אם גם אתם רוצים לדעת למה זה כך, הנה לפניכם פוסט מפורט שיפתור את התעלומה אחת ולתמיד… אני מקווה!
סיפורי אופטימיזציה: אקראיות יקרה
מתי שלושה תהליכים אקראיים נפרדים יכולים – וצריכים – להסתמך על מספר אקראי אחד? לקחים מפרויקט פשוט עם תופעת לוואי לא צפויה.
למה משתלם להיות מייקר
כמו תחביבים רבים אחרים, גם התעסקות באלקטרוניקה (כתחביב בלבד) כרוכה לרוב בהוצאות כספיות יותר מאשר בהכנסות. עם זאת, מכיוון שהסביבה שלנו רוויה בטכנולוגיה ואלקטרוניקה, יש לתחביב המייקינג פה ושם גם בונוסים כלכליים עקיפים. הנה מקרה קטן לדוגמה.
מה הקטע עם CY8CKIT
אפילו כיום, כשכל חברת שבבים דוחפת לשוק לוחות פיתוח זולים, הקיטים מבוססי ה-PSoC 4 של חברת Cypress הם יוצאי דופן בזכות מחירם המגוחך: 4 דולר בלבד. הקונה הישראלי הטיפוסי יצטרך להוסיף לכך דמי משלוח משמעותיים, אך אם תהיו מוכנים לספוג אותם, או שתגלו קומבינה אחרת להשיג את הלוח, הנה מה שמצפה לכם.
הלו פיק #2: קלט ופלט דיגיטליים
אחרי שעברנו איכשהו את תלאות ההתקנה וההגדרות הראשוניות והצלחנו להבהב בלד, הגיע הזמן לעשות משהו שימושי עם ה-PIC12F675: בואו נבנה "מנעול אלקטרוני" עם קוד סודי, ונלמד על הדרך איך מבצעים קלט ופלט בסיסיים עם הג'וק שלנו.
Abuarba: לקראת פרוטוקול תקשורת חדש
אי-שם בהיסטוריה, במקום ובזמן שטרם הצלחתי לאתר, מישהו חשב על הרעיון המחוכם להעביר מידע ממחשב למכשיר אחר באמצעות הבהובים על המסך. ההבדל בעוצמת האור בין ריבוע שחור לריבוע לבן על גבי המסך יכול להיקלט בקלות באמצעים גסים יחסית, והמחשב יכול בקלות לתזמן ולצייר את הריבועים הללו כדי לייצג ביטים או סיגנלים אחרים.
השיטה הזו הופעלה בהצלחה לא פעם, אך יש לה כמה מגבלות בולטות. קודם כל, היא איטית להחריד: קצב הרענון של מסך טיפוסי כיום הוא 60Hz, מה שמגביל אותנו – במקרה הכי אופטימי! – ל-7.5 בייטים בשניה, וזה לפני שדיברנו על מחשבים שמחליטים פתאום לבצע איזו משימה "כבדה" אחרת ולחרב את התזמון. כמו כן, בגלל שוני בבהירות בין מסכים שונים ובסביבות עבודה שונות, האמינות של זיהוי הביטים עלולה להיפגע וזה מחייב התייחסות.
במקום לשחזר אחד מהפרוטוקולים הקיימים, על חולשותיו, ולהסתפק בו, החלטתי ליצור פרוטוקול חדש שישלב את היתרונות של אלה הקיימים ויהיה מהיר, אמין ופרקטי לא פחות.
הלו פיק #1.2: בלינק (חלק שני)
אחרי שראינו כיצד להכין את הקוד עבור פרויקט ה-Blink בסביבת הפיתוח MPLAB X, הגיע הזמן להכין את החומרה ולהעלות את הקוד למיקרו-בקר.
הלו פיק #1.1: בלינק (חלק ראשון)
כפי שציינתי בפוסט הקודם בסדרה, פרויקט ה-Blink הראשון ל-PIC12F675 מפוצל לשני פוסטים מכיוון שמעורבים בעניין הרבה תמונות והסברים, ואני לא רוצה לדלג על שום שלב. בפוסט ראשון זה אציג את צד הקוד – כל מה שקורה בסביבת הפיתוח MPLAB X עד לרגע שבו נהיה מוכנים להעלות את הקוד המקומפל למיקרו-בקר. בפוסט הבא נדבר על צד החומרה ונראה כיצד הפרויקט עובד בפועל.
הלו פיק #0: מבוא
כמו תמיד בחיים, ברגע שהחלטתי להתעמק ב-ATtiny85, הנסיבות המשתנות משכו אותי לכיוונים נוספים. סדרת פוסטים חדשה זו תוקדש להיכרות עם מיקרו-בקר נוסף, הפעם ממשפחת PIC של חברת Microchip – אחת השחקניות הוותיקות, הגדולות והמוכרות בשוק. לעתים קרובות שומעים שהטכנולוגיה והארכיטקטורה של PIC הן מיושנות, או פחות נוחות משל מיקרו-בקרים מודרניים יותר, אך הפיקים – גם אלה הקטנים והפשוטים – עדיין נפוצים מאד, זולים ושימושיים, ותמיד טוב לשמור על אופציות פתוחות.
בפוסט זה אדבר על הכלים והרכיבים שבהם אשתמש, ואתחיל במיקרו-בקר עצמו…
מדור פרסומי: 4Probot – פרק שלישי
זוכרים את 4Probot, רובוט ההדגמה והניסוי שנבנה בשיתוף עם אתר 4project.co.il? העבודה עליו הוקפאה לזמן ממושך בגלל עניינים אחרים, אך הפרויקט לא בוטל. כעת, אחרי ניעור של שכבות האבק שהצטברו, הרובוט חוזר ובגדול – עם ג'ויסטיק אלחוטי לשליטה מרחוק!
מכיוון שמדובר בהתפתחות מורכבת, אפצל אותה לשני פוסטים. כאן אדבר על הצד של השלט בלבד, ובפוסט הבא על צד הרובוט.