![]() | |
זה אילן |
אז יוצא שאילן,המורה שלי לארדואינו, מאלץ אותי לכתוב בלוג על תהליך העבודה במהלך הקורס: מה עשיתי, מה למדתי ולאן כל זה הולך. אז פסדר. ניצחת אילן. הנה הזה בא
פרוייקטים
הפרוייקט הראשון היה גרסת ארדואינו למשחק המפורסם של נוכלי הרחוב, עם שלוש הכוסות שמתחת לאחת יש מטבע, מזיזים מהר את הכוסות והקורבן המסכן שלא קלט את זריזות הידיים ומשוכנע שיודע איפה נמצא המטבע משחרר חמישים ש"ח לנוכל. אז כזה, רק שהמטבע הוא וירטואלי וזז בין כוס לכוס ע"י חשיפת שני סנסורים לאור (ברמה מסויימת). המצרכים הם:
1 X Arduino Leonardo
1 X Bread Board
3 X Light Sensors (LDRs)
3 X 10k Resistors
3 X Plastic Cups
3 X Leds
wiring
התוצאה הסופית מוצגת כאן:
וכאן
הפרוייקט סידר לי את הראש בכל הנוגע לאלקטרוניקה בסיסית, כתיבת קוד פשוט באופן יחסי, והיה כיף ליישום.
הפרוייקט השני היה גם כן עם אותו הציוד, רק שעכשיו הפכתי את שני חיישני האור לקונטרולרים במשחק processing פשוט שבו צריך להזיז תמונה אחת בדיוק על גבי תמונה זהה סטטית ובכך לצבור ניקוד (ככל שיותר זמן התמונות אחת על השניה כך נצברות יותר נקודות.
התוצאה הראשונית כאן:
התוצאה הראשונית כאן:
לאחר הפרוייקט השני רכשתי MPU 6050, ו-lilypad ויצרתי קונטרולר כדורי נוסף שבתוכו נמצא ה-MPU ומנוע feedback שפירקתי מקונטרולר הרוס של playstation 2. התוכנית הייתה לשלוט בעזרת הקונטרולר בדמות במשחק unity או processing. החיבורים וההלחמות היו יחסית קלילים, אבל בכל פעם שהרצתי את הקוד בארדואינו קיבלתי ג'יבריש בנוסף למידע תקין, מה שלא אפשר המשך עבודה תקינה. אחרי שלושה ימים של פירוקים והלחמות ומאבקים עם הקוד, התייאשתי וקניתי ארדואינו לאונרדו נוסף, פירקתי הכל מהלילי וחיברתי ללאונרדו - והפלא ופלא - מידע ה-Raw חזר תקין בניסיון הראשון. כוסומו.
לאחר מכן ניסיתי להחזיר מידע YPR ומשבב ה-DMP של ה-MPU, ושוב אכלתי קש. הוא לא היה מוכן להחזיר מידע באופן רציף ל-serial monitor. כשחיברתי אותו ל-processing המחשב נתקע.
גם פה היה מאבק עיקש, אך התחיל להגמר לי הזמן ולכן נטשתי אותו. אח"כ ניסיתי לשלוט בעזרת חיישני האור ביוניטי - וגם פה נכשלתי בלי סוף כנראה בגלל מהירות השידור של הארדואינו ומהירות הקריאה של היוניטי. (עכשיו אחרי ההגשות, הצלחתי לקבל מידע ב-debug.log של היוניטי במשך מספר דקות, אך זה לא נמשך זמן רב. היוניטי נתקע באופן עיקבי).
בגלל קוצר הזמן חזרתי אחורה לחיישני האור ולפרוייקט עובד ויצרתי משחק חדש עם שני קונטרולרים לשני שחקנים ב-processing:
גם פה היה מאבק עיקש, אך התחיל להגמר לי הזמן ולכן נטשתי אותו. אח"כ ניסיתי לשלוט בעזרת חיישני האור ביוניטי - וגם פה נכשלתי בלי סוף כנראה בגלל מהירות השידור של הארדואינו ומהירות הקריאה של היוניטי. (עכשיו אחרי ההגשות, הצלחתי לקבל מידע ב-debug.log של היוניטי במשך מספר דקות, אך זה לא נמשך זמן רב. היוניטי נתקע באופן עיקבי).
בגלל קוצר הזמן חזרתי אחורה לחיישני האור ולפרוייקט עובד ויצרתי משחק חדש עם שני קונטרולרים לשני שחקנים ב-processing:
הפרוייקט השלישי - המשחק הוא תחרות בין שתי חיפושיות מי נוחת על יותר פרחים בזמן קצוב. אם חיפושית נוחתת על פרח היא מקבלת נקודה ומיד שלושת הפרחים מקבלים מיקום רנדומלי חדש. אם שתי החיפושיות נתקעות אחת בשניה בדרך לפרח, כל הפרחים מקבלים מיקום רנדומלי חדש גם כן.
ככל ששיחקתי יותר עם החיישנים האלו הבנתי שמדובר ב-skill שאינו אינטואיטיבי ולוקח זמן לרוכשו, אבל אחרי משחקים מועטים יחסית הגעתי לרמת שליטה כמעט מוחלטת בקונטרולר הזה.
אילן וורד פנואלי חשבו אחרת. לדעתם הקונטרולר אינו אינטואיטיבי מספיק ו/או שהוא מושפע יותר מדי מגורמים חיצוניים כמו צל שיכול ליפול על הקונטרולר.
ב-play tests שערכתי אצלי בעבודה מצאתי שאנשים מאוד אהבו את חוסר האינטואיטיביות הראשונית וקיבלו חיזוקים מיידיים כששליטתם השתפרה וה-skill החדש התפתח אצלם.
אילן וורד פנואלי חשבו אחרת. לדעתם הקונטרולר אינו אינטואיטיבי מספיק ו/או שהוא מושפע יותר מדי מגורמים חיצוניים כמו צל שיכול ליפול על הקונטרולר.
ב-play tests שערכתי אצלי בעבודה מצאתי שאנשים מאוד אהבו את חוסר האינטואיטיביות הראשונית וקיבלו חיזוקים מיידיים כששליטתם השתפרה וה-skill החדש התפתח אצלם.
(סירטון יעלה בהמשך)
מה שלמדתי והמשך הדרך
קורס הארדואינו יותר מהכל היה מבוא מצויין לתכנות, כזה שזרק אותי למים עמוקים ואילץ אותי להתגבר לא משנה מה. המשך הדרך ביוניטי הייתה קלה יותר בעקבות כך.
בנוסף למדתי אלקטרוניקה בסיסית, מעט חשמל ולמדתי להלחים כמו שצריך.
אין לי ספק שברגע שאצליח לחבר בין הארדואינו ליוניטי האפשרויות שלי יפתחו משמעותית.
יש לי רעיונות רבים לבנות פרוייקטים שקשורים במוסיקה, בלמידה ומשחקי שולחן ודימיון לילדים המבוססים על ארדואינו.
יש לי רעיונות רבים לבנות פרוייקטים שקשורים במוסיקה, בלמידה ומשחקי שולחן ודימיון לילדים המבוססים על ארדואינו.
זהו.
תודה אילן. נגמר הקורס. שחרר אותי בבקשה :)
No comments:
Post a Comment