יום חמישי, 13 בדצמבר 2018

Anet A8 - הרכבה חלק ג'

Anet A8 - חלק ראשון

Anet A8 - חלק שני

Anet A8 - שדרוגים 

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



יום חמישי, 29 בנובמבר 2018

הפתעות תכנותיות (Easter eegs)

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


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


     =rand.old() 

    ולאחר מכן נלחץ על Enter

    ונקבל דברים אחרים...

    אגב, יש לכם מושג מה מיוחד במשפט הזה?

יום שבת, 24 בנובמבר 2018

תכנות רחפן Tello באמצעות המחשב

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

איך מטיסים באמצעות המחשב ולמה זה טוב?

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

מוכנים להתחיל?

כדי לתכנת את ה Tello בבלוקים תצטרכו:

  • רחפן Tello
  • מחשב עם חיבור ל Wifi
  • דפדפן כרום 
איך עושים את זה? 

מחנות האפליקציות של כרום, מורידים את האפליקציה של ה Tello. באפליקציה שהורדתם, Drone blocks, מתחילים לסדר את הבלוקים לפי סדר הגיוני. התחילו ב Take off וסיימו את התכנית ה Land. באמצע שימו את המשימות, הלולאות וכל מה שתרצו.

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

בסיום סידור הבלוקים, התחברו לרשת ה Wifi שמייצר ה Tello ולחצו על Launch Mission כדי להתחיל להעיף... 

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





אם אינכם מצליחים לצפות בסרטון - לחצו כאן >>>



יום שבת, 3 בנובמבר 2018

Anet A8 - הרכבה חלק ב' - שדרוג מאוורר

הרכבת ה Anet A8 - חלק א'



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

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

לפני שנסביר את השדרוג - נראה את ההדרכה המקורית:



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

יום רביעי, 31 באוקטובר 2018

Anet A8 - הרכבה חלק א'

חשבתי שיום בחירות יספיק כדי לבנות את ה Anet A8 שיושבת אצלי כבר חודש וחצי ומתחננת להרכבה. אז חשבתי... מצרף לכם תיעוד של חלק מהעבודה עם התובנות שלי... תהנו!

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




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

יום רביעי, 17 באוקטובר 2018

תחילת עבודה ב Octave ופרויקט לדוגמא - עיבוד תמונה

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

בחיפושי התחלתי לבדוק את Matlab שעושה רושם שמיועדת בדיוק לדברים האלו אולם הסתבר שמחיר של רשיון לצרכן הפרטי הוא בסביבות 2500$ לרשיון בודד... :-(למוסדות לימוד יש הנחה...). התחלתי לבחון חלופות ומצאתי את Octave. Octave אמורה להיות כמעט כפילה של Matlab. אני משוכנע של Matlab תהיינה המון הסתייגויות מההשוואה אבל לצורך העניין - לקחתי פרויקט Matlab והרצתי אותו על Octave והוא רץ עם שינויים קטנטנים (פרטים בהמשך). המטרה היתה להתחיל להכיר את Octave ולראות איך עושים בו שימוש למטרות של עיבוד מסד נתונים גדול כמו גלי מוח.

בפרויקט הזה תוכלו לראות את היכולות של ה Matlab / Octave. מקווה שבהמשך הידע שלי יבשיל לכדי התמודדות על פרויקט עיבוד גלי מוח וחיבור של זה לארדואינו...

נתחיל?...

בשלב הראשון יש להוריד את ה Octave מכאן. אני בחרתי באפשרות Windows - בחרו במערכת ההפעלה שמתאימה לכם. ההתקנה של ה Octave די פשוטה (ביחס להתקנה של ה Matlab בה אתם נדרשים לחתום ולהצהיר על כל מיני דברים - על מנת להתקין גרסת נסיון ל 30 יום...) ולאחר ההתקנה תראו שתי תוכנות: Octave CLI ו Octave GUI. הכנסו בבקשה ל Octave GUI.

בחלון שיפתח לכם תוכלו לראות את הממשק של Octave הכולל את שורת הפקודה - Command window ואת חלונית הקוד - Editor. בלשוניות שבתחתית העמוד תוכלו להחליף ביניהם.


נסו לשחק מעט בחלונית הפקודה:

כתבו "1" והקישו Enter
נסו "1+1" ולחצו על Enter
נסו להגדיר משתנים שונים ולחשב איתם. הגדרה תסתיים ב ; לפני ההקשה על ה Enter.

ראו כמה דוגמאות קטנטנות בסרטון:



כעת, לצורך עיבוד התמונה, נצטרך להתקין את הספריה image חפשו בגוגל pkg image octave או הורידו מכאן.

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

1. אל תחלצו את הספריה - העבירו אותה אל שולחן העבודה (סתם בשביל הנוחות).

2. חפשו את הספריה על שולחן העבודה דרך החלון שבצד שמאל של ה Octave.


3. התקינו את הספריה: בשורת הפקודה הקישו pkg install ולאחר מכן את השם של הספרייה במדויק בתוך גרשיים בודדים. אצלי זה נראה ככה:

pkg install 'image-2.8.0.tar.gz' 

אצלכם זה עשוי להראות קצת שונה בהתאם לגירסה של ה image שהורדתם.

לאחר ההורדה - חכו מעט, זה עשוי לקחת דקה או קצת יותר. לאחר שה command window ישחרר לכם את הבמה כדי לכתוב משהו חדש - כתבו pkg load image.

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

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


האם ה Octave יצליח להוציא את המידע הרלוונטי מהתמונה?...

העליתי את הקוד של ה Octave  לחלונית העורך - ה Editor:




את הקוד לקחתי מהאתר הזה (תודה!!) אבל התברר ששתי שורות - השורה הרביעית והשורה החמישית - אינן נתמכות ב Octave אלא רק ב Matlab. לשמחתי, הן לא היו קריטיות. הן שורות שנועדו למחוק נתונים קודמים על מנת שהתכנה תרוץ חלק ללא תקלות מיותרות. בפועל, סימנתי את שתי השורות ב %%, כלומר, "אני לא מעוניין להשתמש בכן" והתכנה רצה מצוין.

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




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




בשלבים הבאים, התכנה מעבדת ומנתחת עוד ועוד את התמונה עד לתוצאה הבאה:



זהו להיום...

זו התנסות ראשונית ב Octave ויש עוד המון מה ללמוד אבל זו ההתחלה...

בהצלחה!

יום שני, 1 באוקטובר 2018

שימוש ב RTC עם ארדואינו

Real Time Clock או בשם החיבה שלו RTC הוא רכיב שמשמש כשעון לארדואינו. מגדירים ל RTC את היום והשעה והוא ממשיך, בעזרת סוללה משלו, למנות את השעות והימים. כאשר מחברים את הארדואינו ל RTC הוא יכול להשתמש בנתונים מה RTC. בקיצור - רכיב יעיל ורב שימושי בכל מערכת שאתם רוצים שתדע היכן היא ממוקמת על ציר הזמן.

החיבור של ה RTC לארדואינו הוא קל ופשוט ודורש בסך הכל כמה חוטים... 

השתמשתי ברכיב שנקרא Tiny RTC וכולל סוללה מסוג CR2032:
  • את ה 5V ברכיב ה RTC - נחבר ל 5V בלוח הארדואינו
  • את ה GND ברכיב ה RTC - נחבר ל GND בלוח הארדואינו 
  • את ה SDA ברכיב ה RTC - נחבר לכניסה A4 בלוח הארדואינו
  • את ה SCL ברכיב ה RTC - נחבר לכניסה A5 בלוח הארדואינו. 



אחרי שחיברנו הכל והכנסנו את הסוללה לרכיב ה RTC, נוריד את הספרייה מכאן

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





שימו לב רק לכמה דברים:

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


בהצלחה!!

(קרדיט: נעזרתי המון באתר הזה. תודה!)

יום שבת, 22 בספטמבר 2018

נר LED

רוצים לדעת איך יוצרים נר LED בשביל האווירה? זה ממש פשוט...

רכיבים:

  • לוח ארדואינו
  • נורת לד
  • נייר לבן פשוט לעטוף את הנורה
בדוגמא הזאת השתמשתי בנורות LED משורשרות שנמכרות לפני סוכות. במקור, הנורות היו מחוברות לשתי סוללות AA, כלומר, סה"כ 3V. הארדואינו כמובן יכול להחליף את הסוללות ללא שום בעיה וכמובן לספק חשמל משתנה על פי תכנית במקום החשמל הקבוע שאמורות לקבל הנורות מהסוללות. 

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





אחרי שהעליתם את הקוד - חברו את הרגל החיובית של הלד אל יציאה מס' 10 ואת הרגל השלילית אל ה GND:


אגב, אם תרצו תוכלו להשתמש ביציאות אחרות של הארדואינו אבל בהסתייגות: תוכלו להשתמש רק ביציאות שתומכות בכתיבה "אנלוגית" או ליתר דיוק כתיבה דיגיטלית שמדמה כתיבה אנלוגית. בעזרת השיטה הזאת ניתן לשלוט על עוצמת המתח החשמלי ולא רק לספק 0/1 כמו ביציאות דיגיטליות. השיטה נקראת PWM ותומכות בה יציאות 3,5,6,9,10,11 בלבד (ומסומנות בסימן ~). לכן, תוכלו להשתמש ביציאה אחרת (וכמובן לעשות את השינוי בקוד) אולם השתמשו רק ביציאות התומכות ב PWM. 


התוצאה הסופית אמורה להראות בערך כך:



ושרשרת הנורות לסוכה מוכנה!

בהצלחה!!

יום שבת, 15 בספטמבר 2018

מדפי PLA

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

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

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



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


(בתמונה: המדפים מנוסרים וגלילי PLA בצבע לא ידוע מסתתרים בתוך קופסאות במגדלים אין סופיים...)



השלב הבא היה כמובן להרכיב את המדפים וליצור את ארונית ה PLA:



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

וככה זה נראה משתלב בפינת העבודה:



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

יום ראשון, 5 באוגוסט 2018

חדר בריחה - אקזיטרום/ אתגר בריחה בשער בנימין

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





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

המבנה יהיה מוכן בעוד כ 3 חודשים ובינתיים - כדי להכיר את המיזם ולחשוף אותו לציבור - הוקם חדר האקזיטרום. 

אני לא יכול לחשוף לכם תמונות מתוך החדר בריחה אבל רק אספר לכם שמדובר בשבעה לוחות ארדואינו מחוברים דרך ארדואינו מגה אל מחשב ששולט בכל מה שקורה שם... 

זה נראה בערך ככה: 


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

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


תוכלו לראות שכל החוטים שהם Input של הארדואינו "המרכזי", כלומר, מעבירים אליו מידע לגבי קצב ההתקדמות בחדר הבריחה, מוארקים דרך נגד 10KΩ ל GND אחרת הקריאה מהארדואינו "המקומי" עלולה להיות כמעט אין סופית (ממש מאותה הסיבה שהשתמשנו כאן בנגד). גם בארדואינו "המקומי", החוט שהוא Input עבורו (והוא Output עבור הארדואינו "המרכזי") מוארק ל GND דרך נגד מאותה הסיבה, על מנת שהקריאה תהיה מדויקת: רק הפקודה שהארדואינו מעביר לארדואינו תקלט ולא יקלטו שאריות אלקטרונים שישבשו את המערכת... 

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

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




אז למה אתם מחכים?!