תוכן עניינים:

תצוגת Ergometer פשוטה המבוססת על ארדואינו עם משוב דיפרנציאלי: 7 שלבים (עם תמונות)
תצוגת Ergometer פשוטה המבוססת על ארדואינו עם משוב דיפרנציאלי: 7 שלבים (עם תמונות)

וִידֵאוֹ: תצוגת Ergometer פשוטה המבוססת על ארדואינו עם משוב דיפרנציאלי: 7 שלבים (עם תמונות)

וִידֵאוֹ: תצוגת Ergometer פשוטה המבוססת על ארדואינו עם משוב דיפרנציאלי: 7 שלבים (עם תמונות)
וִידֵאוֹ: אופני כושר זולים, אופני כושר מגנטיים עם משענת BIOCOR 9500R: ספורטל 2024, נוֹבֶמבֶּר
Anonim
תצוגת Ergometer פשוטה מבוססת Arduino עם משוב דיפרנציאלי
תצוגת Ergometer פשוטה מבוססת Arduino עם משוב דיפרנציאלי
תצוגת Ergometer פשוטה מבוססת Arduino עם משוב דיפרנציאלי
תצוגת Ergometer פשוטה מבוססת Arduino עם משוב דיפרנציאלי
תצוגת Ergometer פשוטה מבוססת Arduino עם משוב דיפרנציאלי
תצוגת Ergometer פשוטה מבוססת Arduino עם משוב דיפרנציאלי

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

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

אם זה נשמע קצת מופשט, עברו לשלב 7 לפרטים על מה שתראה התצוגה שהושלמה

מטרה נוספת של הפרויקט היא לשמור על דברים פשוטים וזולים באמת. תלוי היכן אתה מזמין את החלקים שלך, אתה יכול להשלים את הפרויקט הזה בסביבות 5 $ (או בערך 30 $ בעת הזמנה ממוכרים מקומיים), ואם שיחקת עם סביבת Arduino בעבר, יש סיכוי טוב למדי שכבר יש לך את רוב החלקים שאתה צריך.

שלב 1: רשימת חלקים

רשימת חלקים
רשימת חלקים

נעבור על רשימת הדברים שאתה צריך:

מעבד תואם Arduino

כמעט כל Arduino שנמכר בשנים האחרונות יעשה. הגרסה המדויקת (Uno / Nano / Pro Mini, 8 או 16 MHz, 3.3. או 5V) לא משנה. עם זאת, תזדקק למעבד ATMEGA328 ומעלה, מכיוון שנשתמש בכמעט 2k של זיכרון RAM ו- 1k של EEPROM. אם אתה מכיר את כל הפרטים והעוצרים של עולם הארדואינו, אני ממליץ להשתמש ב- Pro Mini במהירות 3.3V, מכיוון שהוא יהיה הזול ביותר והיעיל ביותר בסוללה. אם אתה חדש (יחסית) בארדואינו, אני ממליץ על "ננו" מכיוון שהוא מספק את אותה פונקציונליות כמו "אונו" באריזה קטנה וזולה יותר.

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

מסך 128*64 פיקסל SSD1306 OLED (גרסה I2C, כלומר ארבעה סיכות)

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

  • "קרש לחם ללא הלחמה" וקצת חוט מגשר לבניית אב הטיפוס שלך
  • קבל קרמיקה 100nF (ייתכן שיהיה צורך בו, אולי ראה שלב 4)
  • או כמה קליפים, או מגנט, מתג קנים וכבל כלשהו (ראה שלב 4)
  • נורית אדומה וירוקה, כל אחת (אופציונלי; ראה שלב 5)
  • שני נגדים של 220 אוהם (אם משתמשים בנורות הלדים)
  • כפתור לחיצה (גם אופציונלי)
  • סוללה מתאימה (ראה שלב 6)

שלב 2: חיבור הצג

חיבור הצג
חיבור הצג

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

  1. תצוגת VCC -> Arduino 3.3V או 5V (כל אחד יעשה זאת)
  2. תצוגה Gnd -> Arduino Gnd
  3. תצוגת SCL -> Arduino A5
  4. תצוגת SCA -> ארדואינו A4

לאחר מכן, בסביבת ה- Arduino שלך עבור אל סקיצה-> כלול ספרייה-> נהל ספריות והתקן את "Adafruit SSD1306". למרבה הצער, יהיה עליך לערוך את הספרייה על מנת להגדיר אותה עבור גרסת 128*64 פיקסלים: אתר את תיקיית "הספריות" של arduino שלך, וערוך את "Adafruit_SSD1306/Adafruit_SSD1306.h". חפש את "#define SSD1306_128_32", השבת את השורה הזו והפעל את "#define SSD1306_128_64", במקום זאת.

בשלב זה עליך לטעון קובץ-> דוגמאות-> Adafruit SSD1306-> ssd1306_128x64_i2c על מנת לבדוק שהתצוגה שלך מחוברת, כהלכה. שים לב כי ייתכן שיהיה עליך להתאים את כתובת I2C. נראה שהערך הנפוץ ביותר הוא 0x3C.

במקרה של בעיות, עיין בהוראות המפורטות יותר.

שלב 3: העלה את הסקיצה

אם הכל עבד, עד כה, הגיע הזמן להעלות את הסקיצה בפועל לארדואינו שלך. תמצא עותק של המערכון למטה. לגרסה שעשויה להיות עדכנית יותר, עיין בדף פרוייקט github. (מכיוון שמדובר בסקיצת קובץ אחת, מספיק פשוט להעתיק את הקובץ erogmetrino.ino לחלון ה- Arduino שלך).

אם היית צריך לשנות את כתובת I2C בשלב הקודם, יהיה עליך לבצע את אותה ההתאמה, שוב, כעת, בשורה המתחילה ב- "display.begin".

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

שים לב שכבר בהתחלה הראשונה, הצג יהיה איטי למדי להאיר (עשוי להימשך עד כעשר שניות), מכיוון שהסקיצה תאפס את כל הנתונים המאוחסנים ב- EEPROM.

שלב 4: חיבור מד המרחק

חיבור Ergometer
חיבור Ergometer

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

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

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

חבר את שני החוטים (אם זה שלך, או אלה מחיישן קיים) יעברו ל- Arduino Gnd ול- Arduino pin D2. אם יש לך אחד בהישג יד, חבר גם את הקבל 100nF בין סיכה D2 ל- Gnd לצורך "התנתקות". זה עשוי להיות נחוץ ואולי לא, אך עוזר לייצב את הקריאות.

כשתסיים, הגיע הזמן להפעיל את הארדואינו שלך ולקפוץ על האופניים לבדיקה מהירה ראשונה. המספר השמאלי העליון צריך להתחיל להציג מדד מהירות. אם זה לא עובד, בדוק את כל החיווט וודא שהמגנט קרוב מספיק למתג הקנה. אם מדידת המהירות נראית בעקביות גבוהה מדי או נמוכה מדי, פשוט התאם את ההגדרה "CM_PER_CLICK" ליד החלק העליון של הסקיצה (הערה: הסקיצה משתמשת בשמות מדדיים, אך לא מוצגות או נשמרות יחידות בשום מקום, אז פשוט תתעלם מזה, ו לספק 100.000 של מייל לקליק).

שלב 5: נוריות מצב מהירות אופציונליות

נורות מצב סטטוס מהירות אופציונליות
נורות מצב סטטוס מהירות אופציונליות

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

  • חבר את הנורית הראשונה (האדומה) לסיכה D6 (הרגל הארוכה יותר של ה- LED עוברת ל- Arduino). חבר את הרגל הקצרה של ה- LED ל- Gnd באמצעות נגד של 220 אוהם. נורית LED זו תדלק כאשר אתה נמצא 10% או יותר מתחת למהירות הטובה ביותר שלך בשלב הנוכחי של האימון. הגיע הזמן להתאמץ עוד!
  • חבר את הנורית השנייה (הירוקה) לסיכה D5, שוב עם הנגד ל- Gnd. נורית LED זו תדלק כאשר אתה נמצא בתוך 1%ומעלה מהריצה הטובה ביותר שלך. אתה עושה טוב!

אתה רוצה שהנוריות יידלקו בהתאם לדרכך בהשוואה לריצה הקודמת שלך, או למהירות ממוצעת שרירותית? ובכן, פשוט חבר כפתור בין סיכה D4 ל- Gnd. באמצעות כפתור זה תוכל להחליף את ההתייחסות בין "הריצה הטובה ביותר שלך", "הריצה הקודמת שלך" או "המהירות הנוכחית שלך". אות קטנה "P" או "C" בפינה השמאלית התחתונה תסמן את שני המצבים האחרונים.

שלב 6: הפעלת צג הארגומטר שלך

הפעלת צג הארגומטר שלך
הפעלת צג הארגומטר שלך

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

  1. בעת שימוש ב- Arduino Uno או Nano, סביר להניח שתרצה להפעיל אותו באמצעות בנק כוח USB עם אינדיקציה מובנית לסוללה חלשה.
  2. כשאתה משתמש ב- Arduino Pro Mini @ 3.3V (ההמלצה שלי למשתמשים מתקדמים), תוכל להפעיל אותו ישירות מסוללת LiPo אחת, או משלושה תאי NiMH. מכיוון שה- ATMEGA יסבול מתחי אספקה עד 5.5V, תוכל לחבר זאת ל- "VCC/ACC", ישירות, תוך עקיפת וסת המתח המשולב. במערך זה, תהיה גם אזהרת "סוללה חלשה" בסביבות 3.4V, ללא חומרה נוספת (מוצגת בפינה הימנית התחתונה). מכיוון שניתן לצפות שה- ATMEGA יפעל כראוי, לפחות עד 3.0V בערך, זה אמור להשאיר לך מספיק זמן לסיים את יחידת האימון לפני הטעינה.

שלב 7: שימוש בצג הארגומטר שלך

שימוש בצג הארגומטר שלך
שימוש בצג הארגומטר שלך
שימוש בצג הארגומטר שלך
שימוש בצג הארגומטר שלך

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

השורה הבאה היא המהירות הממוצעת שלך מאז תחילת האימון (משמאל), והזמן מאז תחילת האימון (מימין). שימו לב שהתזמון מופסק בזמן שהאופניים נעצרים.

עד כאן כל כך טריוויאלי. שני הקווים הנוספים בצד ימין הם המקום שבו זה נהיה מעניין: אלה משווים את התזמון הנוכחי שלך לאימון הקודם והטוב ביותר שלך, בהתאמה. כְּלוֹמַר. a "- 0:01:23" בחלק העליון של שורות אלה אומר שהגעת למרחק הנוכחי שלך דקה ו -23 שניות מוקדם יותר מאשר בריצה הקודמת שלך. טוֹב. שורה תחתונה של "+ 0:00:12" פירושה שעד לנקודה הנוכחית אתה מפגר 12 שניות אחרי הריצה הטובה ביותר שלך. (שים לב שזמני ההפרש הללו לא יהיו מדויקים ב -100%. נקודות הזמן מאוחסנות כל.5 קמ / מייל, ומעובדות ביניהן.) כמובן, כמובן, בריצה הראשונה שלך, עדיין לא נרשמו הפניות לזמן, ו כך ששתי השורות שלעיל יציגו "-:-:-".

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

נוריות ה- LED המותקנות ליד החלק העליון משוות את המהירות הנוכחית שלך למהירות הטובה ביותר שלך במהלך שלב זה של האימון. ירוק מראה שאתה נמצא בתוך 1% מהטובים שלך, אדום מראה שאתה איטי יותר מ -10% מהאימון הטוב ביותר שלך. כאשר אתה רואה את האור האדום, הגיע הזמן להתאמץ עוד יותר. שים לב שבניגוד לזמנים ההפרשיים שתוארו לעיל, אלה מתייחסים לחלק הנוכחי של האימון, רק, כלומר, ייתכן שאתה מפגר בזמן אבסולוטי, אך מופעים ירוקים שאתה מדביק, ולהיפך.

ניתן לשנות את מהירות ההתייחסות המשמשת את שני הלדים באמצעות לחצן הלחיצה. לחיצה אחת תעביר אותו מהאימון הטוב ביותר שהוקלט קודם (אות קטנה "P" תופיע בפינה השמאלית התחתונה). לחיצה נוספת והמהירות הנוכחית שלך בעת לחיצה על הכפתור יהפכו למהירות ההתייחסות החדשה (אות קטנה "C" תופיע). האחרון שימושי במיוחד במהלך האימון הראשון שלך עם תצוגת הארגומטר החדשה שלך, כאשר עדיין לא נרשמה התייחסות.

בסיום האימון, פשוט נתק את הסוללה. האימון שלך כבר נשמר ב- EEPROM הפנימי של ה- Arduino שלך.

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

מוּמלָץ: