- רכיבים נדרשים
- מד תאוצה ADXL335
- תרשים מעגל
- איך מד צעדים עובד?
- תכנות את דלפק הצעדים של Arduino
- בדיקת מד צעדים של ארדואינו
להקות כושר הופכות פופולריות מאוד בימינו, שלא רק סופרות את הצעדים אלא גם עוקבות אחר הקלוריות שנשרפו, מציגות קצב פעימות לב, זמן הופעה ורבים נוספים. ומכשירי ה- IoT הללו מסונכרנים עם הענן כך שתוכלו לקבל בקלות את כל ההיסטוריה של הפעילות הגופנית שלכם בסמארטפון. בנינו גם מערכת ניטור חולים מבוססת IoT בה הנתונים הקריטיים נשלחו ל- ThingSpeak כדי להיות במעקב מכל מקום.
מד צעדים הם המכשירים ששימשו רק לספירת צעדים. אז במדריך זה, אנו הולכים לבנות מד צעדים DIY קל וזול באמצעות ארדואינו ומד תאוצה. מד צעדים זה יספור את מספר הצעדים ויציג אותם במודול LCD בגודל 16x2. מד צעדים זה יכול להיות משולב עם שעון חכם זה Arduino.
רכיבים נדרשים
- ארדואינו ננו
- מד תאוצה ADXL 335
- 16 * 2 LCD
- מודול LCD I2C
- סוֹלְלָה
מד תאוצה ADXL335
ADXL335 הוא מד תאוצה אנלוגי שלם עם 3 צירים, והוא עובד על פי עקרון החישה הקיבולית. זהו מודול קטן ודק, בעל צריכת חשמל נמוכה עם חיישן מכונה מיקרו-משטח-מיקרו ומעגלי מיזוג אותות. מד תאוצה ADXL335 יכול למדוד את התאוצה הסטטית וגם את התאוצה הדינמית. כאן בפרויקט מד צעדים זה של ארדואינו, מד התאוצה ADXL335 ישמש כחיישן מד צעדים.
Accelerometer הוא מכשיר אשר יכול להמיר אצה בכל כיוון כדי המתח משתנה בהתאמה שלה. זה נעשה באמצעות קבלים (עיין בתמונה), כאשר תנועת התא, הקבל הנמצא בתוכו, יעבור גם שינויים (עיין בתמונה) בהתבסס על התנועה, מכיוון שהקיבול הוא מגוון, ניתן גם לקבל מתח משתנה.
להלן התמונות עבור תאוצה מהצד הקדמי והאחורי יחד עם תיאור הסיכה-
תיאור סיכה של מד התאוצה:
- Vcc- אספקת 5 וולט צריכה להתחבר בסיכה זו.
- X-OUT- סיכה זו נותנת פלט אנלוגי בכיוון x
- Y-OUT- סיכה זו נותנת פלט אנלוגי לכיוון y
- Z-OUT- סיכה זו נותנת פלט אנלוגי בכיוון z
- GND- קרקע
- ST- סיכה זו משמשת להגדרת הרגישות של החיישן
אנו בונים פרויקטים רבים באמצעות Accelerometer ADXL335 כולל רובוט מבוקר תנועה, אזעקת גלאי רעידות אדמה, משחק פינג פונג וכו '.
תרשים מעגל
דיאגרמת מעגלים עבור מונה צעדים למאיץ של ארדואינו מוצגת להלן.
במעגל זה אנו מתממשקים עם Arduino Nano עם ADXL335 Accelerometer. סיכות X, Y ו- Z של מד התאוצה מחוברות עם סיכות אנלוגיות (A1, A2 ו- A3) של Arduino Nano. כדי לממשק מודולי LCD 16x2 עם Arduino, אנו משתמשים במודול I2C. סיכות SCL ו- SDA של מודול I2C מחוברות לסיכות A5 ו- A4 של Arduino Nano, בהתאמה. החיבורים המלאים ניתנים בטבלה שלהלן:
ארדואינו ננו | ADXL335 |
3.3 וולט | VCC |
GND | GND |
A1 | איקס |
A2 | י |
A3 | ז |
ארדואינו ננו | מודול LCD I2C |
5V | VCC |
GND | GND |
A4 | SDA |
A5 | SCL |
בנינו לראשונה מד צעדים זה באמצעות התקנת Arduino על קרש לחם
ולאחר בדיקה מוצלחת שכפלנו אותו על Perfboard על ידי הלחמה של כל הרכיבים ב- Perfboard כמוצג להלן:
איך מד צעדים עובד?
מד צעדים מחשב את מספר הצעדים הכולל שעושה אדם באמצעות שלושת מרכיבי התנועה שהם קדימה, אנכית וצדדית. מערכת מד הצעדים משתמשת במד תאוצה כדי להשיג ערכים אלה. מד התאוצה מעדכן ברציפות את הערכים המקסימליים והמינימליים של האצה בת 3 הצירים לאחר כל מספר מוגדר. של דגימות. הערך הממוצע של צירים תלת-ממדיים אלה (מקס + מינימום) / 2 נקרא רמת סף דינמית, וערך סף זה משמש להחלטה אם הצעד נעשה או לא.
בזמן הריצה מד צעדים יכול להיות בכל כיוון, ולכן מד צעדים מחשב את הצעדים באמצעות הציר ששינוי התאוצה שלו הוא הגדול ביותר.
עכשיו תן לי לתת לך דרך מהירה על העבודה של מד צעדים זה של ארדואינו:
- ראשית מד צעדים מתחיל את הכיול ברגע שהוא מופעל.
- ואז בפונקציית הלולאה הריקנית היא מקבלת ברציפות את הנתונים מ- X, Y ו- Z.
- לאחר מכן, הוא מחשב את וקטור התאוצה הכולל מנקודת ההתחלה.
- וקטור התאוצה הוא השורש הריבועי (x ^ 2 + y ^ 2 + z ^ 2) של ערכי ה- X, Y ו- Z.
- ואז הוא משווה את ערכי התאוצה הממוצעים עם ערכי הסף כדי לספור את מספר הצעד.
- אם וקטור ההאצה חוצה את ערך הסף, הוא מגדיל את ספירת הצעדים; אחרת, הוא משליך את התנודות הפסולות.
תכנות את דלפק הצעדים של Arduino
הקוד המלא של Arduino Step Counter ניתן בסוף מסמך זה. כאן אנו מסבירים כמה קטעים חשובים מקוד זה.
כרגיל, התחל את הקוד על ידי הכללת כל הספריות הנדרשות. מד תאוצה ADXL335 אינו דורש שום ספריה מכיוון שהוא נותן פלט אנלוגי.
#לִכלוֹל
לאחר מכן, הגדירו את סיכות הארדואינו, היכן שמחובר תאוצה.
const int xpin = A1; const int ypin = A2; const int zpin = A3;
הגדר את ערך הסף עבור מד התאוצה. ערך סף זה יושווה עם וקטור ההאצה כדי לחשב את מספר הצעדים.
סף צף = 6;
בתוך הגדרת הריק , פונקציה מכיילת את המערכת כשהיא מופעלת.
לְדַרֵג();
בתוך פונקציית הלולאה הריקנית היא תקרא את ערכי ציר ה- X, ה- Y וה- Z עבור 100 דגימות.
עבור (int a = 0; a <100; a ++) {xaccl = float (analogRead (xpin) - 345); עיכוב (1); yaccl = float (analogRead (ypin) - 346); עיכוב (1); zaccl = float (analogRead (zpin) - 416); עיכוב (1);
לאחר קבלת ערכי 3 הצירים, חישב את וקטור ההאצה הכולל על ידי לקיחת השורש הריבועי של ערכי X, Y ו- Z.
totvect = sqrt ((((xaccl - xavg) * (xaccl - xavg)) + ((yaccl - ygg) * (yaccl - yavg)) + ((zval - zavg) * (zval - zavg)));
לאחר מכן חישב את הממוצע של ערכי וקטור ההאצה המקסימלי והמינימלי.
totave = (totvect + totvect) / 2;
עכשיו השווה את התאוצה הממוצעת עם הסף. אם הממוצע גדול מהסף, הגדל את ספירת הצעדים והניף את הדגל.
אם (totave> סף && דגל == 0) {צעדים = צעדים + 1; דגל = 1; }
אם הממוצע גדול מהסף אך הדגל מונף, אז אל תעשו כלום.
אחרת אם (totave> סף && דגל == 1) {// אל תספור}
אם הממוצע הכולל נמוך מהסף והדגל מונף, הניחו את הדגל.
אם (totave <סף && דגל == 1) {דגל = 0; }
הדפיסו את מספר הצעדים על צג סדרתי ו- LCD.
Serial.println (צעדים); lcd.print ("צעדים:"); lcd.print (צעדים);
בדיקת מד צעדים של ארדואינו
לאחר שהחומרה והקוד מוכנים, חבר את Arduino למחשב הנייד והעלה את הקוד. עכשיו קח את הגדרת מד הצעד בידיים שלך והתחל ללכת צעד אחר צעד, הוא אמור להציג את מספר הצעדים על גבי LCD. לפעמים זה מגדיל את מספר הצעדים כאשר מד צעדים רוטט מהר מאוד או לאט מאוד.
הווידאו והעבודה המלאים של מד צעדים ADXL335 Arduino מובאים להלן.