Inhaltsverzeichnis:

SASSIE: das System für unangenehme Stille und Interaktionsverstärker - Gunook
SASSIE: das System für unangenehme Stille und Interaktionsverstärker - Gunook

Video: SASSIE: das System für unangenehme Stille und Interaktionsverstärker - Gunook

Video: SASSIE: das System für unangenehme Stille und Interaktionsverstärker - Gunook
Video: Gemeinsam duschen 🚿😱 #SheeranShorts #Anzeige #shorts #couple 2024, November
Anonim
Image
Image
Teile, Materialien und Werkzeuge
Teile, Materialien und Werkzeuge

SASSIE ist die Antwort auf die Frage, die wir uns alle während einer peinlichen Stille an einem Punkt in unserem Leben gestellt haben: „Spreche ich als nächstes?“Nun, Sie müssen sich keine Sorgen machen, denn SASSIE wurde speziell entwickelt, um ein unangenehmes Schweigen zu erkennen und es dann zu neutralisieren, indem Sie zufällig entscheiden, wer als nächstes sprechen soll. Jetzt können Sie stressfrei ins Gespräch kommen, da Sie wissen, dass SASSIE hinter Ihnen steht.

Schritt 1: Teile, Materialien und Werkzeuge

Arduino-Teile

2 X Arduino Uno R3

2 X Arduino-Mikrofon

1 X XBee Wireless SD-Schild

1 X 1/2 w 8 Volt Lautsprecher

1 X Halbe Größe Steckbrett

1 X Arduino-Schrittmotor

1X ULN 2003 Schrittmotor-Antriebsplatine

1 X Mikro-Servo

Sockel und Gehäuse (Lasergeschnittene Komponenten)

Alle unten aufgeführten Komponenten können jedoch auf einem Birkensperrholz-Fullbed (32 "X 18") lasergeschnitten werden.

1 - Basis

1 X Bodenplatte

1 x langer gerader Gitterstreifen mit kurzer Höhe

1 X obere Grundplatte

4 x kurze Länge, hohe Höhe, gerade Gitter-Seitenstreifenbasis

2 - Haupt

1 X Schrittmotor-Waschmaschine

1 X untere Hauptplatte

1 X Mittellange Durchschnittliche Höhe Gerader Gitterstreifen

1 X oberer Hauptring

1 X Kurze Länge Hohe Höhe Gerader Gitterseitenstreifen

1 X obere Seitenstreifenplatte

1 X kleine rechteckige Platte (für Micro Servo)

3 - Mikrofonständer

4 X Grundplatte

1 X 13 cm 3/16 Dübel (mit der Innenseite bei 30 Grad)

1 X kleine rechteckige Platte (für Mikrofon)

Schritt 2: Schaltung

Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis

Schritt 3: Maschinenbau (Mechanik und Montage)

Maschinenbau (Mechanik und Montage)
Maschinenbau (Mechanik und Montage)

1_Vormontage

  • (Optional) Schleifen Sie alle Birkenschichtkomponenten zu einem makellosen Finish
  • Befeuchten Sie den gesamten Birkenschichtstreifen und biegen Sie ihn dann, um eine runde Form zu erhalten.
  • Wickeln Sie den Birkensperrstreifen mit Kreppband um die runde Form zu halten
  • Lassen Sie es über Nacht ruhen, damit der Streifen die runde Form behält

2_Gehäusemontage

Base

  1. Kleben Sie die untere Basisplatte auf die Basishaut
  2. Kleben Sie die vier unteren Seitenstreifenplatten zusammen und kleben Sie diesen Teil dann auf die Kante der oberen Grundplatte
  3. Kleben Sie den Schrittmotor auf die Mitte der oberen Grundplatte (Denken Sie daran, auf die gleiche Seite wie die Seitenstreifenplatte zu klopfen und den eigentlichen rotierenden Teil des Motors auf die Mitte der Maschine auszurichten)
  4. Setzen Sie die Schrittmotor-Unterlegscheibe auf den Schrittmotor'

Hauptsächlich

  1. Kleben Sie die untere Hauptplatte auf die Haupthaut
  2. Kleben Sie den Haupthautring auf die Haupthaut
  3. den Seitenstreifen in den oberen Seitenstreifen einschieben
  4. Kleben Sie die Servomotorplatte senkrecht zum oberen Seitenstreifen

3_Die Versammlung

  1. Legen Sie das Steckbrett und die beiden UNO R3 mit dem SD-Schild vorsichtig in den Bodenbehälter
  2. Legen Sie die obere Grundplatte auf den Behälter und stellen Sie sicher, dass alle Sensoren und Aktoren durch die Öffnungen der oberen Platte gehen
  3. Kleben Sie den Schrittmotor auf die Mitte der oberen Grundplatte (Denken Sie daran, auf die gleiche Seite wie die Seitenstreifenplatte zu klopfen und den eigentlichen rotierenden Teil des Motors auf die Mitte der Maschine auszurichten)
  4. Setzen Sie die Schrittmotor-Unterlegscheibe auf den Schrittmotor
  5. Legen Sie die Hauptkomponente auf die Unterlegscheibe
  6. Befestigen Sie die Seitenstreifenkomponente in der Seitenstreifenunterlage
  7. Kleben Sie den Servomotor am oberen Ende an die Seite der Servomotorplatte (sollte seitlich angetippt werden) und klopfen Sie dann die Servoverkabelung an die Innenseite des Seitenstreifens
  8. Befestigen Sie das obere Schild am Servomotor
  9. Tippen Sie auf das Seitenzeichen auf der Haupt-Skin

4_Mikrofonständermontage

  1. Kleben Sie die vier Basis zusammen
  2. Kleben Sie die flache Seite des Dübels auf die Basis
  3. Kleben Sie die Mikrofonplatte auf die angewinkelte Seite des Dübels
  4. Kleben Sie das Mikrofon auf die Mikrofonplatte

Schritt 4: Programmierung

Aufgrund der begrenzten Größe des Arduino Uno-Boards werden in diesem Projekt zwei Arduino-Boards verwendet. Die Hauptplatine wird für die meisten Funktionen verwendet, darunter das Zählen der Stillezeit, die Verarbeitung von Tondaten, das Sprechen mit Benutzern und die Kommunikation mit der zweiten Platine.

#einschließen #einschließen

#enthalten

#enthalten

// SD muss an Pin 11, 12, 13 angeschlossen werden. Ein zusätzlicher Pin 10 ist

// erforderlich oder mit SD.begin() aufgerufen.

const int servoPin = 3;

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

int-Volume1;

int-Volume2; float silentTime = 0;

Servo-Banner;

TMRpcm plr;

Leere Einrichtung () {

// Geben Sie hier Ihren Setup-Code ein, um ihn einmal auszuführen: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serial.begin (9600); Serial.println ("Willkommen beim SASSIE-Diagnoseportal."); banner.attach(servoPin); banner.write(0); if (!SD.begin(10)) {Serial.println("SD fehlgeschlagen"); } plr.speakerPin = 9; plr.setVolume(5); }

Leere Schleife () {

volume1 = digitalRead (micPin1); volume2 = digitalRead (micPin2); banner.write(0); if (Volume1 == 0 und Volume2 == 0) { SilenceTime += 0,05; Serial.print ("Stillezeit: "); Serial.println (silenceTime); aufrechtzuerhalten. Sonst {StilleTime = 0; banner.write(0); } Verzögerung (50); if (silenceTime >= AWKS) {rettung(); StilleZeit = 0; } }

Leere Rettung () {

for (int angle = 0; angle < 90; angle += 1) {banner.write (Winkel); Verzögerung (35); } Serial.println ("Banner an"); Verzögerung (100); Serial.write(1); Serial.println ("Lied auf"); plr.play("4.wav"); Verzögerung (10000); plr.stopPlayback(); Schleife(); Verzögerung (10000); Verzögerung (5000); plr.play("2.wav"); Verzögerung (5000); plr.play("3.wav"); }

Der Code des zweiten Boards ist einfach. Es treibt den Schrittmotor nur an, wenn die Hauptplatine ein Signal an ihn sendet.

#enthalten

const int stepPin1 = 8;

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

bool motorState = false;

Schrittmotor (MotorSteps, stepPin1, stepPin2, stepPin3, stepPin4);

Leere Einrichtung () {

// Geben Sie Ihren Setup-Code hier ein, um ihn einmal auszuführen: stepMotor.setSpeed (75); }

Leere Schleife () {

// Geben Sie Ihren Hauptcode hier ein, um ihn wiederholt auszuführen: int eingehend = Serial.read (); if (eingehend == 1) {Serial.println ("aktiviert"); if (motorState == 0) { stepMotor.step (1000); Verzögerung (5000); aufrechtzuerhalten. Sonst { stepMotor.step (-1000); } motorState = !motorState; } Verzögerung (500); }

Empfohlen: