INHOUDSOPGAWE:

SASSIE: die stelsel vir ongemaklike stilte -oplossing en interaksieverbeteraar: 5 stappe
SASSIE: die stelsel vir ongemaklike stilte -oplossing en interaksieverbeteraar: 5 stappe

Video: SASSIE: die stelsel vir ongemaklike stilte -oplossing en interaksieverbeteraar: 5 stappe

Video: SASSIE: die stelsel vir ongemaklike stilte -oplossing en interaksieverbeteraar: 5 stappe
Video: Part 1 - The Adventures of Tom Sawyer Audiobook by Mark Twain (Chs 01-10) 2024, November
Anonim
Image
Image
Onderdele, materiaal en gereedskap
Onderdele, materiaal en gereedskap

SASSIE is die antwoord op die vraag wat ons almal tydens 'n ongemaklike stilte op 'n stadium in ons lewens aan uself gestel het: 'Praat ek volgende?' Nou, u hoef nie bekommerd te wees nie, want SASSIE is spesifiek ontwerp om 'n ongemaklike stilte te herken en dit dan te neutraliseer deur willekeurig te besluit wie volgende moet praat. Nou kan u sonder spanning in 'n gesprek ingaan, wetende dat SASSIE u rug het.

Stap 1: Onderdele, materiale en gereedskap

Arduino onderdele

2 X Arduino Uno R3

2 x Arduino -mikrofoon

1 X XBee draadlose SD -skild

1 X 1/2 w 8 Volt luidspreker

1 x broodrooster in halfgrootte

1 x Arduino -stapmotor

1X ULN 2003 Stepper Motor Drive Board

1 X Micro Servo

Basis en behuising (lasersnitonderdele)

Alle onderstaande komponente kan slegs laser gesny word op 'n Birch Ply Fullbed (32 "X 18")

1 - Basis

1 X onderste basisplaat

1 X Lang lengte Kort Hoogte Reguit Roosterstrook

1 x boonste basisplaat

4 x kort lengte, lang hoogte, reguit rooster, systrookbasis

2 - Hoof

1 X Stepper motor wasser

1 X Onderplaat

1 X Medium lengte Gemiddelde hoogte Reguit roosterstrook

1 x boonste hoofring

1 x kort lengte lang hoogte reguit rooster systrook

1 X boonste strookplaat

1 X klein reghoekige bord (vir mikro -servo)

3 - Mikrofoonstaander

4 X basisplaat

1 X 13 cm 3/16 plug (met 30 grade aan die binnekant)

1 X klein reghoekige bord (vir mikrofoon)

Stap 2: Skakel

Kring
Kring
Kring
Kring

Stap 3: Masjienmaak (meganika en montering)

Masjienvervaardiging (meganika en montering)
Masjienvervaardiging (meganika en montering)

1_Voorbyeenkoms

  • (Opsioneel) Skuur alle komponente van berklaag tot 'n ongerepte afwerking
  • Maak die hele strook berk nat en buig dit dan tot 'n sirkelvormige vorm.
  • Draai om die berklaag met maskeerband om die sirkelvorm vas te hou
  • Laat dit oornag staan sodat die strook die sirkelvorm behou

2_Huisvergadering

Basis

  1. Plak die onderste basisplaat aan die basisvel vas
  2. Plak die vier onderkantstrookplaat aan mekaar vas en plak die deel op die rand van die boonste basisplaat
  3. Plak die stappermotor in die middel van die boonste basisplaat (ONTHOU om aan dieselfde kant as die systrookplaat te tik en pas die werklike roterende deel van die motor in die middel van die masjien in)
  4. steek die stappenmotorwasser op die stappermotor '

Hoof

  1. Plak die onderste plaat aan die hoofvel vas
  2. Plak die hoofvelring bo -op die hoofvel
  3. steek die systrokie by die boonste systrookgly
  4. Plak die servomotorplaat loodreg op die boonste strook vas

3_Die vergadering

  1. Plaas die broodbord en die twee UNO R3 met die SD Shield versigtig in die asbak
  2. Plaas die boonste basisplaat op die asblik en maak seker dat alle sensors en aandrywers deur die boonste plaatopeninge gaan
  3. Plak die stappermotor in die middel van die boonste basisplaat (ONTHOU om aan dieselfde kant as die systrookplaat te tik en pas die werklike roterende deel van die motor in die middel van die masjien)
  4. Plaas die stappermotorwasser op die stappermotor
  5. Plaas die hoofkomponent op die wasser
  6. Bevestig die systrookkomponent in die skuif van die systrook
  7. Plak die servomotor aan die kant van die servomotorplaat aan die bokant vas (moet sywaarts getik word) en tik dan die servo -bedrading aan die binnekant van die systrook
  8. Bevestig die boonste teken aan die servomotor
  9. Tik op die syteken op die hoofvel

4_Mikrofoonstaander

  1. Plak die vier basis saam
  2. Plak die plat kant van die dowel aan die basis vas
  3. Plak die mikrofoonplaat aan die hoek van die plug
  4. plak die mikrofoon op die mikrofoonplaat vas

Stap 4: Programmering

As gevolg van die beperkte grootte van die Arduino Uno -bord, word twee Arduino -borde in hierdie projek gebruik. Die hoofbord word vir die meeste funksies gebruik, insluitend die tel van stiltetyd, die verwerking van klankdata, praat met gebruikers en kommunikasie met die tweede bord.

#include #include

#insluit

#insluit

// SD moet aansluit by pen 11, 12, 13. Bykomende pen 10 is

// benodig of gebel met SD.begin ().

const int servoPin = 3;

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

int volume1;

int volume2; float silenceTime = 0;

Servo banier;

TMRpcm plr;

ongeldige opstelling () {

// plaas u opstellingskode hier om een keer te werk: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serial.begin (9600); Serial.println ("Welkom by SASSIE diagnoseportaal."); banner.attach (servoPin); banner.write (0); as (! SD.begin (10)) {Serial.println ("SD misluk"); } plr.speakerPin = 9; plr.setVolume (5); }

leemte -lus () {

volume1 = digitalRead (micPin1); volume2 = digitalRead (micPin2); banner.write (0); as (volume1 == 0 en volume2 == 0) {silentTime += 0,05; Serial.print ("Stiltetyd:"); Serial.println (stilte tyd); } anders {silenceTime = 0; banner.write (0); } vertraging (50); if (silenceTime> = AWKS) {rescue (); stilte tyd = 0; }}

leë redding () {

vir (int hoek = 0; hoek <90; hoek += 1) {banner.write (hoek); vertraging (35); } Serial.println ("banier aan"); vertraging (100); Reeks.skryf (1); Serial.println ("Liedjie aan"); plr.play ("4.wav"); vertraging (10000); plr.stopPlayback (); lus (); vertraging (10000); vertraging (5000); plr.play ("2.wav"); vertraging (5000); plr.play ("3.wav"); }

Die kode van die tweede bord is eenvoudig. Dit dryf slegs die trapmotor as die hoofbord 'n sein na hom stuur.

#insluit

const int stepPin1 = 8;

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

bool motorState = vals;

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

ongeldige opstelling () {

// plaas u opstellingskode hier om een keer te werk: stepMotor.setSpeed (75); }

leemte -lus () {

// plaas u hoofkode hier om herhaaldelik te hardloop: int inkomend = Serial.read (); as (inkomend == 1) {Serial.println ("geaktiveer"); as (motorState == 0) {stepMotor.step (1000); vertraging (5000); } anders {stepMotor.step (-1000); } motorState =! motorState; } vertraging (500); }

Aanbeveel: