יום רביעי, 20 בספטמבר 2017

שיעור מספר 1 / ארדואינו UNO - הכרות

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

הסתכלו בתמונה שלפניכם: 
נפרט מעט: 

יום רביעי, 13 בספטמבר 2017

טנק נשלט על ידי בלוטוס

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

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

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

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

בקיצור - חוויית משתמש אחרת לחלוטין...

מוכנים?

רכיבים:

  • לוח ארדואינו
  • דרייבר shield למנועי DC
  • טנק או כל רכב אחר עם שני מנועי DC. 
  • בלוטוס HC-06
  • בית סוללות ל 6 סוללות AA. 
  • מספר חוטים לחיבור 
  • מטריצה (אופציה). 
  • טלפון חכם (אנדרואיד). 
הרכבת המעגל פשוטה מאד: 

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






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



כדי להפעיל כל מנוע יש צורך בשלוש הגדרות:

1. קדימה / אחורה.
2. מעצור פועל / כבוי.
3. הגדרת כוח בין 0-255.

תוכלו לקרוא על הקוד של הדרייבר ביתר פירוט כאן>>>

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

כאשר הארדואינו מקבל בבלוטוס ערך של 85 - הוא נוסע קדימה
כאשר הארדואינו מקבל בבלוטוס ערך של 68 - הוא נוסע לאחור
כאשר הארדואינו מקבל בבלוטוס ערך של 82 - הוא מסתובב במקום לימין
וכאשר הארדואינו מקבל בבלוטוס ערך של 76 - הוא מסתובב במקום לשמאל.

בנוסף, כאשר לא מתקבל אות מהבלוטוס - הטנק עוצר.

למה בחרתי בערכים האלו?

כאשר נשלח בעזרת האפליקציה את האות U המסמלת את המילה UP - הארדואינו לא יקבל U אלא יקבל את הערך של U כלומר - 85. הערך של האות D המסמלת את המילה Down הוא 68 ואתם מנחשים כבר מה הערך של R ומהו הערך של L...

הערכים הם ערכים של טבלת ASCII (מצרף לכם לנוחיותכם כאן):



ואחרי שהבנו את כל זה - נשאר רק לארגן את האפליקציה:

1. נוריד את האפליקציה Bluetooth Electronics מחנות האפליקציות ונתקין אותה.

2. נתחבר להתקן שלנו HC-06 בעזרת הסיסמא "1234" או "0000".



3. נבחר באחד המסכים הריקים ונלחץ על Edit.


4. נבחר ב Pads ונגרור מהמחסן למטה את לחצני השליטה:


5. כעת, בחלונית מצד ימין למטה - נלחץ על Edit:


6. כדי שזה יהיה ממש ממש קל - הקוד מזהה את הפקודות U/D/R/L (כמו שהסברנו בקוד ASCII). שימו לב להקפיד על שימוש באותיות גדולות!!


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


שימו לב שללא חיבור לבלוטוס - לא תופיע האפשרות של Run!

תהנו!!!



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

ועוד הערה חשובה:

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

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

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

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

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

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




יום שלישי, 12 בספטמבר 2017

עבודה עם בלוטוס (Bluetooth)

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

לצורך עבודה ראשונית נארגן לנו:

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

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


  • את חיבור ה TX בבלוטוס מחברים ליציאה מספר 2 בארדואינו.
  • את חיבור ה RX בבלוטוס מחברים ליציאה מספר 3 בארדואינו.
  • את חיבור ה GND בבלוטוס - מחברים לחיבור ה GND בארדואינו.
  • את חיבור ה VCC בבלוטוס - מחברים ל 3.3V בארדואינו. 
בנוסף: 
  • מחברים נורת לד: את הרגל הארוכה מחברים ליציאה מספר 13, את הרגל הקצרה ל GND. 
מעלים את הקוד: 


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

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

שלב 1:


התחברו לבלוטוס - לחצו על HC-06 או על התקן בלוטוס אחר בלתי מזוהה שמופיע באפליקציה. הסיסמא של ההתקן היתה אצלי, כמה צפוי, 1234. יתכן שתתקלו בסיסמא שגויה ואז תאלצו לנסות את ברירת המחדל החילופית - 0000.

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

שלב 2:


בחרו באחד המסכים ולחצו על Edit. ממליץ ללחוץ על אחד המסכים הריקים שמצד ימין.

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




לחצו כל Edit (בצד ימין למטה) כדי לערוך את האות ששולח הכפתור: 


הארדואינו שלנו כרגע מתוכנן לקבל M (גדולה!!!) כדי לעבוד. שימו לב שהוא לא יעבוד עם m קטנה!!!

את השורה השנייה תוכלו למלא אקראית באות כלשהי שאינה M. 

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


בלחיצה בודדת, הנורה אמורה להידלק ואילו בלחיצה הבאה הנורה אמורה לכבות. 

זהו להיום.. 

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

בהצלחה!!

יום ראשון, 10 בספטמבר 2017

Makey Makey

Makey Makey הוא לוח שהופך כל פעולה במחשב לנחמדה יותר או שמא נאמר - מוזרה יותר...

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

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

דוגמא? בבקשה:




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

הלוח הבסיסי והמוכר הוא הלוח הזה:


אל הלוח מחברים חוטים עם "תנינים":



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

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

תראו למשל את הנגינה בפסנתר האנושי:


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

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


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

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

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

כך נראה ה shield של ה Makey Makey כאשר הוא כבר מחובר לארדואינו אונו.



בקיצור - ה Makey Makey זה עולם שלם עם אפשרויות מגוונות מאד ורק פתחנו אותו קצת והשמיים הם הגבול...