Përmbajtje:

SASSIE: Sistemi për zgjidhjen e heshtjes së vështirë dhe përmirësimin e ndërveprimit: 5 hapa
SASSIE: Sistemi për zgjidhjen e heshtjes së vështirë dhe përmirësimin e ndërveprimit: 5 hapa

Video: SASSIE: Sistemi për zgjidhjen e heshtjes së vështirë dhe përmirësimin e ndërveprimit: 5 hapa

Video: SASSIE: Sistemi për zgjidhjen e heshtjes së vështirë dhe përmirësimin e ndërveprimit: 5 hapa
Video: Nuk duhet ta fusni në gojë kete ushqim i cili po u dëmton veshkat dita ditës pa e kuptuar 2024, Korrik
Anonim
Image
Image
Pjesë, Materiale dhe Mjete
Pjesë, Materiale dhe Mjete

SASSIE është përgjigjja e pyetjes që të gjithë ne i kemi bërë vetes gjatë një heshtjeje të vështirë në një moment të jetës sonë, "A flas tjetër?" Epo tani nuk keni pse të shqetësoheni sepse SASSIE është krijuar posaçërisht për të njohur një heshtje të vështirë, dhe më pas ta neutralizojë atë duke vendosur rastësisht se kush duhet të flasë më pas. Tani mund të hyni në një bisedë pa stres, duke e ditur që SASSIE ju ka mbështetjen.

Hapi 1: Pjesët, materialet dhe mjetet

Pjesë Arduino

2 X Arduino Uno R3

2 X Mikrofon Arduino

1 X XBee Wireless SD Shield

1 X 1/2 w 8 Volt Altoparlant

1 X Breadboard me madhësi gjysmë

1 X Arduino Stepper Motor

Bordi 1X ULN 2003 Stepper Motor Drive

1 X Mikro Servo

Baza dhe Strehimi (Komponentët e Prerjes me Laser)

Të gjithë përbërësit e listuar më poshtë mund të presin me lazer në një shtrat të plotë të thuprës (32 "X 18")

1 - Baza

1 X Pllakë Baza e Fundit

1 X Shirit me grila të gjata të shkurtra me gjatësi të gjatë

1 X Pllakë Bazë e Lartë

4 X Gjatësi e shkurtër Gjatësia e lartë Lartësia e drejtë Rrjeti anësor

2 - Kryesore

1 X Lavatriç me motor Stepper

1 X Pjatë kryesore e poshtme

1 X Gjatësi mesatare Lartësia mesatare Rrip i rrjetës së drejtë

1 X Unaza kryesore kryesore

1 X Gjatësi e shkurtër Gjatësia e gjatë Lartësia e drejtë Rrjeti anësor

1 X Pllakë për shiritat anësorë

1 X Pjatë e Vogël Drejtkëndëshe (Për Mikro Servo)

3 - Qëndrim për mikrofon

4 X Pjatë Bazë

1 X 13 cm 3/16 Kunj (me pjesën e brendshme në 30 gradë)

1 X Pllakë e vogël drejtkëndëshe (Për mikrofon)

Hapi 2: Qarku

Qarku
Qarku
Qarku
Qarku

Hapi 3: Prodhimi i makinerisë (mekanika dhe montimi)

Prodhimi i makinerisë (Mekanika dhe montimi)
Prodhimi i makinerisë (Mekanika dhe montimi)

1_Para-Kuvendi

  • (Opsionale) Lërini të gjithë përbërësit e shtresës së thuprës me një përfundim të pacenuar
  • Lageni të gjithë shiritin e shtresës së thuprës dhe pastaj përkulni atë për të krijuar një formë rrethore.
  • Mbështilleni rreth shiritit të thuprës duke përdorur shirit maskues për të mbajtur formën rrethore
  • Lëreni të qëndrojë gjatë natës që rripi të ruajë formën rrethore

2_Kuvendi i Strehimit

Baza

  1. Ngjiteni Pllakën e Fundit në lëkurën bazë
  2. Ngjitni katër Pjatat e Rripit të Fundit Anash së bashku dhe më pas ngjiteni atë pjesë në buzë të Pllakës së Bazës së Lartë
  3. Ngjiteni motorin Stepper në qendër të Pllakës së Bazës së Lartë (KUJTONI të trokitni në të njëjtën anë me Pllakën Side Strip dhe rreshtoni pjesën rrotulluese aktuale të motorit në qendër të makinës)
  4. futni rondele me motor Stepper në Stepper Motor '

Kryesore

  1. Ngjiteni Pllakën kryesore të poshtme në lëkurën kryesore
  2. Ngjiteni Unazën e Lëkurës Kryesore mbi Lëkurën Kryesore
  3. futni shiritin anësor në shiritin anësor të sipërm të rrëshqitur
  4. Ngjiteni Pllakën Servo Motor pingul me shiritin anësor të sipërm

3_Kuvendi

  1. Vendoseni me kujdes tabelën e bukës dhe dy UNO R3 me SD Shield brenda kazanit bazë
  2. Vendoseni Pllakën Bazë të Sipërme mbi kazan dhe sigurohuni që të gjithë sensorët dhe Aktivizuesit të kalojnë nëpër hapjet e pllakës së sipërme
  3. Ngjiteni motorin Stepper në qendër të Pllakës Bazë të Lartë (KUJTONI të trokitni në të njëjtën anë me Pllakën Side Strip dhe rreshtoni pjesën aktuale rrotulluese të motorit në qendër të makinës)
  4. Vendosni Lavatriçin me Motor Stepper në Stepper Motor
  5. Vendosni Komponentin Kryesor mbi rondele
  6. Bashkangjitni përbërësin e shiritit anësor në rrëshqitjen e bazës së shiritit anësor
  7. Ngjiteni motorin Servo në anën e Pllakës Servo Motor në skajin e sipërm (duhet të preket anash) dhe më pas prekni telat e servo në pjesën e brendshme të shiritit anësor
  8. Bashkangjitni shenjën e sipërme në servo motorin
  9. Prekni shenjën anësore në lëkurën kryesore

4_Sambleja e Qëndrimit të Mikrofonit

  1. Ngjitni katër bazat së bashku
  2. Ngjiteni anën e sheshtë të kunjit në bazë
  3. Ngjiteni pllakën e mikrofonit në anën e kënduar të kunjit
  4. fiksojeni mikrofonin në pllakën e mikrofonit

Hapi 4: Programimi

Për shkak të madhësisë së kufizuar të bordit Arduino Uno, dy borde Arduino përdoren në këtë projekt. Bordi kryesor përdoret për shumicën e funksioneve, duke përfshirë numërimin e kohës së heshtjes, përpunimin e të dhënave të zërit, bisedën me përdoruesit dhe komunikimin me tabelën e dytë.

#përfshi #përfshi

#përfshi

#përfshi

// SD duhet të lidhet me kunjat 11, 12, 13. Pina 10 shtesë është

// kërkohet ose thirret me SD.begin ().

const int servoPin = 3;

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

int vëllimi 1;

int vëllimi2; lundroni në heshtjeTime = 0;

Servo baner;

TMRpcm plr;

void setup () {

// vendosni kodin tuaj të konfigurimit këtu, për të ekzekutuar një herë: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serial.filloj (9600); Serial.println ("Mirë se vini në portalin e diagnostikimit SASSIE."); banner.tach (servoPin); banderola.shkruaj (0); nëse (! SD.filloj (10)) {Serial.println ("SD dështon"); } plr.speakerPin = 9; plr.setVëllimi (5); }

lak void () {

vëllimi1 = digitalRead (micPin1); vëllimi2 = digitalRead (micPin2); banderola.shkruaj (0); nëse (vëllimi1 == 0 dhe vëllimi2 == 0) {heshtjaKohë += 0.05; Serial.print ("Koha e heshtjes:"); Serial.println (heshtje Koha); } else {sileTime = 0; banderola.shkruaj (0); } vonesë (50); nëse (heshtjeTime> = AWKS) {shpëtim (); heshtje Koha = 0; }}

shpëtim i pavlefshëm () {

për (int kënd = 0; kënd <90; kënd += 1) {banner.shkruaj (kënd); vonesa (35); } Serial.println ("Banner on"); vonesë (100); Serial.shkruaj (1); Serial.println ("Song on"); plr.play ("4.wav"); vonesë (10000); plr.stopPlayback (); lak (); vonesë (10000); vonesa (5000); plr.play ("2.wav"); vonesa (5000); plr.play ("3.wav"); }

Kodi i tabelës së dytë është i thjeshtë. Ai drejton motorin hap vetëm kur bordi kryesor i dërgon një sinjal atij.

#përfshi

const int stepPin1 = 8;

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

bool motorState = false;

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

void setup () {

// vendosni kodin tuaj të konfigurimit këtu, për të ekzekutuar një herë: stepMotor.setSpeed (75); }

lak void () {

// vendosni kodin tuaj kryesor këtu, për ta ekzekutuar në mënyrë të përsëritur: int incoming = Serial.read (); nëse (hyrëse == 1) {Serial.println ("aktivizuar"); if (motorState == 0) {stepMotor.step (1000); vonesa (5000); } else {stepMotor.step (-1000); } motorState =! motorState; } vonesë (500); }

Recommended: