תוכן עניינים:
- שלב 1: הגדרה וכיול של MPU6050
- שלב 3: שילוב החיישנים בארדואינו
- שלב 4: שליחת נתונים לענן
- שלב 5: שימוש בשני מכשירים בו זמנית
- שלב 6: שיפורים, הערות ותוכניות עתידיות
וִידֵאוֹ: גשש ריצה IDC2018 IOT: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
את הרעיון הזה יצאנו במסגרת קורס "אינטרנט של דברים" במרכז הבינתחומי הרצליה.
מטרת הפרויקט היא לשפר את הפעילות הגופנית הכוללת ריצה או הליכה באמצעות NodeMCU, כמה חיישנים ושרת יכול. התוצאה של פרויקט זה היא מכשיר IOT שימושי מאוד שניתן להפוך בעתיד למוצר ייצור אמיתי שישמש בכל מקום! אנא יידע אותנו מה דעתך:)
לפני שתתחיל, ודא שיש לך:
* מכשיר NodeMCU.
* חיישן פיזואלקטרי אחד.
* חיישן MPU6050.
* מטריצה אחת גדולה.
* חבל אלסטי.
* חשבון Firebase.
אופציונאלי:
* חיישן פיזואלקטרי מרובה
* מרבב
שלב 1: הגדרה וכיול של MPU6050
"טוען =" עצלן"
הוראות:
- חבר את הפיצו עם נגד 1M (ראה תמונה מצורפת).
- העלה את הסקיצה המצורפת.
- חבר את המכשיר לרגל אחת באמצעות החבל האלסטי.
- פתח את "plotter serial".
- צפו בסרטון המצורף לשלב זה.
שלב 3: שילוב החיישנים בארדואינו
ראינו כיצד לכייל את החיישנים, כעת אנו הולכים לשלב את שני החיישנים ב- NodeMCU!
- חבר את שני החיישנים למכשיר, השתמש באותם סיכות כמו שלבים 1+2.
- טען את הסקיצה המצורפת.
- חבר את המכשיר עם 2 החיישנים לרגל אחת.
- פתח את "plotter serial".
- צפו בסרטון המצורף.
שלב 4: שליחת נתונים לענן
בשלב זה נחבר את המכשיר שלנו לענן ונשלח נתונים לראות כמה תרשימים מדהימים!
נשתמש בפרוטוקול MQTT ונשלח נתונים לשרת חינמי בשם "Adafruit".
הערה: Adafruit אינה תומכת בשליחת נתונים כמה פעמים בכל שנייה, היא פועלת בקצב איטי יותר, ולכן נשלח ממוצע של נקודות הנתונים שלנו, ולא את נקודות הנתונים עצמן. אנו נהפוך את הנתונים משני החיישנים שלנו לנתונים ממוצעים באמצעות השינויים הבאים:
* זמן זיהוי הצעדים יתהפך לשלבים לדקה. ניתן למצוא כל משך שלב על ידי (millis () - step_timestamp), וניתן לבצע את הממוצע באמצעות מסנן, כפי שראינו קודם: val = val * 0.7 + new_val * 0.3.
* כוח המדרגה יהפוך לעוצמת צעד ממוצעת. נשתמש באותה מתודולוגיה של שימוש ב"מקס "לכל שלב, אך נשתמש במסנן לביצוע ממוצע באמצעות ממוצע המסנן = ממוצע * 0.6 + new_val * 0.4.
הוראות:
- היכנס לאתר של Adafruit בכתובת io.adafruit.com וודא שיש לך חשבון.
- צור לוח מחוונים חדש, תוכל לקרוא לו בשם "גלאי הצעדים שלי".
- בתוך לוח המחוונים, לחץ על כפתור + ובחר "תרשים קווים", וצור פיד בשם "צעד_הפעלה_דקה".
- בתוך לוח המחוונים, לחץ על הלחצן + ובחר "תרשים קווים", וצור פיד בשם "ממוצע_ צעד_ כוח".
- כעת אתה אמור לראות 2 תרשימים ריקים עבור כל אחד מהשדות.
- השתמש בסקיצה המצורפת והגדר את התצורה הבאה:
USERNAME = שם המשתמש שלך ב- Adafruit.
מפתח = מפתח Adafruit שלך
WLAN_SSID = שם WIFI
WLAN_PASS = כרטיס WIFI
mpuStepThreshold = סף משלב 2
לאחר מכן תוכל לחבר את המכשיר לרגל אחת והשרטוט ישלח נתוני צעדים לשרת!
שלב 5: שימוש בשני מכשירים בו זמנית
בשלב זה נדמה 2 אנשים שהולכים עם המכשיר באותו זמן!
נשתמש בשני מכשירים שונים - עם אותן נקודות נתונים כפי שהוסבר בשלב 4.
אז זה ממש קל, יש 3 משימות פשוטות:
1) צור הזנות נוספות לנתונים מהמכשיר השני, אנו ממליצים לתת תיקון לאחר של "_2"
2) שנה את הבלוקים בלוח המחוונים כדי להציג נתונים משני הזנות.
3) שנה את שם ההזנות בסקיצה של המכשיר השני.
4) צפו בתוצאות!
הערה:
Adafruit מתנגדים לנתונים שמגיעים מהר מדי, ייתכן שיהיה צורך להתאים את התדירות שבה נשלחים נתונים לשרת. לעשות זאת על ידי מציאת הסקיצה הבאה:
/ / שלח כל 5 שניות לא יעלה על המגבלה של Adafruit למשתמשים בחינם. // אם אתה משתמש ב- premium או בשרת משלך, אל תהסס לשנות. // בכל פעם שלח נקודת נתונים מתחלפת. if (millis () - lastTimeDataSent> 5000) {
שלב 6: שיפורים, הערות ותוכניות עתידיות
האתגר העיקרי:
האתגר העיקרי בפרויקט היה בדיקת ה- NodeMCU בפעילות גופנית. כבל ה- USB מתנתק לעתים קרובות, וכאשר מנסים לנוע במהירות יכולות להיות בעיות של ניתוק סיכות. פעמים רבות ניסינו לאתר ניפוי קוד שעובד בפועל, והבעיה הייתה בתחום הפיזי.
התגברנו על האתגר הזה על ידי נשיאת המחשב הנייד קרוב לרץ, וכתיבת כל פיסת קוד בכל פעם.
אתגר נוסף היה לגרום לרכיבים השונים לפעול בצורה חלקה:
- הפאיזו עם המאיץ: התרשמתי מזה כפי שתואר בשלב 3, על ידי רעיון יצירתי שהיה לנו.
- החיישנים עם השרת: כמתואר בשלב 4, הפכנו את הערכים לערכים אחרים אותם ניתן לשלוח לשרת בקצב איטי יותר.
מגבלות המערכת:
- צריך כיול לפני השימוש.
- צריך להפוך למוצר נוקשה יותר, שלא נשבר בקלות בפעילות גופנית.
- החיישן הפיזואלקטרי אינו מדויק במיוחד.
- צריך חיבור wifi כלשהו. (נפתר בקלות באמצעות נקודה חמה של טלפון סלולרי)
תוכניות עתידיות
כעת, כשיש לנו מכשיר לניטור רגליים שעובד במלואו, יש שיפורים נוספים שניתן לבצע!
פיז'ו מרובים!
- חבר פיאז לאזורים שונים בכף הרגל.
- השתמש במרבב מכיוון ש NodeMCU תומך בסיכה אנלוגית אחת בלבד.
- יכול להציג מפת חום של כף הרגל לתיאור אזורי השפעה.
- יכול להשתמש בנתונים אלה כדי ליצור התראות על יציבה לא נכונה ואיזון הגוף.
מכשירים רבים!
- הראינו לך כיצד לחבר 2 מכשירים בו זמנית, אך תוכל לחבר 22 פיצות ל -22 שחקני כדורגל!
- ניתן לחשוף את הנתונים במהלך המשחק כדי להציג כמה מדדים מעניינים על השחקנים!
חיישנים מתקדמים
השתמשנו בפייזו ומד תאוצה, אך ניתן להוסיף מכשירים אחרים שיעשירו את הפלט ויתנו נתונים נוספים:
- עצלות מדויקות לאיתור צעדים.
- מדוד את המרחק בין כף הרגל לאדמה.
- מדוד מרחק בין שחקנים שונים (במקרה של מספר מכשירים)
מוּמלָץ:
האם ריצה משפיעה על מסת הרגליים: 13 שלבים
האם ריצה משפיעה על מסת הרגל: האם ריצה משפיעה על מסת הרגל/גודל?
רובוט של 18 $ - ריצה מלאה תוך שעתיים: 4 שלבים
רובוט של 18 $ - ריצה מלאה תוך שעתיים: זה היה כיף! לאחרונה נתקלתי בערכה קטנה של חלקי רובוט שמשך את תשומת ליבי כי זה היה כל כך זול. על פי הערכה כל החלקים (גלגלים, גוף, כבל, CONTROLLER!, …) כלולים. למען האמת הייתי פסימי וחשבתי שזה יכול להיות
מעיל ריצה LED: 12 שלבים
מעיל ריצה LED: מעיל זה נועד לסייע לרצים להיות גלויים יותר בעת ריצה בתנאי תאורה חלשים. נוריות LED אדומות נשארות דולקות עד לכבות, נוריות הלבן מהבהבות בעת ריצה (או כאשר מזוהה תנועה אחרת)
גשש GPS LTE Arduino + לוח מחוונים IoT (חלק 1): 6 שלבים (עם תמונות)
LTE Arduino GPS Tracker + לוח מחוונים IoT (חלק 1): מבוא מה קורה חבר'ה! מדריך זה הוא המשך של ההוראה הראשונה שלי על השימוש במגן LTE/NB-IoT של Botletics עבור Arduino, כך שאם עדיין לא עשית זאת, אנא קרא אותו כדי לקבל סקירה טובה של אופן השימוש במגן ומהו הכול ab
גשש GPS LTE Arduino + לוח מחוונים IoT (חלק 2): 6 שלבים (עם תמונות)
גשש GPS LTE Arduino + לוח מחוונים IoT (חלק 2): מבוא & חלק 1 Recap Yup, הגיע הזמן לעוד הוראה על גשש ה- GPS SIM7000 עם Arduino ו- LTE! אם עדיין לא עשית זאת, עיין במדריך תחילת העבודה עבור מגן ה- SIM7000 CAT-M/NB-IoT של Botletics ואז קרא על Pa