Sisukord:

SASSIE: ebamugava vaikuse lahenduse ja interaktsiooni tõhustaja süsteem: 5 sammu
SASSIE: ebamugava vaikuse lahenduse ja interaktsiooni tõhustaja süsteem: 5 sammu

Video: SASSIE: ebamugava vaikuse lahenduse ja interaktsiooni tõhustaja süsteem: 5 sammu

Video: SASSIE: ebamugava vaikuse lahenduse ja interaktsiooni tõhustaja süsteem: 5 sammu
Video: Riigikogu 22.05.2023 2024, Juuli
Anonim
Image
Image
Osad, materjalid ja tööriistad
Osad, materjalid ja tööriistad

SASSIE on vastus küsimusele, mida me kõik oleme oma elu ühel hetkel ebamugava vaikuse ajal endale esitanud: "Kas ma räägin järgmisena?" Nüüd ei pea te muretsema, sest SASSIE on spetsiaalselt loodud ebamugava vaikuse ära tundmiseks ja seejärel selle neutraliseerimiseks, otsustades juhuslikult, kes peaks järgmisena rääkima. Nüüd saate stressivabalt vestlusesse minna, teades, et SASSIE toetab teid.

Samm: osad, materjalid ja tööriistad

Arduino osad

2 X Arduino Uno R3

2 X Arduino mikrofon

1 X XBee traadita SD -kilp

1 X 1/2 w 8 -voldine kõlar

1 X poole suurusega leivaplaat

1 X Arduino samm -mootor

1X ULN 2003 samm -mootori ajamiplaat

1 X Mikroservo

Alus ja korpus (laserlõigatud komponendid)

Kõiki allpool loetletud komponente saab lõigata laseriga kasepõhjalisel täisvoodil (32 "X 18")

1 - alus

1 X Alumine alusplaat

1 X Pikk pikkus lühikese kõrgusega sirge võre riba

1 X ülemine alusplaat

4 X Lühikese pikkusega kõrge kõrgusega sirge võre külgriba alus

2 - peamine

1 X samm -mootoriga pesur

1 X Alumine põhiplaat

1 X keskmise pikkusega keskmise kõrgusega sirge võre riba

1 X Ülemine pearõngas

1 X Lühikese pikkusega kõrge kõrgusega sirge võre külgriba

1 X Ülemine külgriba plaat

1 X väike ristkülikukujuline plaat (mikro servo jaoks)

3 - Mikrofonialus

4 X alusplaat

1 X 13 cm 3/16 tüübel (küljega 30 kraadi juures)

1 X väike ristkülikukujuline plaat (mikrofoni jaoks)

2. samm: ahel

Vooluring
Vooluring
Vooluring
Vooluring

3. samm: masina valmistamine (mehaanika ja kokkupanek)

Masinate valmistamine (mehaanika ja kokkupanek)
Masinate valmistamine (mehaanika ja kokkupanek)

1_Eelne kokkupanek

  • (Valikuline) Lihvige kõik kasekihi komponendid puhtaks
  • Niisutage kogu kasekihi riba ja painutage seejärel ümmarguse vormi saamiseks.
  • Keerake ümmarguse vormi hoidmiseks maskeerimislindiga ümber kasekihiriba
  • Laske sellel üleöö seista, et riba säilitaks ümmarguse vormi

2_Korpus

Alus

  1. Liimige alumine alusplaat alusnaha külge
  2. Liimige neli alumist külgriba plaati kokku ja liimige see osa ülemise alusplaadi servale
  3. Kleepige samm -mootor ülemise alusplaadi keskele (MÄTKE MEELDE, et koputage külgribaplaadiga samal küljel ja joondage mootori tegelik pöörlev osa masina keskele)
  4. sisestage samm -mootori pesur samm -mootori külge”

Peamine

  1. Liimige alumine põhiplaat põhikoore külge
  2. Liimige peanaha rõngas põhikoore peale
  3. sisestage külgriba ülemise külgriba libisemise külge
  4. Liimige servomootori plaat ülemise külgribaga risti

3_Kogu

  1. Asetage leivaplaat ja kaks UNO R3 koos SD -kilbiga aluskarbi sisse
  2. Asetage ülemine alusplaat prügikasti ja veenduge, et kõik andurid ja ajamid läbivad ülemise plaadi avasid
  3. Kleepige samm -mootor ülemise alusplaadi keskele (MÄTKE MEELDE, et koputage külgribaplaadiga samal küljel ja joondage mootori tegelik pöörlev osa masina keskele)
  4. Asetage samm -mootori pesur samm -mootorile
  5. Asetage põhikomponent pesuri peale
  6. Kinnitage külgriba komponent külgriba aluse libisemisse
  7. Kleepige servomootor servomootori plaadi küljele ülemises otsas (tuleks koputada külgsuunas) ja seejärel koputage servo juhtmestikku külgriba siseküljele
  8. Kinnitage ülemine märk servomootori külge
  9. Puudutage põhinaha külgmärki

4_ Mikrofonialuse komplekt

  1. Liimige neli alust kokku
  2. Liimige tüübli tasane külg aluse külge
  3. Liimige mikrofoniplaat tüübli nurga all olevale küljele
  4. kleepige mikrofon teibile

4. samm: programmeerimine

Arduino Uno tahvli piiratud suuruse tõttu kasutatakse selles projektis kahte Arduino plaati. Põhiplaati kasutatakse enamiku funktsioonide jaoks, sealhulgas vaikuse aja lugemine, heliandmete töötlemine, kasutajatega rääkimine ja teise tahvliga suhtlemine.

#kaasama #kaasama

#kaasake

#kaasake

// SD peab ühenduma tihvtiga 11, 12, 13. Lisatihvti 10 on

// nõutav või kutsutud SD.begin ().

const int servoPin = 3;

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

int maht1;

int helitugevus2; float vaikusAeg = 0;

Servo bänner;

TMRpcm plr;

tühine seadistus () {

// pange oma seadistuskood siia, et üks kord käivitada: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Seriaalne algus (9600); Serial.println ("Tere tulemast SASSIE diagnoosiportaali."); banner.attach (servoPin); banner.write (0); if (! SD.begin (10)) {Serial.println ("SD fail"); } plr.kõnelejaPin = 9; plr.setVolume (5); }

void loop () {

volume1 = digitalRead (micPin1); volume2 = digitalRead (micPin2); banner.write (0); if (volume1 == 0 ja volume2 == 0) {vaikusAeg += 0,05; Serial.print ("Vaikimisaeg:"); Serial.println (vaikusTime); } else {vaikusAeg = 0; banner.write (0); } viivitus (50); if (vaikusAeg> = AWKS) {päästmine (); vaikusAeg = 0; }}

tühine päästmine () {

for (int nurk = 0; nurk <90; nurk += 1) {banner.write (nurk); viivitus (35); } Serial.println ("Banner on"); viivitus (100); Serial.write (1); Serial.println ("Laul peal"); plr.play ("4.wav"); viivitus (10000); plr.stopPlayback (); silmus (); viivitus (10000); viivitus (5000); plr.play ("2.wav"); viivitus (5000); plr.play ("3.wav"); }

Teise tahvli kood on lihtne. See juhib samm -mootorit ainult siis, kui emaplaat saadab sellele signaali.

#kaasake

const int sammPin1 = 8;

const int sammPin2 = 9; const int stepPin3 = 10; const int sammPin4 = 11; const int motorSteps = 200;

bool motorState = vale;

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

tühine seadistus () {

// pange oma seadistuskood siia, et üks kord käivitada: stepMotor.setSpeed (75); }

void loop () {

// pange oma põhikood siia, et seda korduvalt käitada: int sissetulev = Serial.read (); if (sissetulev == 1) {Serial.println ("aktiveeritud"); if (motorState == 0) {stepMotor.step (1000); viivitus (5000); } else {stepMotor.step (-1000); } motorState =! motorState; } viivitus (500); }

Soovitan: