Turinys:

SASSIE: nepatogios tylos sprendimo ir sąveikos stiprinimo sistema: 5 žingsniai
SASSIE: nepatogios tylos sprendimo ir sąveikos stiprinimo sistema: 5 žingsniai

Video: SASSIE: nepatogios tylos sprendimo ir sąveikos stiprinimo sistema: 5 žingsniai

Video: SASSIE: nepatogios tylos sprendimo ir sąveikos stiprinimo sistema: 5 žingsniai
Video: СВОБОДНЫЙ! Фильм "Эффект отца"! Простить моего отсутствующего отца за то, что он оставил меня 2024, Lapkritis
Anonim
Image
Image
Dalys, medžiagos ir įrankiai
Dalys, medžiagos ir įrankiai

SASSIE yra atsakymas į klausimą, kurį mes visi sau uždavėme per keblią tylą tam tikru gyvenimo momentu: „Ar aš kalbu toliau? Na, dabar jums nereikia jaudintis, nes SASSIE yra specialiai sukurta atpažinti nepatogią tylą, o tada ją neutralizuoti atsitiktinai nusprendus, kas turėtų kalbėti toliau. Dabar galite pradėti pokalbį be streso, žinodami, kad SASSIE turi jūsų nugarą.

1 žingsnis: dalys, medžiagos ir įrankiai

„Arduino“dalys

2 X „Arduino Uno R3“

2 X „Arduino“mikrofonas

1 X „XBee“belaidis SD skydas

1 X 1/2 w 8 voltų garsiakalbis

1 X pusės dydžio duonos lenta

1 X „Arduino“žingsninis variklis

1X ULN 2003 žingsninio variklio pavaros lenta

1 X „Micro Servo“

Pagrindas ir korpusas (lazeriu supjaustyti komponentai)

Visi toliau išvardyti komponentai gali būti pjaustomi lazeriu ant beržo sluoksnio (32 "X 18")

1 - Bazė

1 X Apatinė pagrindo plokštė

1 X Ilgo ilgio trumpo aukščio tiesių tinklelių juostelė

1 X Viršutinė pagrindo plokštė

4 X Trumpo ilgio aukšto aukščio tiesios grotelės šoninės juostos pagrindas

2 - pagrindinis

1 X žingsninio variklio plovimo mašina

1 X Apatinė pagrindinė plokštė

1 X Vidutinio ilgio vidutinio aukščio tiesios tinklelio juostelės

1 X Viršutinis pagrindinis žiedas

1 X Trumpo ilgio aukšto aukščio tiesios grotelės šoninė juostelė

1 X viršutinė šoninė juostelės plokštė

1 X maža stačiakampė plokštė („Micro Servo“)

3 - Mikrofono stovas

4 X pagrindo plokštė

1 X 13 cm 3/16 kaištis (su 30 laipsnių kampu)

1 X maža stačiakampė plokštė (mikrofonui)

2 žingsnis: grandinė

Grandinė
Grandinė
Grandinė
Grandinė

3 žingsnis: mašinų gamyba (mechanika ir surinkimas)

Mašinų gamyba (mechanika ir surinkimas)
Mašinų gamyba (mechanika ir surinkimas)

1_Išankstinis surinkimas

  • (Neprivaloma) Šlifuokite visus beržo sluoksnio komponentus iki nesugadintos apdailos
  • Sudrėkinkite visą beržo sluoksnio juostą ir sulenkite, kad sukurtumėte apskritimo formą.
  • Apvyniokite beržo sluoksnio juostelę, naudodami maskavimo juostą, kad išlaikytumėte apskritimo formą
  • Palikite per naktį, kad juostelė išlaikytų apskritimo formą

2_Būsto surinkimas

Bazė

  1. Klijuokite apatinę pagrindo plokštę prie pagrindo odos
  2. Klijuokite keturias apatines šonines juostelių plokšteles ir tada klijuokite tą dalį ant viršutinės pagrindo plokštės krašto
  3. Užklijuokite žingsninį variklį ant viršutinės pagrindo plokštės vidurio (atminkite, kad bakstelėkite tą pačią pusę kaip ir šoninės juostos plokštė ir sulygiuokite tikrąją besisukančią variklio dalį prie mašinos centro)
  4. įdėkite žingsninio variklio poveržlę ant žingsninio variklio “

Pagrindinis

  1. Klijuokite apatinę pagrindinę plokštę prie pagrindinės odos
  2. Klijuokite pagrindinį odos žiedą ant pagrindinės odos
  3. įkiškite šoninę juostelę į viršutinę šoninės juostos slankiklį
  4. Klijuokite servo variklio plokštę statmenai viršutinei šoninei juostai

3_Asirinkimas

  1. Atsargiai įdėkite duonos lentą ir du UNO R3 su „SD Shield“į pagrindinę dėžę
  2. Uždėkite viršutinę pagrindo plokštę ant dėžės ir įsitikinkite, kad visi jutikliai ir pavaros eina per viršutinės plokštės angas
  3. Užklijuokite žingsninį variklį ant viršutinės pagrindo plokštės vidurio (atminkite, kad bakstelėkite toje pačioje pusėje kaip ir šoninės juostos plokštė ir suderinkite tikrąją besisukančią variklio dalį prie mašinos centro)
  4. Įdėkite žingsninio variklio poveržlę ant žingsninio variklio
  5. Uždėkite pagrindinį komponentą ant skalbyklės
  6. Pritvirtinkite šoninės juostos komponentą prie šoninės juostos pagrindo slankiklio
  7. Priklijuokite servo variklį prie servo variklio plokštės šono viršutiniame gale (reikia paliesti į šoną), o tada bakstelėkite servo laidą į šoninės juostos vidų
  8. Pritvirtinkite viršutinį ženklą prie servo variklio
  9. Bakstelėkite šoninį ženklą ant pagrindinės odos

4_ Mikrofono stovo surinkimas

  1. Klijuokite keturis pagrindus
  2. Plokščią kaiščio pusę priklijuokite prie pagrindo
  3. Klijuokite mikrofono plokštę prie kampinės kaiščio pusės
  4. priklijuokite mikrofoną prie mikrofono plokštės

4 žingsnis: programavimas

Dėl riboto „Arduino Uno“plokštės dydžio šiame projekte naudojamos dvi „Arduino“plokštės. Pagrindinė plokštė naudojama daugeliui funkcijų, įskaitant tylos laiko skaičiavimą, garso duomenų apdorojimą, kalbėjimą su vartotojais ir bendravimą su antrąja plokšte.

#įtraukti #įtraukti

#įtraukti

#įtraukti

// SD turi prisijungti prie kaiščio 11, 12, 13. Papildomas kaištis 10 yra

// reikalingas arba iškviestas naudojant SD.begin ().

const int servoPin = 3;

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

int tūris1;

int tūris2; plūdės tylėjimo laikas = 0;

Servo reklama;

TMRpcm plr;

void setup () {

// įdėkite čia savo sąrankos kodą, kad paleistumėte vieną kartą: pinMode (servoPin, OUTPUT); pinMode („micPin1“, „INPUT“); pinMode („micPin2“, „INPUT“); Serial.begin (9600); Serial.println ("Sveiki atvykę į SASSIE diagnostikos portalą."); banner.attach (servoPin); banner.write (0); if (! SD.begin (10)) {Serial.println ("SD fail"); } plr.speakerPin = 9; plr.setVolume (5); }

void loop () {

volume1 = digitalRead (micPin1); volume2 = digitalRead (micPin2); banner.write (0); if (tūris1 == 0 ir tūris2 == 0) {silentTime += 0,05; Serial.print („Tylos laikas:“); Serial.println (silentTime); } else {silentTime = 0; banner.write (0); } uždelsimas (50); if (silentTime> = AWKS) {gelbėjimas (); silentTime = 0; }}

negaliojantis gelbėjimas () {

for (int kampas = 0; kampas <90; kampas += 1) {banner.write (kampas); vėlavimas (35); } Serial.println ("Antraštė įjungta"); vėlavimas (100); Serial.write (1); Serial.println („Daina įjungta“); plr.play ("4.wav"); vėlavimas (10000); plr.stopPlayback (); kilpa (); vėlavimas (10000); vėlavimas (5000); plr.play ("2.wav"); vėlavimas (5000); plr.play ("3.wav"); }

Antrosios lentos kodas yra paprastas. Žingsninį variklį jis varo tik tada, kai pagrindinė plokštė siunčia jai signalą.

#įtraukti

const int žingsnisPin1 = 8;

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

bool motorState = klaidinga;

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

void setup () {

// įdėkite čia savo sąrankos kodą, kad paleistumėte vieną kartą: stepMotor.setSpeed (75); }

void loop () {

// Įdėkite čia savo pagrindinį kodą, kad jis būtų paleistas pakartotinai: int gaunamas = Serial.read (); if (gaunamas == 1) {Serial.println ("aktyvuota"); if (motorState == 0) {stepMotor.step (1000); vėlavimas (5000); } else {stepMotor.step (-1000); } motorState =! motorState; } uždelsimas (500); }

Rekomenduojamas: