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

מכשיר החלפה וגדילה חושית של Vibrotactile (SSAD): 4 שלבים
מכשיר החלפה וגדילה חושית של Vibrotactile (SSAD): 4 שלבים

וִידֵאוֹ: מכשיר החלפה וגדילה חושית של Vibrotactile (SSAD): 4 שלבים

וִידֵאוֹ: מכשיר החלפה וגדילה חושית של Vibrotactile (SSAD): 4 שלבים
וִידֵאוֹ: מחסירים פעימה - על הפרעות קצב לב מסכנות חיים 2024, יולי
Anonim
התקן תחליפי ותגבור חושי ויברוטקטיליים (SSAD)
התקן תחליפי ותגבור חושי ויברוטקטיליים (SSAD)
התקן תחליפי ותגבור חושי ויברוטקטיליים (SSAD)
התקן תחליפי ותגבור חושי ויברוטקטיליים (SSAD)

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

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

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

בנוסף למדריך זה יצרתי שלוש הרחבות: ראשית, פרסמתי הוראות כיצד להשתמש ביותר מארבעה מנועים עם אב טיפוס SSAD זה (https://www.instructables.com/id/Using-More-Than-4…). שנית, יצרתי ספק ודוגמא כיצד להפוך את אב הטיפוס הזה לביש (https://www.instructables.com/id/Making-the-SSAD-W…) וכיצד ניתן לכסות מנועי ERM ללא מסת מסתובבת (https:/ /www.instructables.com/id/Covering-Rotating…). בהמשך, מתפרסמת גם דוגמה לאופן שילוב חיישנים שאינם אנלוגיים (במקרה זה חיישני קרבה) לאב הטיפוס (https://www.instructables.com/id/Including-a-Proxi…).

מהו "החלפה והגדלה חושית"?

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

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

אילו כישורים דרושים לבניית אב טיפוס זה?

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

האם יש צורך במכונות או בכלים שהם יקרים או שאינם זמינים בקלות?

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

אספקה

רכיבים עיקריים (כ -65 פאונד ל -4 מנועים, לא כולל ציוד הלחמה)

  • Arduino Uno (למשל https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (למשל https://www.adafruit.com/product/1438, 20 פאונד) וכותרות ערימה גבריות (כלולות בדרך כלל בעת רכישת המגן המנוע)
  • מנועי ERM גליליים (למשל https://www.adafruit.com/product/1438, 5, 50 £/מנוע)
  • מלחם וחוט הלחמה
  • חוטים

אופציונלי (ראה הרחבות)

אם נקנה מנוע ERM עם מסתה מסתובבת חשופה:

  • צינור ויניל
  • לוח רך דק
  • מדפסת תלת מימד (למארז Arduino)

אם ברצונך להשתמש ביותר מ -4 מנועים (ליותר מ -8 בפעם אחרת):

  • Adafruit Motorshield v2.3 וכותרות ערימה לגברים
  • כותרות נערמות לנשים (למשל
  • Arduino Mega ליותר מ -6 מנועים (למשל

שלב 1: הלחמה

הַלחָמָה
הַלחָמָה

הלחם את הסיכות למגן המנוע

Adafruit מציעה הדרכה מקיפה מאוד של הלחמת כותרות לשמירה מוטורית (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. ראשית, הכנס את כותרות הערימה לפינים ב- Arduino Uno,
  2. לאחר מכן, הניחו את המגן למעלה, כך שהצד הקצר של הסיכות יבלוט החוצה.
  3. לאחר מכן, הלחם את כל הסיכות למגן וודא כי הלחמה זורמת סביב הסיכה ויוצרת צורת הר געש (ראה תמונה למעלה, המאומצת מתוך https://cdn.sparkfun.com/assets/c/d/ a/a/9/523b1189…).

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

הלחמה חוטים ארוכים יותר למנוע

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

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

שלב 2: חיווט

תִיוּל
תִיוּל
  1. ערמו את המגן המנוע על גבי הארדואינו.
  2. הברג מנועים לתוך המגן המוטורי.
  3. חברו חיישנים אנלוגיים ל- Arduino (בתמונה זה נעשה עם חיישני אור, אך אותו מעגל נראה אותו דבר עבור חיישנים אנלוגיים אחרים).

שלב 3: קידוד

סִמוּל
סִמוּל
סִמוּל
סִמוּל
סִמוּל
סִמוּל
סִמוּל
סִמוּל

1. הורדה

הורד את תיקיית ה- zip (SSAD_analogueInputs.zip), המצורפת למטה. פתח אותו.

הורד את Arduino IDE (https://www.arduino.cc/en/main/software).

פתח את קובץ ה- Arduino (SSAD_analogueInputs.ino) שנמצא בתוך התיקייה הפרוסה עם ה- Arduino IDE.

2. התקן את ספריות

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

  1. לחץ: כלים → נהל ספריות …
  2. חפש את "Adafruit Motor Shield ספריית V2" בשדה סנן את חיפושך
  3. התקן אותו על ידי לחיצה על כפתור ההתקנה

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

3. שנה את הקוד

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

ייזום מנועים ותפוקות החושים שלהם

קודם כל, הצהירו באילו סיכות המנועים משתמשים, ובאיזה טווח המנועים עובדים. לדוגמה, מנוע המחובר ל- M4 ועובד בטווח (מהירות) של 25 ו -175 מוכרז כך (מתחת להערת MAIN):

מנוע מנוע 1 = מנוע (4, 25, 175);

כאשר עובדים עם מנועי רטט קטנים המונעים בטווח של עד 3V, יש להשתמש בזהירות המגן המנוע כאשר הוא מיוצר להפעלת מנועים על 4.5VDC עד 13.5VDC. כדי לא לפגוע במנועי 3V, הגבלתי באופן תוכניתי את תפוקת הוולט של המגן למקסימום של 3V (2.95V בדיוק). עשיתי זאת על ידי מדידת כמה המהירות המרבית של 255 היא וולט ונמדד עם מולטימטר שזה 4.3V. לכן, מעולם לא הרשיתי למנועים מהירות גבוהה יותר מ- 175, שהיא בערך 3V.

כל מנוע יחובר עם פלט SensoryOut אחד.

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

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

פלט SensoryOutput1 = SensoryOutput (0, 1023);

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

motor1.drive (output1.getValue (), output1.getMin (), output1.getMax ());

אם תרצה, תוכל לתת למספר מנועים (למשל מנוע 1 ומנוע 2) את אותו פלט SensoryOut (למשל פלט 1).

יתר על כן, תוכל לתת את הערכים של חיישנים מרובים למנוע אחד (ראה סעיף הבא).

הגדרת החיישנים

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

פלט 1. כולל (A0);

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

פלט 1. כולל (A1);

אחרת, המשך בפלט הבא:

פלט 2. כולל (A1);

שילוב חיישנים מרובים

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

עם זאת, אם יש לך רעיונות אחרים מה אתה רוצה לעשות עם תשומה חושית גולמית אחת או מרובה, תוכל לבצע בהתאם לשינויים בפונקציה int getValue () במחלקה SensoryOutput:

int getValue () {

finalOutput = 0; // TODO עשה מה שאתה רוצה עם ערכים חושיים // כאן הממוצע בנוי, אם משולבים מספר ערכים עבור (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } החזר finalOutput / curArrayLength; }

4. העלה את הקוד לאב טיפוס ה- Arduino שלך

חבר את אב הטיפוס של Arduino (משלב 2) למחשב האישי שלך.

לחץ על כלים → יציאה → בחר את היציאה, שבה Arduino/Genuino Uno כתוב בסוגריים

לחץ על כלים → לוח → Arduino/Genuino Uno

כעת, המנועים צריכים לפעול בהתאם לכניסות החיישנים האנלוגיים. אם תרצה, תוכל לנתק את ה- Arduino מהמחשב ולחבר אותו למקור חשמל אחר, כמו סוללת 9V.

שלב 4: הרחבות אפשריות

הרחבות אפשריות
הרחבות אפשריות
הרחבות אפשריות
הרחבות אפשריות
הרחבות אפשריות
הרחבות אפשריות

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

  • מכסה המוני מסתובבים של מנועי ERM:
  • הפיכת ה- SSAD לביש:
  • שימוש ביותר מ -4 מנועים-ערימת מספר מגן:
  • שימוש בחיישן קרבה אולטרא סאונד כקלט SSAD:

מוּמלָץ: