Mündəricat:

SASSIE: yöndəmsiz səssizliyin həlli və qarşılıqlı təsir gücləndirici sistem: 5 addım
SASSIE: yöndəmsiz səssizliyin həlli və qarşılıqlı təsir gücləndirici sistem: 5 addım

Video: SASSIE: yöndəmsiz səssizliyin həlli və qarşılıqlı təsir gücləndirici sistem: 5 addım

Video: SASSIE: yöndəmsiz səssizliyin həlli və qarşılıqlı təsir gücləndirici sistem: 5 addım
Video: Записки дурнушки_Рассказ_Слушать 2024, Iyul
Anonim
Image
Image
Parçalar, Materiallar və Alətlər
Parçalar, Materiallar və Alətlər

SASSIE, həyatımızın bir nöqtəsindəki yöndəmsiz bir səssizlik zamanı hamımızın özümüzə verdiyimiz sualın cavabıdır: "Sonra danışacağam?" Yaxşı, indi narahat olmaq lazım deyil, çünki SASSIE xüsusi olaraq yöndəmsiz bir sükutu tanımaq və sonra kimin danışacağını təsadüfi qərar verməklə neytrallaşdırmaq üçün hazırlanmışdır. İndi SASSIE -nin arxanızda olduğunu bilə -bilə stress olmadan söhbətə girə bilərsiniz.

Addım 1: Parçalar, Materiallar və Alətlər

Arduino hissələri

2 X Arduino Uno R3

2 X Arduino Mikrofonu

1 X XBee Simsiz SD Qalxanı

1 X 1/2 w 8 Volt Dinamik

1 X Yarım Ölçülü Çörək Paneli

1 X Arduino Step Motoru

1X ULN 2003 Step Motor Sürücü Kartı

1 X Mikro Servo

Baza və Gövdə (Lazer Kesim Komponentləri)

Aşağıda sadalanan bütün komponentlər ancaq Birch Ply Fullbed (32 "X 18") üzərində lazerlə kəsilə bilər.

1 - Əsas

1 X Alt Baza Lövhəsi

1 X Uzun uzunluqlu Qısa Boy Düz Kafes Zolağı

1 X Üst Baza Lövhəsi

4 X Qısa Uzunluqlu Uzun Boylu Düz Kafes Yan Şerit Baza

2 - Əsas

1 X Step Motor Yuyucusu

1 X Alt Ana Plaka

1 X Orta uzunluqda Orta Boy Düz Kafes Zolağı

1 X Üst Əsas Üzük

1 X Qısa Uzunluqlu Uzun Boylu Düz Kafes Yan Zolaq

1 X Üst Yan Zolaqlı Lövhə

1 X Kiçik Düzbucaqlı Plaka (Mikro Servo üçün)

3 - Mikrofon Stendi

4 X Baza Lövhəsi

1 X 13 sm 3/16 Dübel (başı 30 dərəcə)

1 X Kiçik Düzbucaqlı Plaka (Mikrofon üçün)

Addım 2: Dövrə

Dövrə
Dövrə
Dövrə
Dövrə

Addım 3: Maşın Hazırlanması (Mexanika və Montaj)

Maşın Hazırlama (Mexanika və Quraşdırma)
Maşın Hazırlama (Mexanika və Quraşdırma)

1_Öncədən

  • (İsteğe bağlı) Ağcaqayın bütün komponentlərini təmiz bir səthə zımparalayın
  • Bütün ağcaqayın təbəqəsini isladın və sonra əyərək dairəvi bir forma alın.
  • Dairəvi forma tutmaq üçün maskalı bant istifadə edərək ağcaqayın qatının şeridinə sarın
  • Şeridin dairəvi formasını saxlaması üçün bir gecədə oturmasına icazə verin

2_Mənzil Məclisi

Baza

  1. Alt Baza Plakasını Əsas Dəriyə Yapışdırın
  2. Dörd Alt Yan Zolaqlı Lövhəni bir -birinə yapışdırın və sonra həmin hissəni Üst Baza Lövhəsinin kənarına yapışdırın
  3. Stepper motorunu Üst Baza Lövhəsinin ortasına yapışdırın (Yan Zolaqlı Lövhə ilə eyni tərəfə vurmaq və motorun həqiqi dönən hissəsini maşının mərkəzinə hizalamaq üçün YAXTIYIN)
  4. Step Motor Yuyucusunu Step Motoruna daxil edin

Əsas

  1. Alt Ana Plitəni Ana Dəriyə Yapışdırın
  2. Əsas Dərinin Üzüyünü Əsas Dərinin üzərinə yapışdırın
  3. yan şeridi sürüşdürülmüş üst zolağa daxil edin
  4. Servo Motor Lövhəsini yuxarı yan zolağa dik olaraq yapışdırın

3_ Məclis

  1. Çörək taxtasını və SD Qalxanlı iki UNO R3 -ü diqqətlə alt çöp qutusunun içinə qoyun
  2. Üst Baza Plakasını çöpün üzərinə qoyun və bütün sensörlərin və Aktuatorların üst plaka açılışlarından keçməsinə əmin olun
  3. Stepper motorunu Üst Baza Lövhəsinin ortasına bantlayın (Yan Şerit Plakası ilə eyni tərəfə vurmaq və motorun həqiqi dönən hissəsini maşının mərkəzinə hizalamaq üçün YADDA DAYIN)
  4. Step Motor Yuyucusunu Step Motora daxil edin
  5. Əsas Komponenti yuyucunun üzərinə qoyun
  6. Yan şerit komponentini yan şerit baza sürüşməsinə bağlayın
  7. Servo Motoru yuxarı ucunda Servo Motor Lövhəsinin yan tərəfinə yapışdırın (yan tərəfə vurulmalıdır) və sonra servo naqillərini yan şeridin içərisinə vurun
  8. Üst işarəni servo motora yapışdırın
  9. Ana Dərinin yan işarəsinə vurun

4_Mikrofon Stendi Qurğusu

  1. Dörd bazanı bir -birinə yapışdırın
  2. Dübelin düz tərəfini bazaya yapışdırın
  3. Mikrofon plitəsini dübelin açılı tərəfinə yapışdırın
  4. mikrofonu lövhəyə yapışdırın

Addım 4: Proqramlaşdırma

Arduino Uno lövhəsinin ölçüsü məhdud olduğundan bu layihədə iki Arduino lövhəsi istifadə olunur. Ana lövhə, səssizlik vaxtının sayılması, səs məlumatlarının işlənməsi, istifadəçilərlə danışmaq və ikinci lövhə ilə əlaqə qurmaq da daxil olmaqla əksər funksiyalar üçün istifadə olunur.

#daxil edin #daxil edin

#daxil edin

#daxil edin

// SD 11, 12, 13 pinlərinə qoşulmalıdır

// tələb olunur və ya SD.begin () ilə çağırılır.

const int servoPin = 3;

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

int həcmi1;

int həcmi2; float silenceTime = 0;

Servo banner;

TMRpcm plr;

boş quraşdırma () {

// bir dəfə işə salmaq üçün quraşdırma kodunuzu bura qoyun: pinMode (servoPin, ÇIXIŞ); pinMode (micPin1, GİRİŞ); pinMode (micPin2, GİRİŞ); Serial.begin (9600); Serial.println ("SASSIE diaqnoz portalına xoş gəldiniz."); banner.attach (servoPin); banner.write (0); əgər (! SD.begin (10)) {Serial.println ("SD uğursuz"); } plr.speakerPin = 9; plr.setVolume (5); }

boşluq döngəsi () {

həcm1 = digitalRead (micPin1); həcmi2 = digitalRead (micPin2); banner.write (0); if (cild1 == 0 və həcm2 == 0) {silenceTime += 0,05; Serial.print ("Səssizlik vaxtı:"); Serial.println (silenceTime); } başqa {silenceTime = 0; banner.write (0); } gecikmə (50); if (silenceTime> = AWKS) {xilasetmə (); silenceTime = 0; }}

boş qurtarma () {

for (int bucaq = 0; bucaq <90; bucaq += 1) {banner.write (bucaq); gecikmə (35); } Serial.println ("Banner açıldı"); gecikmə (100); Serial.write (1); Serial.println ("Mahnı açıq"); plr.play ("4.wav"); gecikmə (10000); plr.stopPlayback (); döngə (); gecikmə (10000); gecikmə (5000); plr.play ("2.wav"); gecikmə (5000); plr.play ("3.wav"); }

İkinci lövhənin kodu sadədir. Yalnız ana lövhə ona bir siqnal göndərdikdə pilləli motoru idarə edir.

#daxil edin

const int stepPin1 = 8;

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

bool motorState = yalan;

Step StepMotor (motor addımları, stepPin1, stepPin2, stepPin3, stepPin4);

boş quraşdırma () {

// bir dəfə işə salmaq üçün quraşdırma kodunuzu bura qoyun: stepMotor.setSpeed (75); }

boşluq döngəsi () {

// əsas kodunuzu bura qoyun, təkrar işləsin: int incoming = Serial.read (); əgər (daxil olan == 1) {Serial.println ("aktivləşdirilmiş"); if (motorState == 0) {stepMotor.step (1000); gecikmə (5000); } başqa {stepMotor.step (-1000); } motorState =! motorState; } gecikmə (500); }

Tövsiyə: