PracticU

Accelerometer

בלי כתוביותעם כתוביות
PracticU › קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון › Accelerometer
מילון מושגים:
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
תגית - סימון בקוד, למשל ב-HTML, שתוחם רכיב ומגדיר את תפקידו או תכונותיו. גם תווית לסימון וקיטלוג פריטים.
jQuery - ספריית JavaScript ותיקה שמפשטת את הגישה לרכיבי הדף, אירועים ואנימציות בדפדפן.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.

Accelerometer
השיעור מציג את רכיב האקסלרומטר שבטלפון הנייד, שמודד תזוזה לאורך שלושה צירים: X, Y ו-Z. בעזרת PhoneGap אפשר לקבל את הנתונים האלה ולבנות משחקים ואפליקציות שמגיבות לתנועה של המשתמש.
השלבים העיקריים
1. קבלת תאוצה חד-פעמית: הפונקציה navigator.accelerometer.getCurrentAcceleration מחזירה את התאוצה הנוכחית. היא מקבלת פונקציה להצלחה ופונקציה לכישלון.
2. הצגת הערכים: הערכים של X, Y ו-Z מוצגים בתוך תגית בעמוד, יחד עם חותמת זמן של שעה, דקה ושנייה. הכתיבה לתגית נעשית עם jQuery.
3. דגימה לאורך זמן: הפונקציה watchAcceleration דוגמת את התאוצה בקצב קבוע, והקצב נקבע באובייקט JSON.
4. בדיקה בסימולטור: בסימולטור אפשר להזיז את הטלפון הוירטואלי ולראות את הערכים משתנים, וגם להפעיל הדמיה של ניעור.
איך זה עובד
כשהטלפון עומד ישר, ציר Y מראה בערך 9.81, שהוא כוח המשיכה, וצירים X ו-Z מראים אפס. ערך של אפס בציר מסוים פירושו שאין תזוזה לאורכו.
פקודות והגדרות
- navigator.accelerometer.getCurrentAcceleration(success, error)
- navigator.accelerometer.watchAcceleration(success, error, { frequency: 1000 }) - דגימה כל 1000 מילישניות.
בסיום השיעור יש בידיכם דרך לקרוא את תזוזת הטלפון ולהשתמש בה באפליקציה.
השיעור הבא בקורס: מצפן - Compass

פרקי ההרצאה: Accelerometer

  1. 00:00

    רכיב ה-Accelerometer

  2. 01:31

    גישה ל-getCurrentAcceleration

  3. 02:51

    הצגת התאוצה על הצירים

  4. 05:57

    הצגת ההודעה וטיפול בשגיאה

  5. 07:05

    משמעות הערכים וכוח המשיכה

  6. 08:03

    הדמיית תזוזה באמולטור

תמלול ההרצאה: Accelerometer

הטקסט המלא של הדקות הראשונות בהרצאה «Accelerometer» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

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

  2. 00:30

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

  3. 01:11

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

  4. 01:44

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

  5. 02:25

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

  6. 02:47

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

  7. 03:36

    איך אנחנו עושים את זה? אז ראשית בואו ניקח משתנה DATE מפני שהמערכת נותנת לנו גם את ה-TIME סטאמפ חתימה של הזמן שזה יתבצע אז יש לנו כאן את האקסלריישן טיים סטאמפ ניקח פה איזשהו הודעה ונחשום פה נניח x-acceleration וזה יהיה acceleration x. בואו נרד בשורה ונשכפל את זה ארבע פעמים.

  8. 04:36

    יש לנו פה y-acceleration כאן אנחנו הולכים להציג את התאוצה על ציר y יש לנו z-acceleration פה אנחנו הולכים להציג את התאוצה על ציר z ולבסוף יש לנו אלה רק אותיות קטנות לא להתבלבל והכל case sensitive ולבסוף יש לנו את הטיימסטאמפ שאנחנו הולכים להציג סתימה של הזמן שבה קיבלנו את הנתונים האלה.

  9. 05:18

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

  10. 05:53

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

  11. 06:15

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

  12. 06:59

    אנחנו רואים שעל ציר X אנחנו באפס תזוזה, על ציר Y אנחנו ב-9.81 ועל ציר Z אנחנו באפס וזאת השעה שקיבלנו את הנתונים. אם על ציר X אנחנו באפס, זה אומר שאין תזוזה על ציר X.

  13. 07:20

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

  14. 07:35

    אם אנחנו על 9.81 על ציר Y, זה אומר שאנחנו על הציר האנכי בצורה נייחת, כלומר לא זזים על הציר האנכי. והשאלה זה למה על הציר האנכי 9.81 זה אומר שאין תזוזה?

  15. 07:56

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

  16. 08:15

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

לקורס המלא: קורס PhoneGap אונליין

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

ההרצאה הבאה: מצפן - Compass

הרצאות קשורות מקורסים אחרים

  • חיישן Accelerometer

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון