Spisu treści:

SASSIE: system niewygodnego rozwiązania wyciszenia i wzmacniacza interakcji: 5 kroków
SASSIE: system niewygodnego rozwiązania wyciszenia i wzmacniacza interakcji: 5 kroków

Wideo: SASSIE: system niewygodnego rozwiązania wyciszenia i wzmacniacza interakcji: 5 kroków

Wideo: SASSIE: system niewygodnego rozwiązania wyciszenia i wzmacniacza interakcji: 5 kroków
Wideo: MOCNY EGREGOR I 12000 SZABEL i : Kształt Ziemi, Rasy, Klony, Odwróceni. Drzewo Życia 2024, Lipiec
Anonim
Image
Image
Części, materiały i narzędzia
Części, materiały i narzędzia

SASSIE jest odpowiedzią na pytanie, które wszyscy zadaliśmy sobie podczas niezręcznej ciszy w pewnym momencie naszego życia: „Czy przemówię dalej?” Cóż, teraz nie musisz się martwić, ponieważ SASSIE jest specjalnie zaprojektowany, aby rozpoznać niezręczną ciszę, a następnie zneutralizować ją losowo decydując, kto powinien mówić dalej. Teraz możesz bezstresowo rozpocząć rozmowę, wiedząc, że SASSIE Cię wspiera.

Krok 1: Części, materiały i narzędzia

Części Arduino

2 X Arduino Uno R3

2 mikrofony Arduino

1 X bezprzewodowa osłona SD XBee

1X1/2 w 8 V głośnik

1 X półwymiarowa deska do krojenia chleba;

1 X silnik krokowy Arduino

1X płyta napędu silnika krokowego ULN 2003

1 X mikro serwo;

Podstawa i obudowa (komponenty wycinane laserowo)

Wszystkie wymienione poniżej elementy mogą być cięte laserowo na pełnym łożu brzozowym (32 "X 18")

1 - Podstawa

1 X dolna płyta podstawy;

1 X długa długość krótka wysokość prosty pasek kratowy;

1 X górna płyta podstawowa;

4 X krótka długość wysoka wysokość prosta podstawa bocznej kraty

2 - Główny

1 X podkładka silnika krokowego

1 X dolna płyta główna;

1 X średniej długości średnia wysokość prosty pasek kratowy;

1 X górny główny pierścień;

1 X krótka długość wysoka wysokość prosty pasek boczny kraty;

1 X górna płyta z paskiem bocznym;

1 X Mała Prostokątna Płyta (Dla Micro Servo)

3 - Stojak na mikrofon

4 X płyta podstawowa;

Kołek 1X13 cm 3/16 (z wewnętrzną stroną pod kątem 30 stopni)

1 X mała prostokątna płytka (do mikrofonu)

Krok 2: Obwód

Okrążenie
Okrążenie
Okrążenie
Okrążenie

Krok 3: Produkcja maszyn (mechanika i montaż)

Produkcja maszyn (mechanika i montaż)
Produkcja maszyn (mechanika i montaż)

1_Wstępny montaż

  • (Opcjonalnie) Przeszlifuj wszystkie elementy warstwy brzozowej, aby uzyskać nieskazitelne wykończenie
  • Zwilż cały pasek sklejki brzozowej, a następnie wygnij go, aby uzyskać okrągły kształt.
  • Owiń pasek sklejki brzozowej za pomocą taśmy maskującej, aby utrzymać okrągłą formę
  • Pozostaw na noc, aby pasek zachował okrągły kształt

2_Montaż obudowy

Baza

  1. Przyklej dolną płytkę podstawy do skóry podstawy
  2. Sklej ze sobą cztery dolne boczne listwy, a następnie przyklej tę część do krawędzi górnej płyty podstawy
  3. Przyklej silnik krokowy do środka górnej płyty podstawy (PAMIĘTAJ, aby dotknąć tej samej strony co płyta bocznego paska i wyrównaj rzeczywistą obracającą się część silnika do środka maszyny)
  4. włóż podkładkę silnika krokowego na silnik krokowy'

Główny

  1. Przyklej dolną płytę główną do głównej skóry
  2. Przyklej pierścień głównej osłony na wierzch głównej osłony
  3. włóż pasek boczny do górnego paska bocznego slajdu
  4. Przyklej płytkę silnika serwo prostopadle do górnego paska bocznego

3_Zgromadzenie

  1. Ostrożnie umieść płytkę stykową i dwa UNO R3 z osłoną SD w pojemniku podstawowym
  2. Umieść górną płytę podstawy na pojemniku i upewnij się, że wszystkie czujniki i siłowniki przechodzą przez otwory w górnej płycie
  3. Przyklej silnik krokowy do środka górnej płyty podstawy (PAMIĘTAJ, aby dotknąć tej samej strony co płyta bocznego paska i wyrównaj rzeczywistą obracającą się część silnika do środka maszyny)
  4. Włóż podkładkę silnika krokowego na silnik krokowy
  5. Umieść główny element na pralce
  6. Przymocuj element paska bocznego do suwaka podstawy paska bocznego
  7. Przyklej serwosilnik do boku płyty serwomechanizmu na górnym końcu (powinien być stukany z boku), a następnie przyklej okablowanie serwomechanizmu do wewnętrznej strony listwy bocznej
  8. Przymocuj górny znak do serwomotoru
  9. Dotknij bocznego znaku na głównej skórce

4_Montaż podstawy mikrofonu

  1. Sklej cztery podstawy razem
  2. Przyklej płaską stronę kołka do podstawy
  3. Przyklej płytkę mikrofonu do zagiętej strony kołka
  4. przyklej mikrofon do płyty mikrofonu

Krok 4: Programowanie

Ze względu na ograniczony rozmiar płytki Arduino Uno, w tym projekcie zastosowano dwie płytki Arduino. Płyta główna jest wykorzystywana do większości funkcji, w tym do liczenia czasu ciszy, przetwarzania danych dźwiękowych, mówienia do użytkowników i komunikacji z drugą płytą.

#włącz #włącz

#włączać

#włączać

//SD musi łączyć się z pinem 11, 12, 13. Dodatkowy pin 10 to

// wymagane lub wywołane za pomocą SD.begin().

const int servoPin = 3;

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

wewn. objętość1;

int objętość2; czas ciszy pływaka = 0;

Baner serwo;

TMRpcm plr;

pusta konfiguracja () {

// umieść tutaj swój kod konfiguracyjny do jednorazowego uruchomienia: pinMode(servoPin, OUTPUT); pinMode(micPin1, WEJŚCIE); pinMode (micPin2, WEJŚCIE); Serial.początek(9600); Serial.println("Witamy w portalu diagnostycznym SASSIE."); banner.attach(servoPin); baner.write(0); if (!SD.begin(10)) { Serial.println("SD nie powiodło się"); } plr.speakerPin = 9; plr.setVolume(5); }

pusta pętla () {

volume1 = digitalRead(micPin1); volume2 = digitalRead(micPin2); baner.write(0); if (głośność1 == 0 i głośność2 == 0) { ciszaCzas += 0,05; Serial.print("Czas ciszy: "); Serial.println(Czas Ciszy); } else {Czas ciszy = 0; baner.write(0); } opóźnienie(50); if (Czas Ciszy >= AWKS) { rescue(); czas ciszy = 0; } }

nieważne ratowanie () {

for (int kąt = 0; kąt < 90; kąt += 1) { banner.write(kąt); opóźnienie(35); } Serial.println("Baner włączony"); opóźnienie (100); Serial.zapis(1); Serial.println("Utwór włączony"); plr.play("4.wav"); opóźnienie (10000); plr.stopOdtwarzanie(); pętla(); opóźnienie (10000); opóźnienie(5000); plr.play("2.wav"); opóźnienie(5000); plr.play("3.wav"); }

Kod drugiej planszy jest prosty. Napędza silnik krokowy tylko wtedy, gdy płyta główna wysyła do niego sygnał.

#włączać

const int stepPin1 = 8;

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

bool motorState = false;

Silnik krokowy krokowy (silnikSteps, stepPin1, stepPin2, stepPin3, stepPin4);

pusta konfiguracja () {

// umieść tutaj swój kod konfiguracyjny do jednorazowego uruchomienia: stepMotor.setSpeed(75); }

pusta pętla () {

// umieść tutaj swój główny kod, aby uruchamiał się wielokrotnie: int przychodzące = Serial.read(); if (incoming == 1) { Serial.println("aktywowany"); if (motorState == 0) { stepMotor.step(1000); opóźnienie(5000); } else { stepMotor.step(-1000); } motorState = !motorState; } opóźnienie(500); }

Zalecana: