לא האתר לגיוס מימון המונים, אלא פרויקט יוצא דופן (מבחינתי) שהכנתי לתחרות פרויקטים של האתר ICstation.com: מערכת בשני חלקים, שמודדת – ובשאיפה גם עוזרת לשפר – את מהירות התנועה ומהירות התגובה בעבודה מול שק איגרוף. הנה סרטון עם הדגמה של המערכת בשטח, ולאחר מכן ההסברים.
הכל התחיל ברעיון ראשוני ומעורפל שחשבתי עליו לפני זמן רב – להתקין על שק האיגרוף מערכת כלשהי שתציג עליו "מטרות" במיקומים שונים, לפי סדר וזמן אקראיים. הרעיון ההוא נזנח בינתיים, כי לא הצלחתי לחשוב על דרך לעשות זאת במחיר ובהשקעה סבירים. עם זאת, תוך כדי עבודה על פרויקט אחר עם חיישני רעידות פשוטים וזולים, תהיתי פתאום אם חיישן כזה שיותקן במקום "בטוח" על השק, למשל על רצועות התליה, יהיה מסוגל לזהות חבטות – והסתבר שכן.
זמן קצר לאחר מכן שמעתי על תחרות פרויקטים מבוססי-ארדואינו של אתר ICstation.com, והבנתי שזו הזדמנות לפתח קצת את הרעיון.
חלק 1
בחרתי לחלק את המערכת לשני חלקים, מכיוון שרציתי פידבק מפורט (זמן תגובה באלפיות שניה) וקשה מאד להציג מידע כזה בבירור על שק איגרוף שמסתובב ומתנדנד כל הזמן. יותר הגיוני שהתצוגה תהיה במקום מרוחק ויציב – ומכאן גם הצורך בתקשורת אלחוטית. הרכבתי על ארדואינו אונו מגן שהכנתי (על בסיס PCB ייעודי למגינים), עם תצוגת seven segment גדולה בעלת ארבע ספרות, ומקלט RF בתדר 433MHz (מהזוגות משדר-מקלט הזולים והפשוטים שמוצאים באיביי). כדי לשפר את הקליטה, הלחמתי גם למשדר וגם למקלט אנטנות סליליות קטנות שגם אותן מצאתי באיביי.
את רכיב התצוגה בחרתי לנהל ישירות מהפינים של הארדואינו, מכיוון שהחלק הזה של המערכת ממילא לא היה עסוק מדי, וחבל לבזבז על העניין ג'וק תצוגה ייעודי ולהסתבך עם החיווט שלו.
חלק 2
חלק המערכת שעל שק האגרוף היה מורכב קצת יותר. ראשית, רציתי לתת למשתמש אינדיקציות בולטות וברורות (סימן "עכשיו!", סימן "הצלחת" וסימן "מאוחר מדי"), ופס לדים RGB זול – כל צבע בנפרד – נראה פתרון מעולה. אלא שלשם כך הייתי זקוק למקור מתח של 12V. אז לקחתי בית סוללה עם שלוש סוללות AA רגילות וחיברתי אותו למודול Step Up / Boost. את המוצא שלו חיברתי לכניסת המתח המיוצבת של ארדואינו פרו מיני (כן, יש אלמנט מסוים של בזבוז בתהליך הזה…) וכן כאספקת מתח ישירה למשדר ה-RF.
את שלושת ערוצי הצבע של פס הלדים הפעלתי מאותו מתח דרך רכיבי MOSFET – טרנזיסטורים גדולים שבחרתי במיוחד כדי שיעמדו בקלות בעומס. טרנזיסטורים קטנים (וזולים) יותר לא מיועדים לשילוב כזה של מתח וזרם: חשוב לבדוק לא רק את המתח המקסימלי ואת הזרם המקסימלי שלהם במפרט, אלא גם את ההספק המרבי (Total/Maximum Power Dissipation).
לאחד מפיני הפסיקה של הארדואינו הגדרתי נגד pull-up פנימי וחיברתי את חיישן הרעידות כך שיחבר את הפין ל-GND ויעורר פסיקה כשהשק יחטוף מכה.
הלוגיקה
עם ההפעלה, החלק שעל שק האיגרוף מהבהב קצת באורות, ואז חוזר על הפרוצדורה הבאה:
- בוחר מספר אקראי של אלפיות שניה, בין 1000 ל-6000, ומחכה
- מציג אור ירוק ומאפס מונה זמן
- אם עברה שניה שלמה ואין פסיקה מהחיישן: מכבה את הירוק, מציג אור אדום ושולח את המחרוזת FAIL ברדיו (כדי לקצר תהליכים, בחרתי לממש את התקשורת האלחוטית בעזרת הספריה VirtualWire הוותיקה)
- אחרת, כלומר אם כן התרחשה פסיקה תוך שניה: מכבה את הירוק ומציג אור כחול, יוצר מחרוזת עם מספר אלפיות השניה שעברו ושולח אותה ברדיו.
- מחכה שניה אחת ומכבה את כל האורות.
כדי להבטיח זמנים אקראיים במקום מרווחי זמן שיחזרו על עצמם בכל הפעלה, המערכת קוראת מספר מה-EEPROM, משתמשת בו בתור הבסיס לחישוב (מה שנקרא random seed), ושומרת את המספר הזה פלוס 1 ב-EEPROM להפעלה הבאה.
החלק הקולט הרבה יותר פשוט:
- כשמגיעה מחרוזת ברדיו, מציג אותה למשך 5 שניות (אלא אם מגיעה אחרת לפני כן)
- מכבה את התצוגה
ה"סיבוך" היחיד בקוד של החלק הזה הוא השליטה הישירה בתצוגה, שמחייבת עדכון מהיר של הספרות בזו אחר זו על ידי תזמון של פלט בפינים שונים.
הנה סרטון (באנגלית) שמציג את החלקים ורכיביהם:
הנה קישורים לקוד המקור – לחלק השולח ולחלק הקולט.
ואם כבר הגעתם עד כאן… אתם מוזמנים להיכנס לדף התחרות, להתרשם מהמועמדים ולהצביע לפרויקט שהכי נראה לכם:
אתה יכול להסביר על המעגל של ה stepup מ5 ל12 ?
האמת שלא כל כך… זה מודול מוכן, הסוג הכי זול שמצאתי באיביי. ממיר מ-3-6 וולט ל-12, מסוגל לספק בסביבות 200-300 מיליאמפר, וזהו 🙂