יום שלישי, 27 ביוני 2017

ארדואינו לאונרדו / Arduino Leonardo

ארדואינו לאונרדו הוא לוח ארדואינו עם חיבורים זהים לארדואינו אונו (UNO) ולמעשה ניתן להעלות את הקוד שהכנתם לאונו על גבי הארדואינו לאונרדו (לא בדקתי את כל הקודים אבל לא אמורה להיות בעיה). אז מה מיוחד בלאונרדו?

הלאונרדו יכול לשמש כמקלדת ועכבר על ידי שימוש בספריות יעודיות המובנות בתכנת הארדואינו. בדרך זו, ניתן לתכנת את הארדואינו כך שיקליד טקסטים, ימלא טפסים או ישחק במשחק. בשימוש בלאונרדו נפתחות עוד אפשרויות רבות שלא היו קיימות למשתמש בארדואינו אונו. רק שימו לב - כדי שהלאונרדו יתפקד כלאונרדו - הוא חייב להיות מחובר בכבל ה USB כל העת למחשב... 

ולפני שמתחילים - עוד דגש אחד: שימו לב לשנות את הלוח שלכם בתכנת הארדואינו ללוח לאונרדו. ללא השינוי התכנה לא תוכל לטעון את הקוד שלכם לארדואינו אולם גם תדווח על הודעת שגיאה גם אם לא ניסיתם עדיין להעלות את הקוד! (הסיבה היא כמובן שהארדואינו מזהה שימוש בספריות שאינן תואמות לארדואינו אונו ולכן לא רק שלא מוכן להעלות את הקוד אלא גם טוען שיש שגיאה). 



(ארדואינו לאונרדו - אותם יציאות, כבל ה USB שונה: כבל ה USB B הוחלף ב USB מסוג מיקרו)

ואם לא הבנתם לגמרי מה אפשר לעשות איתו - הנה דוגמא קטנה: 

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


(התערוכה של בית ספר 'דעת' - ברקע מצד ימין ניתן לראות את חדר הסימולציה מבחוץ) 

לצורך הפרויקט, השתמשו התלמידים בארדואינו אונו מחובר לריליי שיוצר את ההפרעות: מדליק ומכבה באקראיות פרוז'קטור ומאוורר. מי שמפעיל את הארדואינו אונו הוא ארדואינו לאונרדו שמונה 5:30 דקות כאשר בסיומם הוא מכבה את הארדואינו אונו (וליתר דיוק - גורם לארדואינו להפסיק את ההפרעות). באותם 5:30 דקות האדם שנמצא בחדר הסימולציה אמור לענות על מבחן בנושא המוח. המבחן בנוי כטופס גוגל (Google Form) וכל התשובות נמצאות בקטע הקריאה כך שלמעשה המבחן לא בודק ידע או זיכרון אלא רק ריכוז. 

עד כאן, היה ניתן להשתמש בארדואינו רגיל, אולם עכשיו באה לידי ביטוי היכולת המיוחדת של הארדואינו לאונרדו: 

בסיום הזמן שהוקצב, שולח הארדואינו לאונרדו את הטופס גוגל בין אם האדם סיים ובין אם לאו והתוצאות נאגרות במסד הנתונים של גוגל. 

תראו קטע קטן מהקוד: 



הארבע שורות הראשונות מורות לעכבר לזוז 2000 פעמים לכיוון שמאל. המטרה היתה לגרום לעכבר לזוז לקצה השמאלי של המסך ואז ללחוץ על העכבר (קליק ימני) על מנת לא לפגוע בתוצאות המבחן. נסביר:

התלמידים רצו שהארדואינו ילחץ על "שלח" שבתחתית הטופס. כדי שזה יקרה, צריך להביא את הסימון תיבה של המחשב אל ה"שלח". נסו ללחוץ כעת מספר פעמים על לחצן ה Tab ועקבו אחר מה שקורה: המחשב מתכונן ללחיצה אולם מה בדיוק יהיה מסומן כאשר נלחץ על ה Tab - תלוי איפה נמצא העכבר כעת ועל מה לחצנו לאחרונה...

כאשר נלחץ בעזרת העכבר במקום "ניטרלי" בעמוד, נוכל לחשב את מספר לחיצות ה Tab - במקרה שלנו - 8 לחיצות בדיוק. לכן, העכבר זז 2000 פעמים לצד שמאל, לוחץ לחיצה (Mouse.press) ואחר כך אנחנו מתחילים לספור 8 טאבים עד למצב הרצוי שאחריו מקש הרווח (spaca) יתן את הלחיצה על ה"שלח" והטופס ישלח..

את כל זה כמובן בודקים מראש ומתאימים את הקוד לטופס המדויק או לסיטואציה המדויקת שרוצים.

כך נראית המערכת לפני החיבור למאוורר ולפרוז'קטור...:



  • מצד שמאל ניתן לראות את הריליי הכפול אליו יחוברו בהמשך המאוורר והפרוז'קטור
  • במרכז ניתן לראות את שני לוחות הארדואינו, גב אל גב. הלוח שפונה כלפינו - ארדואינו אונו והלוח שמפנה את גבו - הלאונרדו. 
  • מצד ימין למטה ניתן לראות את המסך שמציג את הזמן שנותר. 
  • מצד ימין למעלה - ניתן לראות את הלחצן שמפעיל את כל הסיפור ואם כבר דיברנו על הלחצן - בארדואינו לאונרדו חייב להיות לחצן!! הוא יכול להיות לחצן וירטואלי או לחצן פיזי אבל חייב להיות טריגר שמפעיל את הלאונרדו. 
הסיבה שצריך להיות טריגר היא כי אם הארדואינו לאונרדו יתחיל מיד בלחיצה על דברים במחשב, לא נוכל להעלות עליו קוד חדש או לפחות די נתקשה בזה... 


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

בקיצור - לחצן לטריגר, delay או כל רעיון אחר שיעזור לכם לשלוט על הארדואינו שלכם בעת הצורך... 

ולסיום - היועץ המקצועי של שר המדע, זהר טל, מתנסה בחדר הסימולציה (והתמונה צולמה דרך החלון של חדר הסימולציה..): 



ולסיום - תודה רבה לשמוליק שוורץ על העזרה עם הקוד של חדר הסימולציה!

עדכון: תוכלו לראות כאן את התרשים המלא ואת הקוד להרכבת המערכת

אין תגובות:

הוסף רשומת תגובה

הערות? הארות? יש לך משהו חשוב לספר לכולם? שאלות?

נשמח לשמוע!

(התגובה תפורסם בהקדם בכפוף לאישור מערכת מייקינג)