Sadržaj:

SASSIE: Sistem za neugodno rešenje tišine i pojačivač interakcije: 5 koraka
SASSIE: Sistem za neugodno rešenje tišine i pojačivač interakcije: 5 koraka

Video: SASSIE: Sistem za neugodno rešenje tišine i pojačivač interakcije: 5 koraka

Video: SASSIE: Sistem za neugodno rešenje tišine i pojačivač interakcije: 5 koraka
Video: Головные боли. Упражнения опасные и безопасные 2024, Novembar
Anonim
Image
Image
Dijelovi, materijali i alati
Dijelovi, materijali i alati

SASSIE je odgovor na pitanje koje smo si svi postavili tokom neugodne tišine u jednom trenutku svog života, "Da li ću ja govoriti dalje?" Pa sada ne morate brinuti jer je SASSIE posebno dizajniran za prepoznavanje neugodne tišine, a zatim je neutralizira nasumičnim odlučivanjem tko bi trebao dalje govoriti. Sada možete ući u razgovor bez stresa, znajući da vam SASSIE leđa.

Korak 1: Dijelovi, materijali i alati

Arduino dijelovi

2 X Arduino Uno R3

2 X Arduino mikrofon

1 X XBee bežični SD štit

1 X 1/2 w 8 Voltni zvučnik

1 X Oglasna ploča pola veličine

1 X Arduino koračni motor

1X ULN 2003 pogonska ploča koračnih motora

1 X mikro servo

Baza i kućište (komponente izrezane laserom)

Sve dolje navedene komponente mogu se laserski izrezati na Birch Ply Fullbed (32 "X 18")

1 - Baza

1 X Donja osnovna ploča

1 X Dugačka ravna rešetkasta traka kratke visine

1 X gornja osnovna ploča

4 X Kratka dužina Visoka visina Ravna rešetkasta baza sa bočnim trakama

2 - Glavni

1 X Perilica koračnih motora

1 X Donja glavna ploča

1 X Ravna rešetkasta traka prosječne visine srednje dužine

1 X Top Main Ring

1 X Visoka visina kratke dužine, ravna rešetkasta bočna traka

1 X gornja bočna ploča

1 X Mala pravokutna ploča (za mikro servo)

3 - Stalak za mikrofon

4 X osnovna ploča

1 X 13 cm 3/16 tipla (sa stranom na 30 stepeni)

1 X Mala pravokutna ploča (za mikrofon)

Korak 2: Krug

Krug
Krug
Krug
Krug

Korak 3: Izrada mašina (mehanika i montaža)

Mašinska izrada (mehanika i montaža)
Mašinska izrada (mehanika i montaža)

1_Pre-montaža

  • (Opciono) Sve komponente brezovog sloja izbrusite do netaknute boje
  • Navlažite cijelu traku od brezovog sloja, a zatim je savijte kako biste stvorili kružnu formu.
  • Omotajte traku od brezovog sloja pomoću maskirne trake kako biste zadržali kružnu formu
  • Ostavite da odstoji preko noći da traka zadrži kružni oblik

2_Sklop kućišta

Baza

  1. Zalijepite donju osnovnu ploču na podlogu
  2. Zalijepite četiri donje bočne ploče zajedno, a zatim zalijepite taj dio na ivicu gornje osnovne ploče
  3. Zalijepite koračni motor na središte gornje osnovne ploče (ZAPAMTITE da kucnete na istoj strani kao i bočna traka i poravnate stvarni rotirajući dio motora sa središtem stroja)
  4. umetnite mašinu za pranje koračnih motora na koračni motor '

Main

  1. Zalijepite donju glavnu ploču na glavnu kožu
  2. Zalijepite prsten glavne kože na vrh glavne kože
  3. umetnite bočnu traku u gornju kliznu bočnu traku
  4. Zalijepite ploču servo motora okomito na gornju bočnu traku

3_Skupština

  1. Pažljivo postavite matičnu ploču i dva UNO R3 sa SD štitom u osnovnu ladicu
  2. Postavite gornju osnovnu ploču na kantu i provjerite da li svi senzori i aktuatori prolaze kroz otvore gornje ploče
  3. Zalijepite koračni motor na središte gornje osnovne ploče (ZAPAMTITE da kucnete na istoj strani kao i bočna traka i poravnate stvarni rotirajući dio motora sa središtem stroja)
  4. Umetnite podlošku za koračni motor na koračni motor
  5. Stavite glavnu komponentu na mašinu za pranje
  6. Pričvrstite komponentu bočne trake u klizni poklopac osnove bočne trake
  7. Zalijepite servo motor sa strane ploče servo motora na gornjem kraju (treba kucnuti bočno), a zatim kucnite ožičenje servo motora s unutrašnje strane bočne trake
  8. Pričvrstite gornji znak na servo motor
  9. Dodirnite bočni znak na glavnoj koži

4_ Sklop postolja za mikrofon

  1. Zalijepite četiri baze zajedno
  2. Zalijepite ravnu stranu tiple na podlogu
  3. Zalijepite ploču mikrofona na kutnu stranu tiple
  4. zalijepite mikrofon na ploču mikrofona

Korak 4: Programiranje

Zbog ograničene veličine Arduino Uno ploče, u ovom projektu se koriste dvije Arduino ploče. Glavna ploča se koristi za većinu funkcija, uključujući brojanje vremena tišine, obradu zvučnih podataka, razgovor sa korisnicima i komunikaciju s drugom pločom.

#include #include

#include

#include

// SD se mora spojiti na pin 11, 12, 13. Anadicionalni pin 10 je

// potrebno ili pozvano sa SD.begin ().

const int servoPin = 3;

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

int volume1;

int volume2; float silenceTime = 0;

Servo banner;

TMRpcm plr;

void setup () {

// ovdje postavite svoj kod za postavljanje, da biste ga jednom pokrenuli: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serial.begin (9600); Serial.println ("Dobro došli na dijagnostički portal SASSIE."); banner.attach (servoPin); banner.write (0); if (! SD.begin (10)) {Serial.println ("SD neuspjeh"); } plr.speakerPin = 9; plr.setVolume (5); }

void loop () {{100} {101}

volumen1 = digitalno čitanje (micPin1); volumen2 = digitalno čitanje (micPin2); banner.write (0); if (volume1 == 0 i volume2 == 0) {silenceTime += 0.05; Serial.print ("Vrijeme šutnje:"); Serial.println (silenceTime); } else {silenceTime = 0; banner.write (0); } kašnjenje (50); if (silenceTime> = AWKS) {rescue (); silenceTime = 0; }}

void rescue () {

for (int angle = 0; angle <90; angle += 1) {banner.write (angle); kašnjenje (35); } Serial.println ("Baner uključen"); kašnjenje (100); Serial.write (1); Serial.println ("Pjesma uključena"); plr.play ("4.wav"); kašnjenje (10000); plr.stopPlayback (); petlja(); kašnjenje (10000); kašnjenje (5000); plr.play ("2.wav"); kašnjenje (5000); plr.play ("3.wav"); }

Kod druge ploče je jednostavan. On pokreće koračni motor samo kada mu glavna ploča šalje signal.

#include

const int stepPin1 = 8;

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

bool motorState = false;

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

void setup () {

// ovdje postavite svoj kod za postavljanje, da biste ga jednom pokrenuli: stepMotor.setSpeed (75); }

void loop () {{100} {101}

// ovde unosite svoj glavni kod, da bi se ponavljao: int incoming = Serial.read (); if (dolazni == 1) {Serial.println ("aktivirano"); if (motorState == 0) {stepMotor.step (1000); kašnjenje (5000); } else {stepMotor.step (-1000); } motorState =! motorState; } kašnjenje (500); }

Preporučuje se: