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

לביש טק: כפפה לשינוי קול: 7 שלבים
לביש טק: כפפה לשינוי קול: 7 שלבים

וִידֵאוֹ: לביש טק: כפפה לשינוי קול: 7 שלבים

וִידֵאוֹ: לביש טק: כפפה לשינוי קול: 7 שלבים
וִידֵאוֹ: מגזין OMA - הגופרו 360 הראשון!!! (הוא מצלם ב5.2k!) 2024, נוֹבֶמבֶּר
Anonim
לביש טק: כפפה מחליפה קול
לביש טק: כפפה מחליפה קול
לביש טק: כפפה מחליפה קול
לביש טק: כפפה מחליפה קול

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

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

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

שלב 1: חומרים

חומרים
חומרים
חומרים
חומרים
חומרים
חומרים

חלקים:

  • בקר מיקרו HexWear (ATmega32U4) (https://hexwear.com/)
  • מד תאוצה MMA8451 (https://www.adafruit.com/product/2019)
  • חיישני גמישות קצרים (x4) (https://www.adafruit.com/product/1070)
  • כפפת ריצה קלה
  • #2 ברגים ומנקיות (x8)
  • מחברי מסוף קרימפ; מד 22-18 (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100 יחידות)
  • נגד 50kΩ (x4)
  • חוט (~ 20 מד)
  • סיכת ביטחון הדבקה עצמית
  • בד או בד אחר (~ 10 מ"ר)
  • חוט תפירה
  • ציפטיות
  • מחשב נייד
  • מיקרופון USB

כלים

  • ערכת הלחמה
  • חשפניות חוטים וחותכי תיל
  • קלטת חשמל
  • אקדח אוויר חם
  • מברג
  • מספריים
  • מחט תפירה

תוֹכנָה:

  • Max by Cycling '74 (https://cycling74.com)
  • תוכנת Arduino (https://www.arduino.cc/en/Main/Software)

שלב 2: התקנת התוכנה

נתחיל במה שהוא באמת החלק המלהיב ביותר בכל פרויקט: התקנת ספריות (ועוד).

ארדואינו:

הורד והתקן את תוכנת Arduino (https://www.arduino.cc/en/Main/Software).

HexWear:

1) (Windows בלבד, משתמשי Mac יכולים לדלג על שלב זה) התקן את מנהל ההתקן על ידי ביקור בכתובת https://www.redgerbera.com/pages/hexwear-driver-installation. הורד והתקן את מנהל ההתקן (קובץ.exe המופיע בשלב 2 בראש הדף המקושר של RedGerbera).

2) התקן את הספרייה הנדרשת עבור Hexware. פתח את ה- IDE של Arduino. תחת "קובץ" בחר "העדפות". בחלל המסופק עבור כתובות אתרים נוספות של מנהל לוחות, הדבק

github.com/RedGerbera/Gerbera-Boards/raw/master/package_RedGerbera_index.json.

לאחר מכן לחץ על "אישור".

עבור אל כלים -> לוח: -> מנהל לוח. בתפריט הפינה הימנית העליונה, בחר "תורם".

חפש ולאחר מכן לחץ על לוחות גרברה ולחץ על התקן. צא ופתח מחדש את Arduino IDE.

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

מד תאוצה:

הורד והתקן את ספריית מד התאוצה (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)

שלב 3: חיבור מד התאוצה

חיבור מד התאוצה
חיבור מד התאוצה
חיבור מד התאוצה
חיבור מד התאוצה

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

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

כניסת מתח קלט GNDSCL/D3 SCLSDA/D2 SDA

כשהכל מחובר, אנחנו מוכנים לבדיקה!

כמבחן, הפעל את קוד הדגימה של מד התאוצה ב- Arduino (קובץ-> דוגמאות-> Adafruit_MMA8451-> MMA8451demo), וודא שהוא יכול להוציא לפקח הטורי. הוא אמור להוציא את התאוצה עקב כוח הכבידה (~ 10m/s) בכיוון z כאשר הוא מוחזק ברמה. על ידי הטיית מד התאוצה, תאוצה זו תימדד בכיוון x או y; נשתמש בזה כדי לאפשר ללובש לשנות את הצליל על ידי סיבוב ידו!

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

// מדוד את כיוון ה- x ואת כיוון ה- y. אנו מתחלקים ומתרבים כדי להיכנס לטווחים הנכונים ל- MAX (טווח של 1000 ב- x וטווח של 40 ב- y) xdir = event.acceleration.x/0.02; ydir = abs (event.acceleration.y)*2; // הדפס הכל בפורמט קריא עבור Max - עם רווחים בין כל מספר Serial.print (xdir); Serial.print ("");

זה אמור לגרום ל- Hex להדפיס את הערכים המשתנים של הכיוונים x ו- y של מד התאוצה בכל שורה. כעת אנו מוכנים להוסיף את חיישני הגמישות!

שלב 4: חיבור חיישני הגמישות

חיבור חיישני הגמישות
חיבור חיישני הגמישות
חיבור חיישני הגמישות
חיבור חיישני הגמישות
חיבור חיישני הגמישות
חיבור חיישני הגמישות

הלובש יכול לקבל הרבה פקדי קול פוטנציאליים אם נוכל לזהות אצבעות מתכופפות. חיישני הגמישות יעשו בדיוק את זה. כל חיישן גמישות הוא למעשה פוטנציומטר, כאשר לא מכופף יש לו התנגדות של ~ 25KΩ, בעוד שלכופף מלא יש התנגדות של ~ 100KΩ. שמנו כל חיישן גמישות במפריד מתח פשוט עם נגד 50K, כפי שמוצג בתמונה הראשונה.

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

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

// קח מספר

דוגמאות אנלוגיות והוסף אותן לכל חיישן Flex

while (sample_count <NUM_SAMPLES) {

sum10 += analogRead (A10);

sum9 += analogRead (A9);

sum7 += analogRead (A7);

sum11 += analogRead (A11);

sample_count ++;

// עיכוב קצר כדי לא לקחת אותם מהר מדי

עיכוב (5);

}

// לחשב את המתח, ממוצע על הדגימות המהירות

// השתמשו ב- 5.0 עבור ADC של 5.0V

מתח התייחסות

// 5.015V הוא המכויל

מתח התייחסות

מתח 10 = ((צף) סכום 10 /

(לצוף) NUM_SAMPLES * 5.015) / 1024.0;

מתח 9 = ((צף) סכום 9/

(לצוף) NUM_SAMPLES * 5.015) / 1024.0;

מתח 7 = ((צף) סכום 7 /

(לצוף) NUM_SAMPLES * 5.015) / 1024.0;

מתח 11 = ((צף) סכום 11 /

(לצוף) NUM_SAMPLES * 5.015) / 1024.0;

// בדוק אם כל חיישן גמישות

גדול מהסף (דשן) - אם כן, הגדר את המספר

// אצבע פינקי

אם (מתח 10> דשן)

{

//-5 להעלות

גובה קול באוקטבה אחת

flex10 = -10;

}

אחרת flex10 = 0;

//קמיצה

אם (מתח 9>

(דוש-0.4)) {

// 5 להורדה

גובה קול באוקטבה אחת

flex9 = 5;

}

אחרת flex9 = 0;

//האצבע האמצעית

אם (מתח 7> דשן) {

// 1 להגדרה

אפקט הדהוד

flex7 = 1;

}

אחרת flex7 = 0;

//אצבע מורה

אם (מתח 11> דשן)

{

// 50 להגדיר

מחזורים ל 50

flex11 = 93;

}

אחרת flex11 = 0;

// אפס את כל הספירה

משתנה ל- 0 עבור הלולאה הבאה

sample_count = 0;

sum10 = 0;

sum9 = 0;

סכום 7 = 0;

sum11 = 0;

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

שלב 5: ממשק עם מקסימום

ממשק עם מקס
ממשק עם מקס

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

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

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

שלב 6: בניית שאר קוד המקסימום

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

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

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

  • אם אתה לא שומע צליל

    • וודא שמקס מוגדר לקבל שמע מהמיקרופון שלך (אפשרויות התקן קלט מצב שמע)
    • וודא שמחוון Master Volume ב- Max מופעל וכל פקדי עוצמת הקול האחרים שיש לך בקוד שלך
  • אם נראה שהקוד לא עושה כלום

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

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

שלב 7: ממש לשים את הכל ביחד

ממש לשים את הכל ביחד
ממש לשים את הכל ביחד
ממש לשים את הכל ביחד
ממש לשים את הכל ביחד
ממש לשים את הכל ביחד
ממש לשים את הכל ביחד
ממש לשים את הכל ביחד
ממש לשים את הכל ביחד

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

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

אתה מוכן להעמיד את כפפת כוח השירה האולטימטיבית שלך למבחן! (שנמליץ בחום על "Harder Better Faster Stronger" של דאפט פאנק להראות באופן מלא את היכולות שלך לשנות את הקול)

מוּמלָץ: