Mundarija:

SASSIE: noqulay sukunat echimi va o'zaro ta'sirni kuchaytirish tizimi: 5 qadam
SASSIE: noqulay sukunat echimi va o'zaro ta'sirni kuchaytirish tizimi: 5 qadam

Video: SASSIE: noqulay sukunat echimi va o'zaro ta'sirni kuchaytirish tizimi: 5 qadam

Video: SASSIE: noqulay sukunat echimi va o'zaro ta'sirni kuchaytirish tizimi: 5 qadam
Video: Брутальная перфорация подчинённых ► 5 Прохождение Kena: Bridge of Spirits 2024, Noyabr
Anonim
Image
Image
Qismlar, materiallar va asboblar
Qismlar, materiallar va asboblar

SASSIE - bu hayotimizning bir nuqtasida noqulay sukunat chog'ida hammamiz o'zimizga bergan savolga javob: "Men keyingi gaplashamanmi?" Endi siz xavotirlanmasligingiz kerak, chunki SASSIE noqulay sukunatni tan olish uchun mo'ljallangan va keyin tasodifan kim gapirishi kerakligini hal qilib, uni zararsizlantirish uchun mo'ljallangan. Endi siz SASSIE sizning orqangizda ekanligini bilib, stresssiz suhbatga kirishingiz mumkin.

1 -qadam: ehtiyot qismlar, materiallar va asboblar

Arduino qismlari

2 X Arduino Uno R3

2 ta Arduino mikrofoni

1 X XBee simsiz SD qalqoni

1 X 1/2 w 8 voltli dinamik

1 X yarim o'lchamli non paneli

1 x Arduino qadam dvigateli

1X ULN 2003 qadamli motorli boshqaruv paneli

1 X mikro -servo

Asosiy va korpus (lazerli kesish komponentlari)

Quyida sanab o'tilgan barcha komponentlar birchli qatlamli lazer bilan kesilishi mumkin (32 "X 18")

1 - tayanch

1 X pastki taglik plitasi

1 X uzun uzunlikdagi qisqa balandlikdagi tekis panjarali chiziq

1 X yuqori taglik plitasi

4 X Qisqa uzunlikdagi baland bo'yli tekis panjarali yon chiziqli tayanch

2 - Asosiy

1 X qadamli motorli kir yuvish mashinasi

1 X pastki plastinka

1 X O'rta uzunlikdagi o'rtacha balandlikdagi tekis panjarali chiziq

1 X asosiy halqa

1 X Qisqa uzunlikdagi baland bo'yli tekis panjarali yon chiziq

1 X yuqori yon chiziqli plastinka

1 X kichik to'rtburchaklar plastinka (mikro servo uchun)

3 - mikrofon stendi

4 X asosiy plastinka

1 X 13 sm 3/16 dyuymli dublon (30 daraja yon tomonda)

1 X kichik to'rtburchaklar plastinka (mikrofon uchun)

2 -qadam: O'chirish

O'chirish
O'chirish
O'chirish
O'chirish

3 -qadam: Mashinasozlik (mexanika va montaj)

Mashinasozlik (mexanika va montaj)
Mashinasozlik (mexanika va montaj)

1_O'rnatishdan oldin

  • (Majburiy emas) Qayin qatlamining barcha komponentlarini toza ko'rinishga qadar qumlang
  • Qayinning barcha qatlamini namlang, so'ngra egilib dumaloq shakl hosil qiling.
  • Dumaloq shaklni ushlab turish uchun niqobli lenta yordamida qayin qatlamli ipini o'rang
  • Ip dumaloq shaklini saqlab qolishi uchun uni bir kechada qoldiring

2_ Uy -joy yig'ilishi

Baza

  1. Pastki taglik plitasini asosiy teriga yopishtiring
  2. Pastki yon chiziqli to'rtta plastinkani bir -biriga yopishtiring va keyin uning yuqori qismini asosiy plastinkaning chetiga yopishtiring
  3. Stepper dvigatelini ustki plastinkaning o'rtasiga bog'lab qo'ying (yon chiziqli plastinkaning bir tomoniga tegib, dvigatelning aylanadigan qismini mashinaning o'rtasiga tekislang).
  4. Step vosita yuvish mashinasini qadam dvigateliga joylashtiring

Asosiy

  1. Asosiy plastinkani pastki teriga yopishtiring
  2. Asosiy teri halqasini bosh terisiga yopishtiring
  3. yon chiziqni yuqori yon chiziqli slaydga joylashtiring
  4. Servo dvigatel plitasini yuqori yon chiziqqa perpendikulyar yopishtiring

3_ Assambleyasi

  1. Non paneli va ikkita UNO R3ni SD qalqoni bilan birga axlat qutisiga ehtiyotkorlik bilan joylashtiring
  2. Yuqori plastinkani axlat qutisiga joylashtiring va barcha sensorlar va aktuatorlarning yuqori plastinka teshiklaridan o'tishiga ishonch hosil qiling
  3. Stepper dvigatelini yuqori taglik plitasining o'rtasiga bog'lab qo'ying (yon chiziqli plastinkaning bir tomoniga tegib, dvigatelning aylanadigan qismini mashinaning o'rtasiga tekislang).
  4. Bosqichli motor yuvish mashinasini qadam motoriga joylashtiring
  5. Asosiy komponentni kir yuvish mashinasiga joylashtiring
  6. Yon chiziqli komponentni yon chiziqli taglik slaydiga ulang
  7. Servo dvigatelni yuqori uchidagi Servo dvigatel plastinkasining yon tomoniga mahkamlang (yon tomonga urish kerak) va keyin servo simini yon chiziqning ichki qismiga bosing.
  8. Yuqori belgini servo dvigatelga ulang
  9. Asosiy teridagi yon belgini bosing

4_Mikrofon stendining yig'ilishi

  1. To'rtta tayanchni bir -biriga yopishtiring
  2. Dübelning tekis tomonini taglikka yopishtiring
  3. Dübelning burchakli tomoniga mikrofon plitasini yopishtiring
  4. mikrofonni plastinkaga yopishtiring

4 -qadam: dasturlash

Arduino Uno taxtasining o'lchamlari cheklanganligi sababli, bu loyihada ikkita Arduino taxtasi ishlatiladi. Asosiy karta ko'p funktsiyalarni bajarish uchun ishlatiladi, shu jumladan, sukunat vaqtini hisoblash, ovozli ma'lumotlarni qayta ishlash, foydalanuvchilar bilan gaplashish va ikkinchi karta bilan aloqa qilish.

#qo'shing #qo'shing

#qo'shing

#qo'shing

// SD 11, 12, 13 -pinlarga ulanishi kerak

// talab qilinadi yoki SD.begin () bilan chaqiriladi.

const int servoPin = 3;

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

int hajmi 1;

int hajmi 2; suzuvchi sukunatTime = 0;

Servo banner;

TMRpcm plr;

bo'sh o'rnatish () {

// bir marta ishga tushirish uchun sozlash kodini bu erga qo'ying: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serial.begin (9600); Serial.println ("SASSIE diagnostika portaliga xush kelibsiz."); banner.attach (servoPin); banner.write (0); if (! SD.begin (10)) {Serial.println ("SD muvaffaqiyatsiz"); } plr.speakerPin = 9; plr.setVolume (5); }

void loop () {

tovush1 = digitalRead (micPin1); tovush2 = digitalRead (micPin2); banner.write (0); if (volume1 == 0 va volume2 == 0) {silenceTime += 0,05; Serial.print ("Jim turish vaqti:"); Serial.println (silenceTime); } boshqa {silenceTime = 0; banner.write (0); } kechiktirish (50); if (silenceTime> = AWKS) {qutqarish (); silenceTime = 0; }}

bekor qutqarish () {

uchun (int burchagi = 0; burchak <90; burchak += 1) {banner.write (burchak); kechikish (35); } Serial.println ("Banner yoqilgan"); kechikish (100); Serial.write (1); Serial.println ("Qo'shiq yoqilgan"); plr.play ("4.wav"); kechikish (10000); plr.stopPlayback (); pastadir (); kechikish (10000); kechikish (5000); plr.play ("2.wav"); kechikish (5000); plr.play ("3.wav"); }

Ikkinchi taxtaning kodi oddiy. U faqat asosiy karta signal yuborganida, qadam motorini boshqaradi.

#qo'shing

const int stepPin1 = 8;

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

bool motorState = noto'g'ri;

Step step motor (motorli qadamlar, stepPin1, stepPin2, stepPin3, stepPin4);

bo'sh o'rnatish () {

// sozlash kodini bir marta ishga tushirish uchun bu erga qo'ying: stepMotor.setSpeed (75); }

void loop () {

// qayta ishga tushirish uchun asosiy kodingizni bu erga qo'ying: int incoming = Serial.read (); agar (kiruvchi == 1) {Serial.println ("faollashtirilgan"); agar (motorState == 0) {stepMotor.step (1000); kechikish (5000); } boshqa {stepMotor.step (-1000); } motorState =! motorState; } kechikish (500); }

Tavsiya: