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

יישום של לחצן הניתן להרחבה עם משוב על רטט: 7 שלבים (עם תמונות)
יישום של לחצן הניתן להרחבה עם משוב על רטט: 7 שלבים (עם תמונות)

וִידֵאוֹ: יישום של לחצן הניתן להרחבה עם משוב על רטט: 7 שלבים (עם תמונות)

וִידֵאוֹ: יישום של לחצן הניתן להרחבה עם משוב על רטט: 7 שלבים (עם תמונות)
וִידֵאוֹ: ערכת הכלים המלאה של Redux + RTK Query קורס למתחילים | רדוקס תוך שעתיים! 2024, נוֹבֶמבֶּר
Anonim
יישום של לחצן הניתן להרחבה עם משוב על רטט
יישום של לחצן הניתן להרחבה עם משוב על רטט
יישום של לחצן הניתן להרחבה עם משוב על רטט
יישום של לחצן הניתן להרחבה עם משוב על רטט

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

שלב 1: רכיבים הדרושים להתקנת מנוע כפתור לרטט

דרושים רכיבים להתקנת מנוע כפתור לרטט
דרושים רכיבים להתקנת מנוע כפתור לרטט
  • ארדואינו אונו
  • לוח לחם
  • מנוע רטט מטבעות רטט
  • כפתור גרוב
  • חוטי מגשר זכר לזכר (x10)
  • חוט מגשר 4 פינים
  • נהג מוטורי Haptic
  • מחבר קצה זכר לנקבה
  • מלחם

שלב 2: תרשימים להתקנת מנוע כפתור לרטט

תרשימים להתקנת מנוע כפתור לרטט
תרשימים להתקנת מנוע כפתור לרטט

התרשים הקודם נוצר באמצעות Fritzing.org.

שלב 3: הגדרת הלחצן להגדרת מנוע הרטט

שלב 1: הלחם את מחבר הקצה לנהג מנוע הרטט. הלחם את חוטי הוויברטור למטבעות במסופי הנהג של מנוע הרטט.

שלב 2: חבר את כבל המגשר בעל 4 פינים לפריצת הכפתורים.

שלב 3: בעזרת אחד מחוטי המגשר, חבר את סיכת ה- GRD שבארדואינו לשורה בלוח הלחם.

שלב 4: בעזרת חוט מגשר נוסף, חבר את פין וולט 3.3 בארדואינו לשורה אחרת בלוח הלחם.

שלב 5: כעת נחבר את נהג מנוע הרטט ל- Arduino. באמצעות חוט מגשר שלישי, חבר את סיכת ה- GND במנהג מנוע הרטט לאותה שורה בלוח הלחם כמו סיכת ה- GRD מהארדואינו. לעשות את אותו הדבר עם חוט נוסף עבור VCC (וולט) במנהג מנוע הרטט, לשורת הוולט של לוח הלחם.

שלב 6: השתמש בחוט נוסף כדי לחבר את סיכת ה- SDA במנהג מנוע הרטט אל סיכת ה- SDA ישירות על הארדואינו. שוב, עשה את אותו הדבר עם סיכות SCL בשניהם. לחלופין, בצע גישה דומה לשלב 5 וחבר את סיכות ה- SDA וה- SCL בארדואינו לשורות משלהן בלוח הלחם באמצעות חוטי מגשר. לאחר מכן הפעל חוט מהשורה שבה מחובר סיכת ה- SDA בלוח הלחם לסיכת ה- SDA שבנהג המנוע. בצע את אותו הדבר עבור שורת SCL בלוח הלחם לסיכת SCL במנהג המנוע.

שלב 7: כעת נסיים על ידי חיבור הכפתור לנהג מנוע הרטט וארדואינו. השתמש בחוט מגשר נוסף לחיבור ה- GRD מחוט המגשר בעל 4 הפינים המחובר לפריצת הכפתורים לאותה שורה כמו חוטי ה- GRD האחרים בלוח הלחם. לעשות את אותו הדבר עם וולט שוב (VCC).

שלב 8: חבר כתיבה אחרונה מ- SIG על פריצת הכפתורים לסיכה על הארדואינו (למטרות הקוד שלנו, השתמשנו בסיכה 7).

שלב 9: חבר את הארדואינו והעלה את הקוד וצפה בו עובד!

שלב 4: הקוד

כפתור-רטט-מנוע. ג

/ * קוד מותאם מתוך https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */
#לִכלוֹל// ספריית נהגי מוטור Haptic SparkFun
#לִכלוֹל// ספריית I2C
SFE_HMD_DRV2605L HMD; // צור אובייקט נהג מנוע האפטי
כפתור int = 7; // בחר את סיכת הכניסה 7 ללחצן לחיצה
int button_val = 0; // משתנה לקריאת סטטוס הסיכה
הגדרת voids ()
{
/ * אתחל אובייקט נהג מוטורי Haptic */
HMD.begin ();
Serial.begin (9600);
מצב HMD. (0); // מצב קלט טריגר פנימי - חייב להשתמש בפונקציית GO () כדי להפעיל הפעלה.
HMD. MotorSelect (0x36); // מנוע ERM, 4x בלימה, רווח לולאה בינוני, רווח EMF בחזרה 1.365x
HMD. Library (2); // 1-5 & 7 עבור מנועי ERM, 6 עבור מנועי LRA
}
voidloop ()
{
/ * הפעל את מנוע הרטט */
HMD.go ();
button_val = digitalRead (כפתור);
אם (button_val == HIGH) {
/* פלט זה כדי ללחוץ על לחצן זה נלחץ, השתמש עבור debugginh*/
Serial.println ("לחצן נלחץ.");
/ * לספריית צורות הגל יש 0-122 סוגים שונים של גלים */
HMD. Waveform (0, 69);}
אַחֵר{
/ * אם הכפתור לא נלחץ, עצור את מנוע הרטט */
HMD.stop ();
}
}

הצג rawButton-Vibration-Motor.c המתארח אצל ❤ על ידי GitHub

שלב 5: וידאו של הגדרת מנוע הכפתור לרטט

Image
Image

שלב 6: אב טיפוס של כפפה ניתנת להרחבה

אב טיפוס של כפפה ניתנת להרחבה
אב טיפוס של כפפה ניתנת להרחבה
אב טיפוס של כפפה ניתנת להרחבה
אב טיפוס של כפפה ניתנת להרחבה

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

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

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

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

שלב 7: קוד לכפתורים מרובים עם פלט רטט ייחודי

mutliple_buttons_to_vibmotor.ino

/ * קוד מותאם מ- SparkFun https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */
#לִכלוֹל// ספריית נהגי המנוע Haptic SparkFun
#לִכלוֹל// ספריית I2C
SFE_HMD_DRV2605L HMD; // צור אובייקט נהג מנוע האפטי
int button_middle = 7;
int button_index = 5; // בחר את סיכת הכניסה ללחצן הלחיצה
int button_ring = 9;
int button_pinky = 3;
הגדרת voids ()
{
HMD.begin ();
Serial.begin (9600);
מצב HMD. (0); // מצב קלט טריגר פנימי - חייב להשתמש בפונקציית GO () להפעלת הפעלה.
HMD. MotorSelect (0x36); // מנוע ERM, 4x בלימה, רווח לולאה בינוני, רווח EMF בחזרה 1.365x
HMD. Library (2); // 1-5 & 7 עבור מנועי ERM, 6 עבור מנועי LRA
}
voidloop ()
{
HMD.go (); // הפעל את מנוע הרטט
/ * בדוק איזה כפתור נלחץ ופלט גל 0-122 */
if (digitalRead (button_middle) == HIGH) {
Serial.println ("לחצן נלחץ.");
HMD. Waveform (0, 112);}
elseif (digitalRead (button_index) == HIGH) {
HMD. Waveform (0, 20);
}
elseif (digitalRead (button_ring) == HIGH) {
HMD. Waveform (0, 80);
}
elseif (digitalRead (button_pinky) == HIGH) {
HMD. Waveform (0, 100);
}
/ * אם לא לחצו על כפתור עצור */
אַחֵר{
HMD.stop ();
}
}

הצג rawmutliple_buttons_to_vibmotor.ino המתארח אצל ❤ על ידי GitHub

מוּמלָץ: