Inhoudsopgave:

SASSIE: het systeem voor ongemakkelijke stilte-oplossing en interactieverbeteraar - Ajarnpa
SASSIE: het systeem voor ongemakkelijke stilte-oplossing en interactieverbeteraar - Ajarnpa

Video: SASSIE: het systeem voor ongemakkelijke stilte-oplossing en interactieverbeteraar - Ajarnpa

Video: SASSIE: het systeem voor ongemakkelijke stilte-oplossing en interactieverbeteraar - Ajarnpa
Video: Luis Elizondo: Klokkenluiders, UAP's, tijdreizen [DEEL 3!] 2024, November
Anonim
Image
Image
Onderdelen, materialen en gereedschappen
Onderdelen, materialen en gereedschappen

SASSIE is het antwoord op de vraag die we ons allemaal hebben gesteld tijdens een ongemakkelijke stilte op een bepaald moment in ons leven: "Spreek ik nu?" Nu hoef je je geen zorgen te maken, want SASSIE is speciaal ontworpen om een ongemakkelijke stilte te herkennen en deze vervolgens te neutraliseren door willekeurig te beslissen wie als volgende moet spreken. Nu kun je stressvrij een gesprek aangaan, wetende dat SASSIE achter je staat.

Stap 1: Onderdelen, materialen en gereedschappen

Arduino-onderdelen

2 X Arduino Uno R3

2 X Arduino-microfoon

1 X XBee draadloos SD-schild

1 X 1/2 w 8 Volt-luidspreker

1 x halve broodplank

1 X Arduino Stappenmotor

1X ULN 2003 Stappenmotor Aandrijfkaart

1 X Micro-servo

Basis en behuizing (lasergesneden componenten)

Alle onderstaande componenten kunnen behalve lasergesneden worden op een berkenlaags fullbed (32 "X 18")

1 - Basis

1 X Bodem Bodemplaat

1 X Lange lengte Korte hoogte rechte roosterstrook

1 X bovenste bodemplaat

4 x korte lengte hoge hoogte rechte rooster zijstrip basis

2 - Hoofd

1 X Stappenmotor Wasmachine

1 X onderste hoofdplaat

1 x gemiddelde lengte gemiddelde hoogte rechte roosterstrook

1 X bovenste hoofdring

1 x korte lengte hoge hoogte rechte zijstrip met rooster

1 X Bovenste zijstripplaat

1 X kleine rechthoekige plaat (voor microservo)

3 - Microfoonstandaard

4 X Bodemplaat

1 X 13 cm 3/16 deuvel (met onside op 30 graden)

1 X kleine rechthoekige plaat (voor microfoon)

Stap 2: Circuit

Stroomkring
Stroomkring
Stroomkring
Stroomkring

Stap 3: Machine maken (mechanica en montage)

Machinebouw (mechanica en montage)
Machinebouw (mechanica en montage)

1_Voormontage

  • (Optioneel) Schuur alle componenten van berkenlaag tot een onberispelijke afwerking
  • Maak de hele berkenlaag strook nat en buig deze dan om een cirkelvorm te creëren.
  • Wikkel rond de berkenlaag met plakband om de cirkelvorm vast te houden
  • Laat het een nacht staan zodat de strip de ronde vorm behoudt

2_Behuizingsassemblage

Baseren

  1. Lijm de onderste bodemplaat op de basishuid
  2. Lijm de vier onderste zijstripplaten aan elkaar en lijm dat deel vervolgens op de rand van de bovenste basisplaat
  3. Plak de stappenmotor op het midden van de bovenste basisplaat (DENK ERIN om op dezelfde kant als de zijstripplaat te tikken en het eigenlijke roterende deel van de motor uit te lijnen met het midden van de machine)
  4. plaats de stappenmotor wasmachine op de stappenmotor'

Hoofd

  1. Lijm de onderste hoofdplaat op de hoofdhuid
  2. Lijm de hoofdhuidring op de hoofdhuid
  3. steek de zijstrook in de gleuf van de bovenste zijstrook
  4. Lijm de servomotorplaat loodrecht op de bovenste zijstrip

3_De Vergadering

  1. Plaats het breadboard en de twee UNO R3 met het SD-schild voorzichtig in de basisbak
  2. Plaats de bovenste grondplaat op de bak en zorg ervoor dat alle sensoren en actuatoren door de openingen van de bovenste plaat gaan
  3. Plak de stappenmotor op het midden van de bovenste basisplaat (DENK ERIN om op dezelfde kant als de zijstripplaat te tikken en het eigenlijke roterende deel van de motor uit te lijnen met het midden van de machine)
  4. Plaats de stappenmotorring op de stappenmotor
  5. Plaats het hoofdonderdeel op de wasmachine
  6. Bevestig het onderdeel van de zijstrip in de basisslede van de zijstrip
  7. Plak de servomotor aan de zijkant van de servomotorplaat aan de bovenkant (moet zijwaarts worden getikt) en tik vervolgens de servobedrading tegen de binnenkant van de zijstrip
  8. Bevestig het bovenste bord aan de servomotor
  9. Tik op het zijteken op de hoofdhuid

4_Microfoonstandaard montage

  1. Lijm de vier basis samen
  2. Lijm de platte kant van de plug aan de basis
  3. Lijm de microfoonplaat op de schuine kant van de plug
  4. plak de microfoon op de microfoonplaat

Stap 4: Programmeren

Vanwege de beperkte omvang van het Arduino Uno-bord worden in dit project twee Arduino-borden gebruikt. Het hoofdbord wordt gebruikt voor de meeste functies, waaronder het tellen van de stiltetijd, het verwerken van geluidsgegevens, spreken met gebruikers en communiceren met het tweede bord.

#include #include

#erbij betrekken

#erbij betrekken

// SD moet verbinding maken met pin 11, 12, 13. Een andere pin 10 is

// vereist of aangeroepen met SD.begin().

const int servoPin = 3;

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

int-volume1;

int-volume2; float stilteTijd = 0;

Servobanner;

TMRpcm plr;

ongeldige setup() {

// plaats hier uw setup-code om een keer uit te voeren: pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serieel.begin(9600); Serial.println("Welkom bij het SASSIE diagnoseportaal."); banner.attach(servoPin); banner.schrijven(0); if (!SD.begin(10)) { Serial.println("SD mislukt"); } plr.speakerPin = 9; plr.setVolume(5); }

lege lus() {

volume1 = digitalRead (micPin1); volume2 = digitalRead (micPin2); banner.schrijven(0); if (volume1 == 0 en volume2 == 0) { silenceTime += 0.05; Serial.print("Stiltetijd: "); Serial.println(silenceTime); } else { stilteTime = 0; banner.schrijven(0); } vertraging(50); if (silenceTime >= AWKS) {redding(); stilteTijd = 0; } }

ongeldige redding() {

for (int hoek = 0; hoek < 90; hoek += 1) { banner.write(hoek); vertraging (35); } Serial.println("Banner aan"); vertraging (100); Serieel.schrijven(1); Serial.println("Lied aan"); plr.play("4.wav"); vertraging (10000); plr.stopPlayback(); lus(); vertraging (10000); vertraging (5000); plr.play("2.wav"); vertraging (5000); plr.play("3.wav"); }

De code van het tweede bord is eenvoudig. Het drijft de stappenmotor alleen aan als het moederbord er een signaal naar stuurt.

#erbij betrekken

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);

ongeldige setup() {

// plaats hier je setup-code om een keer uit te voeren: stepMotor.setSpeed(75); }

lege lus() {

// plaats hier je hoofdcode om herhaaldelijk uit te voeren: int inkomend = Serial.read(); if (inkomend == 1) { Serial.println("geactiveerd"); if (motorState == 0) { stepMotor.step (1000); vertraging (5000); } else { stepMotor.step(-1000); } motorState = !motorState; } vertraging (500); }

Aanbevolen: