Оглавление:

SASSIE: система решения неловкой тишины и усилитель взаимодействия: 5 шагов
SASSIE: система решения неловкой тишины и усилитель взаимодействия: 5 шагов

Видео: SASSIE: система решения неловкой тишины и усилитель взаимодействия: 5 шагов

Видео: SASSIE: система решения неловкой тишины и усилитель взаимодействия: 5 шагов
Видео: 21 удивительный факт, о котором вы не догадывались и 5 минут назад 2024, Ноябрь
Anonim
Image
Image
Детали, материалы и инструменты
Детали, материалы и инструменты

СЭССИ - это ответ на вопрос, который мы все задали себе во время неловкого молчания в какой-то момент нашей жизни: «Я буду говорить дальше?» Что ж, теперь вам не о чем беспокоиться, потому что SASSIE специально разработан, чтобы распознавать неловкое молчание, а затем нейтрализовать его, случайным образом выбирая, кто должен говорить дальше. Теперь вы можете начать разговор без стресса, зная, что СЭССИ вам за спину.

Шаг 1. Детали, материалы и инструменты

Части Arduino

2 х Arduino Uno R3

2 X микрофон Arduino

1 X XBee Wireless SD Shield

1 х 1/2 Вт 8-вольтовый динамик

1 X макет половинного размера

1 X шаговый двигатель Arduino

Плата привода шагового двигателя 1X ULN 2003

1 х микро сервопривод

Основание и корпус (компоненты, вырезанные лазером)

Все компоненты, перечисленные ниже, могут быть вырезаны лазером на березовой полной кровати (32 "X 18").

1 - База

1 X нижняя опорная плита

1 X длинная прямая решетка с короткой высотой

1 х верхняя опорная плита

4 X короткая длина, высокая высота, прямая решетка, боковая полоса, основание

2 - Главный

1 х шайба шагового двигателя

1 X нижняя основная пластина

1 X средней длины, средней высоты, прямая решетка

1 х верхнее главное кольцо

1 X короткая длина, высокая высота, прямая решетка, боковая полоса

1 х верхняя боковая полоса

1 х маленькая прямоугольная пластина (для микро сервопривода)

3 - Подставка для микрофона

4 X опорная плита

1 х 13 см 3/16 дюйма дюбель (с внутренней стороной под углом 30 градусов)

1 х маленькая прямоугольная пластина (для микрофона)

Шаг 2: Схема

Схема
Схема
Схема
Схема

Шаг 3: Изготовление машин (механика и сборка)

Машиностроение (механика и сборка)
Машиностроение (механика и сборка)

1_Предварительная сборка

  • (Необязательно) Отшлифуйте все детали из березового слоя до безупречной отделки.
  • Намочите всю березовую фанерную ленту, а затем согните ее, чтобы получилась круглая форма.
  • Оберните полосу из березовой фанеры липкой лентой, чтобы удерживать круглую форму.
  • Оставьте на ночь, чтобы полоска сохранила круглую форму.

2_Корпус в сборе

База

  1. Приклейте нижнюю опорную пластину к основной обшивке.
  2. Склейте четыре нижних боковых планки вместе, а затем приклейте эту часть к краю верхней базовой плиты.
  3. Прикрепите шаговый двигатель лентой к центру верхней опорной пластины (ПОМНИТЕ, чтобы постучать по той же стороне, что и боковая пластина, и выровняйте фактическую вращающуюся часть двигателя по центру машины)
  4. вставьте шайбу шагового двигателя в шаговый двигатель '

Главный

  1. Приклейте нижнюю основную пластину к основной обшивке.
  2. Приклейте кольцо основной кожи поверх основной кожи.
  3. вставить боковую планку в верхнюю боковую планку сдвинуть
  4. Приклейте пластину серводвигателя перпендикулярно верхней боковой полосе.

3_Сборка

  1. Осторожно поместите макетную плату и два UNO R3 с SD Shield внутрь основного отсека.
  2. Поместите верхнюю опорную плиту на бункер и убедитесь, что все датчики и исполнительные механизмы проходят через отверстия верхней плиты.
  3. Прикрепите шаговый двигатель лентой к центру верхней опорной пластины (ПОМНИТЕ, чтобы постучать по той же стороне, что и боковая пластина, и выровняйте фактическую вращающуюся часть двигателя по центру машины)
  4. Вставьте шайбу шагового двигателя в шаговый двигатель.
  5. Поместите основной компонент на шайбу.
  6. Прикрепите компонент боковой полосы к основанию боковой полосы.
  7. Приклейте серводвигатель лентой к стороне пластины серводвигателя на верхнем конце (должен быть сбоку), а затем постучите по проводке сервомотора к внутренней стороне боковой полосы.
  8. Прикрепите верхний знак к серводвигателю
  9. Коснитесь значка сбоку на основном скине.

4_Сборка подставки для микрофона

  1. Склейте четыре основы вместе
  2. Плоскую сторону дюбеля приклеиваем к основанию.
  3. Приклейте пластину микрофона к угловой стороне дюбеля.
  4. приклейте микрофон к пластине микрофона

Шаг 4: Программирование

Из-за ограниченного размера платы Arduino Uno в этом проекте используются две платы Arduino. Основная плата используется для большинства функций, включая подсчет времени тишины, обработку звуковых данных, общение с пользователями и связь со второй платой.

#include #include

#включают

#включают

// SD должен подключаться к контактам 11, 12, 13. Дополнительный контакт 10

// требуется или вызывается с помощью SD.begin ().

const int servoPin = 3;

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

int volume1;

int volume2; float silentTime = 0;

Серво баннер;

TMRpcm plr;

void setup () {

// поместите сюда свой установочный код для однократного запуска: pinMode (servoPin, OUTPUT); pinMode (micPin1, ВХОД); pinMode (micPin2, ВХОД); Serial.begin (9600); Serial.println («Добро пожаловать на диагностический портал SASSIE.»); banner.attach (сервопин); banner.write (0); if (! SD.begin (10)) {Serial.println ("Ошибка SD"); } plr.speakerPin = 9; plr.setVolume (5); }

void loop () {

volume1 = digitalRead (micPin1); volume2 = digitalRead (micPin2); banner.write (0); если (volume1 == 0 и volume2 == 0) {silentTime + = 0,05; Serial.print ("Время тишины:"); Serial.println (Время тишины); } еще {молчание = 0; banner.write (0); } задержка (50); если (молчание> = AWKS) {спасение (); silentTime = 0; }}

void rescue () {

for (int angle = 0; angle <90; angle + = 1) {banner.write (угол); задержка (35); } Serial.println («Баннер включен»); задержка (100); Serial.write (1); Serial.println ("Песня на"); 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); } еще {stepMotor.step (-1000); } motorState =! motorState; } задержка (500); }

Рекомендуемые: