יום רביעי, 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. להחליף את החוטים - הבחירה שלי: באחת היציאות (זו שהורכבה הפוך) החלפתי בין המינוס לפלוס: את החוט האדום שיוצא מאחד המנועים - הרכבתי ליציאת המינוס הדרייבר ואת החוט השחור מאותו המנוע הרכבתי ביציאת הפלוס הדרייבר. את המנוע השני הרכבתי "רגיל".

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




אין תגובות:

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

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

נשמח לשמוע!

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