יום חמישי, 10 במאי 2018

עריכת קובץ Python לטיפול בשגיאת EggBot

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

אז מה עושים? משחקים קצת בקוד שמפעיל את הרחבת ה EggBot שכתוב בשפת Python. מוכנים? 

ראשית, עושים חיפוש בתיקיית ה Inkscape ומחפשים את הקובץ "ebb_serial". יש שם שני קבצים בלי שם כזה ואנו צריכים את הקובץ בעל הסיומת py ולא סיומת של pyc. אצלי הקובץ נמצא בכתובת הבאה: 


לאחר שאיתרתם את הקובץ הנכון, פותחים אותו באמצעות הכתבן.



חפשו את השורה:


החליפו את המילה None בפורט שמוקצה לכם לארדואינו. במקרה שלי זה היה 32 ולכן כתבתי:

 

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

בהצלחה! 

יום ראשון, 6 במאי 2018

בניית ותכנות EggBot - רובוט לשרטוט על ביצה

איך מרכיבים EggBot ומה זה בכלל?!

ה EggBot הוא מכשיר לציור על ביצים מבוסס ארדואינו. המכשיר עובד בדומה מאד למכונת חיתוך לייזר: ציר ה x וציר ה y נקבעים על ידי מנועי צעד (step motor) ובמקום חיתוך בלייזר - אנו נעזרים בטוש דק לציור על הביצה. 

לפני שנתחיל, נתאר את השלבים השונים בקווים כלליים: 
  1. בניית המכשיר
  2. הורדת הקוד לארדואינו
  3. הורדת תכנת שרטוט למחשב
  4. תכנון השרטוט / שימוש בקובץ מוכן
  5. פקודה דרך התכנה לארדואינו


נתחיל לפרט: 

1. כדי לבנות את המכשיר יש צורך להוריד את דף ההנחיות מכאן או מכאן. הרכיבו בעדינות והבריגו בזהירות. חלק מהחלקים די עדינים. 

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



כמובן שרק אחרי שהכל מחובר היטב ונכון - אפשר לסגור את המארז...




2. הורידו מכאן את הקוד לארדואינו או מכאן. חלצו את התיקייה למקום הנכון - אצלי זה כאן:


ורק לאחר מכן פתחו את תכנת הארדואינו (אם היא היתה פתוחה - סגרו ופתחו שנית). 
חפשו בדוגמאות את ה EggBot ופתחו את הקובץ.



הגדירו פתחה / פורט והעלו את הקוד לארדואינו. 

3. לצורך העבודה, נשתמש בתכנה וקטורית בשם Inkscape. כדאי להוריד מכאן או מכאן. לא כדאי להוריד את התכנה בדרך הרשמית מכיוון שבאופציה הרשמית לא מותקנת באופן אוטומטי ההרחבה של ה EggBot. 

חלצו את התיקייה, חפשו בתוכה את היישום Inkscape והפעילו אותו. 

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

אפשר גם להוריד מכאן דוגמאות מוכנות לשימוש ב EggBot.

בכל מקרה, הקובץ צריך להיות מותאם לגודל של ביצה. 

5. כעת, אם הכל מוכן ובנוי - אפשר להתחיל בניסיון הראשון:

  • מרכיבים את הביצה במקומה (או כדור פינג פונג, ביצת פלסטיק או אובייקט אחר...)
  • מחברים את לוח הארדואינו למחשב בכבל ה USB - כבל ה USB חייב להיות מחובר עד לסיום העבודה!!!
  • מחברים את הטוש ל EggBot. 
  • מפעילים את ה EggBot דרך ההרחבה הייעודית בתכנת ה Inkscape: לוחצים על הרחבות >>> EggBot >>> ובתפריט שנפתח לוחצים על EggBot Control. 


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



הכל עובד? כן!!

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