สารบัญ:

SASSIE: ระบบสำหรับโซลูชันเงียบที่น่าอึดอัดใจและตัวเพิ่มประสิทธิภาพการโต้ตอบ: 5 ขั้นตอน
SASSIE: ระบบสำหรับโซลูชันเงียบที่น่าอึดอัดใจและตัวเพิ่มประสิทธิภาพการโต้ตอบ: 5 ขั้นตอน

วีดีโอ: SASSIE: ระบบสำหรับโซลูชันเงียบที่น่าอึดอัดใจและตัวเพิ่มประสิทธิภาพการโต้ตอบ: 5 ขั้นตอน

วีดีโอ: SASSIE: ระบบสำหรับโซลูชันเงียบที่น่าอึดอัดใจและตัวเพิ่มประสิทธิภาพการโต้ตอบ: 5 ขั้นตอน
วีดีโอ: SASSY THE SASQUATCH | EP01 | SEEN A DINOSAUR 2024, กรกฎาคม
Anonim
Image
Image
ชิ้นส่วน วัสดุ และเครื่องมือ
ชิ้นส่วน วัสดุ และเครื่องมือ

SASSIE คือคำตอบของคำถามที่เราทุกคนเคยถามตัวเองในช่วงความเงียบงุ่มง่าม ณ จุดหนึ่งในชีวิตของเราว่า “ฉันจะพูดต่อไปไหม” ตอนนี้คุณไม่ต้องกังวลเพราะ SASSIE ได้รับการออกแบบมาโดยเฉพาะเพื่อรับรู้ถึงความเงียบที่น่าอึดอัดใจ จากนั้นจึงทำให้เป็นกลางโดยการสุ่มตัดสินใจว่าใครควรพูดต่อไป ตอนนี้คุณสามารถเข้าสู่การสนทนาโดยปราศจากความเครียด โดยรู้ว่า SASSIE ช่วยคุณได้

ขั้นตอนที่ 1: ชิ้นส่วน วัสดุ และเครื่องมือ

อะไหล่ Arduino

2 X Arduino Uno R3

2 X Arduino ไมโครโฟน

1 X XBee ไร้สาย SD Shield

1 X 1/2 w 8 โวลต์ลำโพง

1 X ครึ่งขนาด เขียงหั่นขนม

1 X Arduino Stepper เครื่องยนต์

1X ULN 2003 Stepper เครื่องยนต์ ไดรฟ์บอร์ด

1 X ไมโครเซอร์โว

ฐานและตัวเรือน (ส่วนประกอบตัดด้วยเลเซอร์)

ส่วนประกอบทั้งหมดที่ระบุไว้ด้านล่างสามารถยกเว้นด้วยเลเซอร์บนแผ่นไม้อัด Birch Ply Fullbed (32 "X 18")

1 - เบส

1 X แผ่นฐานด้านล่าง

1 X ยาวสั้นสูงตรง Lattice Strip

1 X แผ่นฐานด้านบน

4 X ความยาวสั้นสูงตรงฐานรางตาข่ายด้านข้าง

2 - เมน

1 X Stepper เครื่องยนต์ เครื่องซักผ้า

1 X แผ่นหลักด้านล่าง

1 X ความยาวปานกลาง ความสูงเฉลี่ย แถบตาข่ายตรง

1 X วงแหวนหลักด้านบน

1 X ความยาวสั้น สูง ตรง แถบด้านข้างตาข่าย

1 X แผ่นแถบด้านบน

1 X แผ่นสี่เหลี่ยมขนาดเล็ก (สำหรับ Micro Servo)

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 Shield ภายในถังฐาน
  2. วางเพลทฐานด้านบนลงบนถังขยะ และตรวจดูให้แน่ใจว่าเซ็นเซอร์และแอคทูเอเตอร์ทั้งหมดลอดผ่านช่องเปิดเพลทด้านบน
  3. ติดสเต็ปเปอร์มอเตอร์ที่กึ่งกลางของแผ่นฐานด้านบน (โปรดจำไว้ว่าให้แตะด้านเดียวกับแผ่นแถบด้านข้างและจัดตำแหน่งส่วนที่หมุนจริงของมอเตอร์ให้ตรงกับศูนย์กลางของเครื่อง)
  4. ใส่แหวนรองสเต็ปเปอร์มอเตอร์เข้ากับสเต็ปเปอร์มอเตอร์
  5. วางส่วนประกอบหลักลงบนเครื่องซักผ้า
  6. ติดส่วนประกอบแถบด้านข้างเข้ากับรางฐานแถบด้านข้าง
  7. ติดเทปเซอร์โวมอเตอร์ที่ด้านข้างของแผ่นเซอร์โวมอเตอร์ที่ปลายด้านบน (ควรเคาะด้านข้าง) จากนั้นแตะสายไฟเซอร์โวที่ด้านในของแถบด้านข้าง
  8. ติดป้ายด้านบนเข้ากับเซอร์โวมอเตอร์
  9. แตะเครื่องหมายด้านข้างบนสกินหลัก

4_การประกอบขาตั้งไมโครโฟน

  1. กาวสี่ฐานเข้าด้วยกัน
  2. กาวด้านแบนของเดือยเข้ากับฐาน
  3. กาวแผ่นไมโครโฟนที่ด้านมุมของเดือย
  4. เทปไมโครโฟนบนแผ่นไมโครโฟน

ขั้นตอนที่ 4: การเขียนโปรแกรม

เนื่องจากบอร์ด Arduino Uno มีขนาดจำกัด จึงใช้บอร์ด Arduino สองตัวในโครงการนี้ กระดานหลักใช้สำหรับฟังก์ชั่นส่วนใหญ่ รวมถึงการนับเวลาปิดเสียง การประมวลผลข้อมูลเสียง การพูดกับผู้ใช้ และการสื่อสารกับกระดานที่สอง

#รวม #รวม

#รวม

#รวม

//SD ต้องเชื่อมต่อกับพิน 11, 12, 13 Anaditional pin 10 is

// ต้องการหรือเรียกด้วย SD.begin()

const int servoPin = 3;

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

ปริมาณ int1;

ปริมาณ int2; ลอยตัวเงียบเวลา = 0;

แบนเนอร์เซอร์โว;

TMRpcm plr;

การตั้งค่าเป็นโมฆะ () {

// ใส่รหัสการตั้งค่าของคุณที่นี่ เพื่อเรียกใช้ครั้งเดียว: pinMode(servoPin, OUTPUT); โหมดพิน (micPin1, INPUT); โหมดพิน (micPin2, INPUT); Serial.begin(9600); Serial.println("ยินดีต้อนรับสู่พอร์ทัลการวินิจฉัย SASSIE"); banner.attach(เซอร์โวพิน); แบนเนอร์.เขียน(0); ถ้า (!SD.begin (10))) { Serial.println ("SD ล้มเหลว"); } plr.speakerPin = 9; plr.setVolume(5); }

วงเป็นโมฆะ () {

เล่มที่ 1 = digitalRead (micPin1); Volume2 = digitalRead (micPin2); แบนเนอร์.เขียน(0); ถ้า (volume1 == 0 และ volume2 == 0) {silenceTime += 0.05; Serial.print("เวลาเงียบ: "); Serial.println (silenceTime); } อื่นๆ { เวลาเงียบ = 0; แบนเนอร์.เขียน(0); } ล่าช้า (50); ถ้า (silenceTime >= AWKS) { กู้ภัย (); เวลาเงียบ = 0; } }

โมฆะกู้ภัย () {

สำหรับ (มุม int = 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 = เท็จ;

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

การตั้งค่าเป็นโมฆะ () {

// ใส่รหัสการตั้งค่าของคุณที่นี่ เพื่อเรียกใช้ครั้งเดียว: stepMotor.setSpeed(75); }

วงเป็นโมฆะ () {

// ใส่รหัสหลักของคุณที่นี่เพื่อเรียกใช้ซ้ำ ๆ: int incoming = Serial.read(); ถ้า (ขาเข้า == 1) { Serial.println ("เปิดใช้งาน"); ถ้า (motorState == 0) { stepMotor.step (1000); ล่าช้า (5000); } อื่น ๆ { stepMotor.step (-1000); } motorState = !motorState; } ล่าช้า (500); }

แนะนำ: