יום רביעי, 2 בנובמבר 2022

מיקרו:ביט שיעור מספר 4 - הכרות ראשונית עם משתנים (Micro:bit 4#)

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

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

תחילה נלחץ על "משתנים" ובמחסן שיפתח נבחר ב"צור משתנה": 


כעת ניצור משתנה ששמו "מבקרים" ונלחץ על "אישור": 


בתחילת היום, המבנה ריק. נגדיר שהערך של המשתנה "מבקרים" יהיה שווה ל 0:  


כעת נבקש מהמיקרו:ביט שיציג לנו "לעולמים" את מספר המבקרים: 


כעת נגדיר שלחיצה על כפתור A - תוסיף 1 לערך של "מבקרים" ולחיצה על כפתור B - תוריד 1 מהערך של "מבקרים". השומר יצטרך ללחוץ על כפתור A כאשר מבקר חדש נכנס וללחוץ על כפתור B כאשר המבקר יוצא. מספר הנוכחים בבניין ישמר במשתנה "מבקרים" ויוצג "לעולמים" במיקרו:ביט: 


סיימנו... 

משימה קטנה לתרגול: 

צרו תכנית שתספור את מספר הנוכחים בבניין בכל רגע נתון ובנוסף, תאפשר לשומר לעקוב אחר מספר האנשים בעלי כובע אדום שנכנסו לבניין. בלחיצה על כפתור A+B התוכנית תציג את מספר בעלי הכובע האדום שנכנסו לבניין מתחילת היום. התוכנית לא תעקוב אחר מספר בעלי הכובע האדום שנמצאים בבניין בכל רגע נתון. בהצלחה!!   

יום רביעי, 29 ביוני 2022

כל מה שצריך לדעת (כמעט) על הדפסת PETG

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

אגב, למה בכלל להדפיס PETG? 
ה PETG מודפס בטמפרטורה גבוהה יותר ולכן אמור להיות מעט עמיד יותר מ PLA לטמפרטורות גבוהות. בנוסף הוא חזק יותר ועמיד יותר לעומסים מאשר ה PLA. האמת שאני מדפיס PETG מסיבה אחרת לגמרי: גיליתי שכאשר אני מדפיס TPU ומנסה לחזור ל PLA, הדיזה לפעמים נסתמת והמדפסת לא מצליחה לחזור לעצמה. הסיבה היא שה TPU נדבק לפנים הדיזה וה PLA לא מצליח לדחוף אותו ו"לנקות" את הדיזה מכיוון שבטמפרטורה נמוכה - ה TPU מוצק עדיין ולא נדחף טוב בדרך החוצה ואילו בטמפרטורות גבוהות - ה PLA נוזלי מדי ולא מצליח לדחוף את שאריות ה TPU. הפתרון - הדפסה ב PETG - חומר שדורש הדפסה בטמפרטורה גבוהה יותר - טמפרטורה בה ה TPU גם הוא נוזלי. 

(ה TPU הירוק זוהר נדחף החוצה מהדיזה ואחריו ה PETG. גם בהמשך ההדפסה ניתן לראות עוד קצת ניצנוצים של ה TPU שלאט לאט מפנים את מקומם..)

יום שלישי, 21 ביוני 2022

רכב מיקרו:ביט (Elecfreaks Car)

אחרי ההתלהבות מה Robomaster של DJI, היה די ברור שאקנה את הרכב של Elecfreaks ולו רק בשל גלגלי ה Mecanum שמאפשרים לו, בדומה ל Robomaster S1, תנועה צידית. טוב, זה ממש לא Robomaster S1, תנמיכו ציפיות (והמחיר שלו הוא בכל זאת שישית ממחירו של ה Robomaster) אבל הוא בהחלט נחמד. 

מה מכילה הערכה?
  • לוח Wukong כולל סוללה 
  • חלקי הרכבה בסגנון "לגו טכני" 
  • 4 מנועי סרוו 360 מעלות 
  • 4 גלגלי Mecanum
  • חוברת הוראות 
שימו לב שהערכה לא מכילה מיקרו:ביט - אותו תצטרכו לרכוש בנפרד! 

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




רק שתי הערות על הבניה: 

יום ראשון, 3 באפריל 2022

מיקרו:ביט - הליבה של איירון מן / Iron men - Arc reactor

אם קראתם את הפוסט שלי על השילוב של מיקרו:ביט ו Yahboom halo יכול להיות שכבר חשבתם בעצמכם שחייבים להפוך את זה לליבה של איירון מן... אז זה אכן קרה... 

אז אחרי החיבור הראשוני, צריך להעלות את הקוד. הקוד שהעליתי כרגע כולל 4 מצבים: 

מצב "לעולמים" - המיקרו:ביט מאיר באור קבוע כחלחל
לחיצה על כפתור A - המיקרו:ביט מציג אנימציה של אורות במעגל
לחיצה על כפתור B - המיקרוביט מהבהב את נורות הלד בקצב משתנה שמשווה לזה מראה לא יציב. 
לחיצה על כפתור A + B - המיקרו:ביט מאיר באור אדום שנמוג לאט ונדלק חזרה בצבע כחלחל. 

בפועל, הקוד הראשוני מגדיר את נורות הלד ומדליק אותן בצבע כחלחל: 

יום ראשון, 27 בפברואר 2022

Yahboom - micro:bit / תחילת עבודה עם מעגל לדים ומיקרו:ביט

מעגל הלדים של Yahboom למיקרו:ביט הוא הרחבה פשוטה להרכבה ותכנות. כמובן שאפשר לעשות עם ההרחבה עוד המון דברים אבל נציג כאן רק את ההתחלה.. 

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


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

יום שלישי, 25 בינואר 2022

רחפן מיקרו:ביט - Air:bit

רחפן ה Air:bit הוא רחפן מבוסס מיקרו:ביט. אתחיל מהסוף - אם אתם מחפשים רחפן איכותי - זה כנראה לא בשבילכם אבל אם אתם אוהבים לתכנת מיקרו:ביט - אתם הולכים להנות ממנו. 

ההרכבה לא מאד מסובכת, כאשר יודעים איך עושים את זה.. 

לא מצאתי סרטון פשוט באתר של ה Air:bit ונאלצתי לחפש ביוטיוב סרטון נורמלי, בעיקר בשלב חיבור המנועים. בסופו של דבר הבנתי שאין שיטה מיוחדת אלא הם פשוט נכנסים בלחץ... 

מצרף לכם סרטון של ההרכבה ומיד אחריו אכתוב כמה דגשים חשובים: 


כמה דגשים להרכבה: 

יום רביעי, 5 בינואר 2022

הכנת תמונה לחיתוך בלייזר (DXF.) בעזרת Inkscape

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

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

אחרי שבחרתם את התמונה והורדתם אותה למחשב - פתחו את תכנת ה Inkscape והתחילו לעבוד...

נלחץ על קובץ (או File) ובתפריט שיפתח נלחץ על יבוא (או Import): 


יום שני, 3 בינואר 2022

מיקרו:ביט שיעור מספר 9 - משחק פשוט (Micro:bit #9)

לתכנת משחק במיקרו:ביט? איך בכלל מתחילים?!

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

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

כאן תוכלו להוריד את הקוד של המשחק

בתחילת הקוד אנו מגדירים את מיקום השחקן - תמיד בשורה התחתונה אולם במיקום אקראי על ציר ה X, את מיקום הנקודה - תמיד בשורה העליונה אולם במיקום אקראי על ציר ה X. כמו כן, אנו מגדירים את החיים.



הדמות יכולה לזוז על ציר ה X ימינה ושמאלה בעזרת הלחצנים.




בהמשך התכנית - ב"לעולמים" - נגדיר שהנקודה יורדת כל העת למטה בציר ה Y. בנוסף - יש עוד שתי תכניות:
1. אם הנקודה מגיעה לשורה התחתונה היא נעלמת ונוספת נקודה
2. אם הנקודה פוגעת בשחקן - הנקודה נעלמת ויורד חיים לשחקן.

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


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