Mục lục:

SASSIE: Hệ thống cho giải pháp im lặng khó xử và công cụ tăng cường tương tác: 5 bước
SASSIE: Hệ thống cho giải pháp im lặng khó xử và công cụ tăng cường tương tác: 5 bước

Video: SASSIE: Hệ thống cho giải pháp im lặng khó xử và công cụ tăng cường tương tác: 5 bước

Video: SASSIE: Hệ thống cho giải pháp im lặng khó xử và công cụ tăng cường tương tác: 5 bước
Video: Review Phim: Võ Lâm Hữu Kiêu Khí (Bản Full ) 1-22 | Wulin Heroes 2023 | Phim Ngôn Tình | Tea Phim 2024, Tháng mười một
Anonim
Image
Image
Bộ phận, Vật liệu và Công cụ
Bộ phận, Vật liệu và Công cụ

SASSIE là câu trả lời cho câu hỏi mà tất cả chúng ta đã tự hỏi mình trong khoảng thời gian im lặng khó xử tại một thời điểm trong cuộc đời, "Tôi có nói tiếp không?" Giờ thì bạn không phải lo lắng vì SASSIE được thiết kế đặc biệt để nhận ra một khoảng lặng khó xử và sau đó vô hiệu hóa nó bằng cách quyết định ngẫu nhiên ai sẽ nói tiếp theo. Giờ đây, bạn có thể tham gia vào một cuộc trò chuyện mà không cần căng thẳng khi biết rằng SASSIE luôn hỗ trợ bạn.

Bước 1: Các bộ phận, vật liệu và công cụ

Bộ phận Arduino

2 X Arduino Uno R3

2 X Micrô Arduino

1 X Tấm chắn SD không dây XBee

Loa 1 X 1/2 w 8 Volt

1 X Half Size Breadboard

1 X Động cơ bước Arduino

Bảng điều khiển động cơ bước 1X ULN 2003

1 X Micro Servo

Đế và Vỏ (Thành phần Cắt Laser)

Tất cả các thành phần được liệt kê dưới đây đều có thể được cắt bằng laser trên Birch Ply Fullbed (32 "X 18")

1 - Cơ sở

1 X tấm cơ sở dưới cùng

1 X Chiều dài Dài Ngắn Chiều cao Dải lưới thẳng

1 tấm đế trên cùng

4 X Chiều dài Ngắn Chiều cao Cao Chiều cao Lưới Dải bên hông thẳng

2 - Chính

Máy giặt động cơ bước 1 X

1 X tấm chính dưới cùng

1 X Chiều dài trung bình Chiều cao trung bình Dải lưới thẳng

1 X Vòng chính trên cùng

1 X Chiều dài Ngắn Chiều cao Chiều cao Thẳng Dải bên

1 X Tấm dải bên trên

1 X tấm hình chữ nhật nhỏ (cho Micro Servo)

3 - Chân đế micrô

4 X tấm cơ sở

1 X 13 cm 3/16 Dowel (với mặt trong ở 30 độ)

1 X Tấm hình chữ nhật Nhỏ (Dành cho Micrô)

Bước 2: Mạch

Mạch điện
Mạch điện
Mạch điện
Mạch điện

Bước 3: Chế tạo máy (Cơ khí và lắp ráp)

Chế tạo máy (Cơ khí và lắp ráp)
Chế tạo máy (Cơ khí và lắp ráp)

1_Pre-Assembly

  • (Tùy chọn) Cát tất cả các thành phần lớp bạch dương để hoàn thiện nguyên sơ
  • Làm ướt toàn bộ dải bạch dương và sau đó uốn cong để tạo hình tròn.
  • Quấn quanh dải bạch dương bằng cách sử dụng băng che để giữ hình tròn
  • Để nó qua đêm cho dải giữ lại hình thức tròn

2_Housing Assembly

Cơ sở

  1. Keo tấm nền dưới cùng với lớp da cơ bản
  2. Dán bốn tấm Bottom Side Strip với nhau và sau đó dán phần đó lên mép của tấm Base trên cùng
  3. Dán Động cơ bước lên giữa Tấm đế trên cùng (HÃY NHỚ chạm vào cùng phía với Tấm Dải Bên & căn chỉnh phần quay thực tế của động cơ với tâm của máy)
  4. lắp Máy giặt động cơ bước vào Động cơ bước '

Chủ chốt

  1. Dán Tấm chính dưới cùng vào Da chính
  2. Dán Vòng Da Chính lên trên Da Chính
  3. chèn dải bên vào dải bên trên cùng trượt
  4. Keo tấm động cơ Servo vuông góc với dải phía trên cùng

3_Thội đồng

  1. Cẩn thận đặt breadboard và hai UNO R3 với SD Shield bên trong thùng cơ sở
  2. Đặt Tấm đế trên cùng lên thùng và đảm bảo tất cả các cảm biến và Bộ truyền động đi qua các lỗ trên cùng
  3. Dán Động cơ bước lên giữa Tấm đế trên cùng (HÃY NHỚ chạm vào cùng phía với Tấm Dải Bên & căn chỉnh phần quay thực tế của động cơ với tâm của máy)
  4. Lắp Máy giặt Động cơ Bước vào Động cơ Bước
  5. Đặt thành phần chính vào máy giặt
  6. Gắn thành phần dải bên vào thanh trượt của đế dải bên
  7. Dán Băng dính Mô tơ Servo vào mặt bên của Tấm Mô tơ Servo ở đầu trên cùng (nên chạm sang một bên) và sau đó chạm vào dây servo vào bên trong của dải bên
  8. Gắn dấu trên vào động cơ servo
  9. Nhấn vào dấu hiệu bên trên Giao diện chính

4_Microphone Stand Assembly

  1. Keo bốn cơ sở với nhau
  2. Dán mặt phẳng của chốt vào đế
  3. Dán tấm micrô vào cạnh góc của chốt
  4. dán micrô vào tấm micrô

Bước 4: Lập trình

Do kích thước hạn chế của bảng Arduino Uno, hai bảng Arduino được sử dụng trong dự án này. Bo mạch chính được sử dụng cho hầu hết các chức năng, bao gồm đếm thời gian im lặng, xử lý dữ liệu âm thanh, nói chuyện với người dùng và giao tiếp với bảng thứ hai.

#include #include

#bao gồm

#bao gồm

// SD phải kết nối với chân 11, 12, 13. Chân tương tự 10 là

// bắt buộc hoặc được gọi bằng SD.begin ().

const int servoPin = 3;

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

int volume1;

int volume2; float im lặngTime = 0;

Biểu ngữ Servo;

TMRpcm plr;

void setup () {

// đặt mã thiết lập của bạn ở đây, để chạy một lần: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serial.begin (9600); Serial.println ("Chào mừng bạn đến với cổng chẩn đoán SASSIE."); banner.attach (servoPin); banner.write (0); if (! SD.begin (10)) {Serial.println ("SD thất bại"); } plr.speakerPin = 9; plr.setVolume (5); }

void loop () {

volume1 = digitalRead (micPin1); volume2 = digitalRead (micPin2); banner.write (0); if (volume1 == 0 và volume2 == 0) {silenceTime + = 0,05; Serial.print ("Thời gian im lặng:"); Serial.println (thời gian im lặng); } else {im lặngTime = 0; banner.write (0); } delay (50); if (silenceTime> = AWKS) {Rescue (); thời gian im lặng = 0; }}

void cứu () {

for (int angle = 0; angle <90; angle + = 1) {banner.write (angle); chậm trễ (35); } Serial.println ("Banner on"); chậm trễ (100); Serial.write (1); Serial.println ("Bài hát trên"); plr.play ("4.wav"); trì hoãn (10000); plr.stopPlayback (); vòng(); trì hoãn (10000); chậm trễ (5000); plr.play ("2.wav"); chậm trễ (5000); plr.play ("3.wav"); }

Mã của bảng thứ hai rất đơn giản. Nó chỉ điều khiển động cơ bước khi bo mạch chính gửi tín hiệu đến nó.

#bao gồm

const int stepPin1 = 8;

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

bool motorState = false;

Bước stepMotor (motorSteps, stepPin1, stepPin2, stepPin3, stepPin4);

void setup () {

// đặt mã thiết lập của bạn ở đây, để chạy một lần: stepMotor.setSpeed (75); }

void loop () {

// đặt mã chính của bạn ở đây, để chạy lặp lại: int incoming = Serial.read (); if (đến == 1) {Serial.println ("đã kích hoạt"); if (motorState == 0) {stepMotor.step (1000); chậm trễ (5000); } else {stepMotor.step (-1000); } motorState =! motorState; } delay (500); }

Đề xuất: