Πίνακας περιεχομένων:

SASSIE: The System for Awkward Silence Solution and Interaction Enhancer: 5 Steps
SASSIE: The System for Awkward Silence Solution and Interaction Enhancer: 5 Steps

Βίντεο: SASSIE: The System for Awkward Silence Solution and Interaction Enhancer: 5 Steps

Βίντεο: SASSIE: The System for Awkward Silence Solution and Interaction Enhancer: 5 Steps
Βίντεο: do NOT age-shame Erica #StrangerThings #Netflix 2024, Ιούλιος
Anonim
Image
Image
Μέρη, Υλικά και Εργαλεία
Μέρη, Υλικά και Εργαλεία

Η SASSIE είναι η απάντηση στην ερώτηση που όλοι έχουμε κάνει στον εαυτό μας κατά τη διάρκεια μιας αμήχανης σιωπής σε ένα σημείο της ζωής μας: «Μιλάω μετά;» Λοιπόν, τώρα δεν χρειάζεται να ανησυχείτε γιατί το SASSIE έχει σχεδιαστεί ειδικά για να αναγνωρίζει μια αμήχανη σιωπή και στη συνέχεια να την εξουδετερώνει αποφασίζοντας τυχαία ποιος θα μιλήσει στη συνέχεια. Τώρα μπορείτε να μπείτε σε μια συνομιλία χωρίς άγχος, γνωρίζοντας ότι η SASSIE έχει την πλάτη σας.

Βήμα 1: Μέρη, υλικά και εργαλεία

Ανταλλακτικά Arduino

2 X Arduino Uno R3

2 X Μικρόφωνο Arduino

1 X XBee Wireless SD Shield

1 Χ 1/2 w Ηχείο 8 Volt

1 Χ Μπισκότα μισού μεγέθους

1 X Arduino Stepper Motor

1X ULN 2003 Stepper Motor Drive Board

1 X Micro Servo

Βάση και περίβλημα (εξαρτήματα κοπής με λέιζερ)

Όλα τα εξαρτήματα που παρατίθενται παρακάτω μπορούν μόνο να κόψουν λέιζερ σε ένα Birch Ply Fullbed (32 "X 18")

1 - Βάση

1 Χ κάτω πλάκα βάσης

1 Χ Μακρύ μήκος Κοντό ύψος Ευθεία λωρίδα πλέγματος

1 Χ Κορυφαία πλάκα βάσης

4 Χ Κοντό Μήκος allηλό ightψος Ευθεία Πλέγμα Βάση στο πλάι

2 - Κύρια

1 Χ Stepper Motor Washer

1 Χ Κάτω κύρια πλάκα

1 Χ Μέσο μήκος Μέσο ύψος Ευθεία λωρίδα πλέγματος

1 Χ Κορυφαίο κύριο δαχτυλίδι

1 Χ Κοντό Μήκος allηλό ightψος Ευθεία Πλευρική Λωρίδα

1 X Πλάκα στο πάνω μέρος

1 X Μικρή Ορθογώνια Πλάκα (Για Micro Servo)

3 - Βάση μικροφώνου

4 Χ Πλάκα Βάσης

1 X 13 cm 3/16 Πείρος (με το εσωτερικό στους 30 βαθμούς)

1 Χ μικρή ορθογώνια πλάκα (για μικρόφωνο)

Βήμα 2: Κύκλωμα

Κύκλωμα
Κύκλωμα
Κύκλωμα
Κύκλωμα

Βήμα 3: Κατασκευή μηχανών (μηχανική και συναρμολόγηση)

Μηχανική κατασκευή (μηχανική και συναρμολόγηση)
Μηχανική κατασκευή (μηχανική και συναρμολόγηση)

1_Προσυναρμολόγηση

  • (Προαιρετικό) Τρίψτε όλα τα συστατικά της σημύδας σε ένα παρθένο φινίρισμα
  • Βρέξτε ολόκληρη τη λωρίδα σημύδας και στη συνέχεια λυγίστε την για να δημιουργήσετε μια κυκλική μορφή.
  • Τυλίξτε γύρω από τη λωρίδα σημύδας χρησιμοποιώντας ταινία κάλυψης για να κρατήσετε την κυκλική μορφή
  • Αφήστε το να καθίσει όλη τη νύχτα για να διατηρήσει η λωρίδα την κυκλική μορφή

2_Συναρμολόγηση κατοικίας

Βάση

  1. Κολλήστε την κάτω πλάκα βάσης στο δέρμα βάσης
  2. Κολλήστε την τέσσερα κάτω πλάγια πλάκα μαζί και στη συνέχεια κολλήστε αυτό το μέρος στην άκρη της επάνω πλάκας βάσης
  3. Κολλήστε το μοτέρ Stepper στο κέντρο της κορυφαίας πλάκας βάσης (ΘΥΜΑΣΤΕ να αγγίξετε στην ίδια πλευρά με την πλάκα πλάγιας λωρίδας και ευθυγραμμίστε το πραγματικό περιστρεφόμενο μέρος του κινητήρα στο κέντρο του μηχανήματος)
  4. τοποθετήστε το πλυντήριο Stepper Motor στο Stepper Motor »

Κύριος

  1. Κολλήστε το κάτω μέρος της κύριας πλάκας στο κύριο δέρμα
  2. Κολλήστε το κύριο δαχτυλίδι δέρματος πάνω από το κύριο δέρμα
  3. εισάγετε την πλευρική λωρίδα στην ολισθαίνουσα επάνω πλευρά
  4. Κολλήστε την πλάκα Servo Motor κάθετα στην επάνω πλευρική ταινία

3_Η Συνέλευση

  1. Τοποθετήστε προσεκτικά το breadboard και τα δύο UNO R3 με το SD Shield μέσα στον κάδο βάσης
  2. Τοποθετήστε την επάνω πλάκα βάσης στον κάδο και βεβαιωθείτε ότι όλοι οι αισθητήρες και οι ενεργοποιητές περνούν από τα ανοίγματα της επάνω πλάκας
  3. Κολλήστε το μοτέρ Stepper στο κέντρο της κορυφαίας πλάκας βάσης (ΘΥΜΑΣΤΕ να αγγίξετε στην ίδια πλευρά με την πλάκα πλάγιας λωρίδας και ευθυγραμμίστε το πραγματικό περιστρεφόμενο μέρος του κινητήρα στο κέντρο του μηχανήματος)
  4. Τοποθετήστε το πλυντήριο Stepper Motor στο Stepper Motor
  5. Τοποθετήστε το κύριο εξάρτημα στο πλυντήριο
  6. Συνδέστε το εξάρτημα της πλευρικής λωρίδας στο πλαϊνό πλαϊνό μέρος της πλάγιας λωρίδας
  7. Τοποθετήστε το σερβοκινητήρα στο πλάι της πλάκας Servo Motor στο επάνω άκρο (πρέπει να ακουμπήσει στο πλάι) και, στη συνέχεια, πατήστε την καλωδίωση σερβο στο εσωτερικό της πλευρικής λωρίδας
  8. Συνδέστε την επάνω πινακίδα στο σερβοκινητήρα
  9. Πατήστε την πλαϊνή πινακίδα στο Κύριο δέρμα

4_Συναρμολόγηση βάσης μικροφώνου

  1. Κολλήστε τις τέσσερις βάσεις μαζί
  2. Κολλήστε την επίπεδη πλευρά του πείρου στη βάση
  3. Κολλήστε την πλάκα του μικροφώνου στη γωνιακή πλευρά του πείρου
  4. κολλήστε το μικρόφωνο στην πλάκα του μικροφώνου

Βήμα 4: Προγραμματισμός

Λόγω του περιορισμένου μεγέθους του πίνακα Arduino Uno, χρησιμοποιούνται δύο πίνακες Arduino σε αυτό το έργο. Ο κύριος πίνακας χρησιμοποιείται για τις περισσότερες από τις λειτουργίες, όπως η μέτρηση του χρόνου σιωπής, η επεξεργασία δεδομένων ήχου, η ομιλία στους χρήστες και η επικοινωνία με τον δεύτερο πίνακα.

#συμπεριλάβω #συμπεριλάβω

#περιλαμβάνω

#περιλαμβάνω

// Το SD πρέπει να συνδεθεί με τους ακροδέκτες 11, 12, 13. Ο πρόσθετος πείρος 10 είναι

// απαιτείται ή καλείται με SD.begin ().

const int servoPin = 3;

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

int τόμος 1;

int τόμος2; float sileTime = 0;

Servo banner?

TMRpcm plr;

void setup () {

// βάλτε τον κωδικό εγκατάστασης εδώ, για να εκτελεστεί μία φορά: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serial.begin (9600); Serial.println ("Καλώς ορίσατε στην πύλη διάγνωσης SASSIE."); banner.attach (servoPin); banner.write (0); if (! SD.begin (10)) {Serial.println ("SD fail"); } plr.speakerPin = 9; plr.setVolume (5); }

void loop () {

τόμος1 = digitalRead (micPin1); τόμος2 = digitalRead (micPin2); banner.write (0); αν (τόμος1 == 0 και όγκος2 == 0) {silencTime += 0,05; Serial.print ("Χρόνος σιωπής:"); Serial.println (sileTime); } else {sileTime = 0; banner.write (0); } καθυστέρηση (50); αν (sileTime> = AWKS) {διάσωση (); sileTime = 0; }}

άκυρη διάσωση () {

για (int angle = 0; angle <90; angle += 1) {banner.write (angle); καθυστέρηση (35)? } Serial.println ("Banner on"); καθυστέρηση (100)? Serial.write (1); Serial.println ("Song on"); plr.play ("4.wav"); καθυστέρηση (10000)? plr.stopPlayback (); βρόχος(); καθυστέρηση (10000)? καθυστέρηση (5000)? plr.play ("2.wav"); καθυστέρηση (5000)? plr.play ("3.wav"); }

Ο κωδικός του δεύτερου πίνακα είναι απλός. Οδηγεί τον βηματικό κινητήρα μόνο όταν η κεντρική πλακέτα στείλει σήμα σε αυτό.

#περιλαμβάνω

const int stepPin1 = 8;

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

bool motorState = false;

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

void setup () {

// βάλτε τον κωδικό εγκατάστασης εδώ, για να εκτελεστεί μία φορά: stepMotor.setSpeed (75); }

void loop () {

// βάλτε τον κύριο κωδικό σας εδώ, για να εκτελείται επανειλημμένα: int incoming = Serial.read (); εάν (εισερχόμενη == 1) {Serial.println ("ενεργοποιημένο"); εάν (motorState == 0) {stepMotor.step (1000); καθυστέρηση (5000)? } else {stepMotor.step (-1000); } motorState =! motorState; } καθυστέρηση (500); }

Συνιστάται: