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

SASSIE: המערכת לפתרון שתיקה מביכה ומשפרת אינטראקציה: 5 שלבים
SASSIE: המערכת לפתרון שתיקה מביכה ומשפרת אינטראקציה: 5 שלבים

וִידֵאוֹ: SASSIE: המערכת לפתרון שתיקה מביכה ומשפרת אינטראקציה: 5 שלבים

וִידֵאוֹ: SASSIE: המערכת לפתרון שתיקה מביכה ומשפרת אינטראקציה: 5 שלבים
וִידֵאוֹ: How To Laser Clean A Rusty Range Rover Chassis | Workshop Diaries | Edd China 2024, נוֹבֶמבֶּר
Anonim
Image
Image
חלקים, חומרים וכלים
חלקים, חומרים וכלים

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

שלב 1: חלקים, חומרים וכלים

חלקי ארדואינו

2 X Arduino Uno R3

2 X מיקרופון Arduino

1 X מגן אלחוטי SD XBee

רמקול 1 x 1/2 וו 8 וולט

1 X לוח לחם בגודל חצי

1 X מנוע צעד Arduino

1X לוח כונן מנוע צעד ULN 2003

1 X מיקרו סרוו

בסיס ודיור (רכיבי לייזר לחיתוך)

כל הרכיבים המפורטים להלן יכולים רק לחתוך לייזר על מיטת ליבנה (32 "X 18")

1 - בסיס

1 X לוח בסיס תחתון

1 X אורך ארוך גובה קצר רצועת סריג ישר

1 X צלחת בסיס עליונה

4 X אורך קצר גובה גבוה ישר בסיס רצועה צד

2 - ראשי

1 X מכונת כביסה על מנוע צעד

1 X צלחת ראשית תחתונה

1 X אורך בינוני גובה ממוצע רצועת סריג ישרה

1 X טבעת ראשית עליונה

1 X אורך קצר גובה גבוה ישר רצועת צד סריג

1 X צלחת רצועת צד עליונה

1 X צלחת מלבנית קטנה (למיקרו סרוו)

3 - מעמד למיקרופון

4 X לוחית בסיס

1 X 13 ס"מ 3/16 "דיבל (עם בצד ב 30 מעלות)

1 X צלחת מלבנית קטנה (למיקרופון)

שלב 2: מעגל

מעגל חשמלי
מעגל חשמלי
מעגל חשמלי
מעגל חשמלי

שלב 3: ייצור מכונות (מכניקה והרכבה)

ייצור מכונות (מכניקה והרכבה)
ייצור מכונות (מכניקה והרכבה)

1_ לפני הרכבה

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

2_ אסיפת דיור

בסיס

  1. הדביקו את לוח הבסיס התחתון לעור הבסיס
  2. הדבק את ארבע לוח הרצועות התחתון בצד ולאחר מכן הדבק את החלק הזה על קצה לוח הבסיס העליון
  3. הדביקו את מנוע הדריכה למרכז לוח הבסיס העליון (זכרו להקיש על אותו צד כמו לוח הרצועה הצדדי ויישר את החלק המסתובב בפועל של המנוע למרכז המכונה)
  4. הכנס את מכונת הכביסה על מנוע הצעד '

רָאשִׁי

  1. הדבק את הלוח הראשי התחתון לעור הראשי
  2. הדבק את טבעת העור הראשי על העור הראשי
  3. הכנס את רצועת הצד לרצועה הצד העליונה
  4. הדבק את לוח מנוע סרוו בניצב לרצועת הצד העליונה

3_ האסיפה

  1. הנח בזהירות את לוח הלחם ואת שני UNO R3 עם מגן ה- SD בתוך סל הבסיס
  2. הנח את לוח הבסיס העליון על הפח וודא שכל החיישנים והמפעילים עוברים בפתחי הלוח העליון
  3. הדביקו את מנוע הדריכה למרכז לוח הבסיס העליון (זכרו להקיש על אותו צד כמו לוח הרצועה הצדדי ויישר את החלק המסתובב בפועל של המנוע למרכז המכונה)
  4. הכנס את מכונת הכביסה על מנוע המדרגה
  5. הנח את הרכיב הראשי על מכונת הכביסה
  6. חבר את רכיב רצועת הצד לתוך החלק של בסיס רצועת הצד
  7. הדביקו את מנוע הסרוו לדופן לוחית המנועים של סרוו בקצה העליון (יש להקיש הצידה) ואז הקש על חיווט הסרוו בחלק הפנימי של רצועת הצד.
  8. חבר את השלט העליון למנוע הסרוו
  9. הקש על השלט הצדדי על העור הראשי

הרכבה של מעמד מיקרופון 4_

  1. הדביקו את ארבעת הבסיס יחד
  2. הדבק את הצד השטוח של הדיבל לבסיס
  3. הדבק את צלחת המיקרופון לצד הזוויתי של הדיבל
  4. הדביקו את המיקרופון על צלחת המיקרופון

שלב 4: תכנות

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

#כלול #כלול

#לִכלוֹל

#לִכלוֹל

// SD חייב להתחבר לפין 11, 12, 13. סיכה 10 נוספת

// נדרש או התקשר עם SD.begin ().

const int servoPin = 3;

const int micPin1 = 5; const int micPin2 = 6; const int AWKS = 4;

int נפח 1;

int volume2; float silenceTime = 0;

באנר סרוו;

TMRpcm plr;

הגדרת בטל () {

// שים את קוד ההתקנה שלך כאן, להפעלה פעם אחת: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serial.begin (9600); Serial.println ("ברוכים הבאים לפורטל האבחון של SASSIE."); banner.attach (servoPin); banner.write (0); if (! SD.begin (10)) {Serial.println ("SD נכשל"); } plr.speakerPin = 9; plr.setVolume (5); }

לולאת חלל () {

volume1 = digitalRead (micPin1); volume2 = digitalRead (micPin2); banner.write (0); if (volume1 == 0 ו- volume2 == 0) {silenceTime += 0.05; Serial.print ("זמן שתיקה:"); Serial.println (silenceTime); } אחר {silenceTime = 0; banner.write (0); } עיכוב (50); if (silenceTime> = AWKS) {rescue (); silenceTime = 0; }}

הצלת חלל () {

for (int angle = 0; זווית <90; זווית += 1) {banner.write (זווית); עיכוב (35); } Serial.println ("באנר מופעל"); עיכוב (100); Serial.write (1); Serial.println ("שיר מופעל"); plr.play ("4.wav"); עיכוב (10000); plr.stopPlayback (); לוּלָאָה(); עיכוב (10000); עיכוב (5000); plr.play ("2.wav"); עיכוב (5000); plr.play ("3.wav"); }

הקוד של הלוח השני פשוט. הוא מניע את מנוע הדריכה רק כאשר הלוח הראשי שולח אליו אות.

#לִכלוֹל

const int stepPin1 = 8;

const int stepPin2 = 9; const int stepPin3 = 10; const int stepPin4 = 11; const int motorSteps = 200;

bool motorState = false;

Stepper stepMotor (motorSteps, stepPin1, stepPin2, stepPin3, stepPin4);

הגדרת בטל () {

// שים את קוד ההתקנה שלך כאן, להפעלה פעם אחת: stepMotor.setSpeed (75); }

לולאת חלל () {

// שים את הקוד הראשי שלך כאן, כדי להריץ שוב ושוב: int incoming = Serial.read (); if (נכנס == 1) {Serial.println ("מופעל"); if (motorState == 0) {stepMotor.step (1000); עיכוב (5000); } אחר {stepMotor.step (-1000); } motorState =! motorState; } עיכוב (500); }

מוּמלָץ: