Isi kandungan:

SASSIE: Sistem Penyelesaian Senyap dan Penambah Interaksi Yang Canggung: 5 Langkah
SASSIE: Sistem Penyelesaian Senyap dan Penambah Interaksi Yang Canggung: 5 Langkah

Video: SASSIE: Sistem Penyelesaian Senyap dan Penambah Interaksi Yang Canggung: 5 Langkah

Video: SASSIE: Sistem Penyelesaian Senyap dan Penambah Interaksi Yang Canggung: 5 Langkah
Video: PEMUDA KAYA RAYA BAB 251-300 2024, Julai
Anonim
Image
Image
Bahagian, Bahan dan Alat
Bahagian, Bahan dan Alat

SASSIE adalah jawapan kepada pertanyaan yang kita semua tanyakan kepada diri kita sendiri semasa keheningan yang canggung pada satu ketika dalam hidup kita, "Adakah saya bercakap seterusnya?" Sekarang anda tidak perlu risau kerana SASSIE dirancang khusus untuk mengenali keheningan yang canggung, dan kemudian meneutralkannya dengan memutuskan secara rawak siapa yang harus bercakap seterusnya. Sekarang anda boleh menjalani perbualan tanpa tekanan, dengan mengetahui bahawa SASSIE mempunyai sokongan anda.

Langkah 1: Bahagian, Bahan dan Alat

Bahagian Arduino

2 X Arduino Uno R3

2 X Mikrofon Arduino

1 X XBee Wireless SD Shield

1 X 1/2 w 8 Volt Speaker

1 X Breadboard Saiz Separuh

1 X Arduino Stepper Motor

Papan Pemacu Motor Stepper 1X ULN 2003

Servo Mikro 1 X

Pangkalan dan Perumahan (Komponen Potong Laser)

Semua komponen yang disenaraikan di bawah boleh tetapi memotong laser pada Birbed Ply Fullbed (32 "X 18")

1 - Pangkalan

1 X Plat Bawah Bawah

1 X Jalur kisi lurus panjang pendek panjang tinggi

1 X Plat Bawah Atas

4 X Panjang Pendek Tinggi Ketinggian Lurus Kisi Pangkal Bahagian Sisi

2 - Utama

1 X Mesin basuh Stepper Motor

1 X Plat Utama Bawah

1 X Panjang sederhana Jalur Kisi Lurus Tinggi Tinggi

1 X Gelang Utama Atas

1 X Jalur Sisi Panjang Pendek Tinggi Tinggi Lurus Kisi Lurus

1 X Plat Bahagian Bahagian Atas

1 X Plat Segi Empat Kecil (Untuk Servo Mikro)

3 - Dudukan Mikrofon

Plat asas 4 X

Dowel 1 X 13 cm 3/16 (dengan sisi 30 darjah)

1 X Plat Segi Empat Kecil (Untuk Mikrofon)

Langkah 2: Litar

Litar
Litar
Litar
Litar

Langkah 3: Pembuatan Mesin (Mekanik dan Pemasangan)

Pembuatan Mesin (Mekanik dan Pemasangan)
Pembuatan Mesin (Mekanik dan Pemasangan)

1_Perhimpunan Pra

  • (Pilihan) Pasir semua komponen lapis birch hingga selesai murni
  • Basahkan keseluruhan jalur lapis birch dan kemudian bengkokkan untuk membuat bentuk bulat.
  • Balut jalur birch ply menggunakan pita pelekat untuk menahan bentuk bulat
  • Biarkan semalaman agar jalur mengekalkan bentuk bulat

2_ Majlis Rumah Tangga

Pangkalan

  1. Lekatkan Plat Bawah Bawah ke Kulit Pangkal
  2. Lekatkan empat Plat Jalur Samping Bawah bersama-sama dan kemudian lekatkan bahagian itu ke tepi Plat Bawah Atas
  3. Ketik motor Stepper ke tengah Plat Bawah Atas (INGAT untuk mengetuk bahagian yang sama dengan Plat Jalur Samping & sejajarkan bahagian motor yang betul-betul berputar ke tengah mesin)
  4. masukkan Mesin Cuci Motor Stepper ke Motor Stepper '

Utama

  1. Lekatkan Plat Utama Bawah ke Kulit Utama
  2. Lekatkan Cincin Kulit Utama di atas Kulit Utama
  3. masukkan jalur sisi ke bahagian sisi atas slaid
  4. Lekatkan Plat Motor Servo berserenjang dengan jalur sisi atas

3_ Majlis

  1. Letakkan papan roti dan dua UNO R3 dengan berhati-hati dengan Perisai SD di dalam tong sampah
  2. Letakkan Plat Bawah Atas ke tong sampah dan pastikan semua sensor dan Penggerak melalui bukaan plat atas
  3. Ketik motor Stepper ke bahagian tengah Plat Bawah Atas (INGAT untuk mengetuk sisi yang sama dengan Plat Jalur Samping & sejajarkan bahagian motor yang betul-betul berputar ke tengah mesin)
  4. Masukkan Mesin Cuci Motor Stepper ke Motor Stepper
  5. Letakkan Komponen Utama ke mesin basuh
  6. Pasang komponen jalur sisi ke dalam gelongsor dasar jalur sisi
  7. Pita Motor Servo ke sisi Plat Servo Motor di hujung atas (harus diketuk ke sisi) dan kemudian ketuk pendawaian servo ke bahagian dalam jalur sisi
  8. Pasang tanda teratas pada motor servo
  9. Ketik tanda sebelah pada Kulit Utama

Pemasangan Diri Mikrofon

  1. Lekatkan empat pangkalan itu bersama-sama
  2. Lekatkan bahagian rata dowel ke pangkal
  3. Lekatkan plat mikrofon ke sisi dowel yang bersudut
  4. pita mikrofon ke piring mikrofon

Langkah 4: Pengaturcaraan

Oleh kerana saiz papan Arduino Uno yang terhad, dua papan Arduino digunakan dalam projek ini. Papan utama digunakan untuk kebanyakan fungsi, termasuk menghitung waktu senyap, memproses data suara, bercakap dengan pengguna, dan berkomunikasi dengan papan kedua.

#sertakan #sertakan

#sertakan

#sertakan

// SD mesti disambungkan ke pin 11, 12, 13. Pin tambahan 10 ialah

// diperlukan atau dipanggil dengan SD.begin ().

const int servoPin = 3;

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

int volume1;

int volume2; float silentTime = 0;

Sepanduk servo;

TMRpcm plr;

batal persediaan () {

// letakkan kod persediaan anda di sini, untuk dijalankan sekali: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serial.begin (9600); Serial.println ("Selamat datang ke portal diagnosis SASSIE."); banner.attach (servoPin); banner.write (0); jika (! SD.begin (10)) {Serial.println ("SD gagal"); } plr.speakerPin = 9; plr.setVolume (5); }

gelung kosong () {

isipadu1 = digitalRead (micPin1); isipadu2 = digitalRead (micPin2); banner.write (0); if (volume1 == 0 dan volume2 == 0) {silentTime + = 0.05; Serial.print ("Masa senyap:"); Serial.println (silentTime); } lain {silentTime = 0; banner.write (0); } kelewatan (50); if (silentTime> = AWKS) {menyelamatkan (); silentTime = 0; }}

penyelamatan terbatal () {

untuk (sudut int = 0; sudut <90; sudut + = 1) {banner.write (sudut); kelewatan (35); } Serial.println ("Banner on"); kelewatan (100); Serial.write (1); Serial.println ("Song on"); plr.play ("4.wav"); kelewatan (10000); plr.stopPlayback (); gelung (); kelewatan (10000); kelewatan (5000); plr.play ("2.wav"); kelewatan (5000); plr.play ("3.wav"); }

Kod papan kedua mudah. Ia hanya menggerakkan motor melangkah ketika papan utama menghantar isyarat kepadanya.

#sertakan

const int stepPin1 = 8;

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

bool motorState = palsu;

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

batal persediaan () {

// letakkan kod persediaan anda di sini, untuk dijalankan sekali: stepMotor.setSpeed (75); }

gelung kosong () {

// letakkan kod utama anda di sini, untuk dijalankan berulang kali: int masuk = Serial.read (); jika (masuk == 1) {Serial.println ("diaktifkan"); jika (motorState == 0) {stepMotor.step (1000); kelewatan (5000); } lain {stepMotor.step (-1000); } motorState =! motorState; } kelewatan (500); }

Disyorkan: