Мазмұны:

SASSIE: ыңғайсыз үнсіздік шешімі мен өзара әрекеттестікті күшейту жүйесі: 5 қадам
SASSIE: ыңғайсыз үнсіздік шешімі мен өзара әрекеттестікті күшейту жүйесі: 5 қадам

Бейне: SASSIE: ыңғайсыз үнсіздік шешімі мен өзара әрекеттестікті күшейту жүйесі: 5 қадам

Бейне: SASSIE: ыңғайсыз үнсіздік шешімі мен өзара әрекеттестікті күшейту жүйесі: 5 қадам
Бейне: Подруги_Рассказ_Слушать 2024, Қараша
Anonim
Image
Image
Бөлшектер, материалдар мен құралдар
Бөлшектер, материалдар мен құралдар

SASSIE - бұл біздің өміріміздің бір сәтінде ыңғайсыз үнсіздік кезінде бәріміз өзімізге қойған сұрақтың жауабы: «Мен келесі сөйлеймін бе?» Енді сізге алаңдамаудың қажеті жоқ, өйткені SASSIE ыңғайсыз тыныштықты тануға арналған, содан кейін оны кімнің сөйлейтінін кездейсоқ шешу арқылы бейтараптандыруға арналған. Енді сіз SASSIE сіздің арқаңызда екенін біле отырып, күйзеліссіз әңгімеге кіре аласыз.

1 -қадам: Бөлшектер, материалдар мен құралдар

Arduino бөлшектері

2 X Arduino Uno R3

2 X Arduino микрофон

1 X XBee сымсыз SD қалқаны

1 X 1/2 w 8 вольтты динамик

1 X жарты өлшемді тақта

1 X Arduino қадамдық қозғалтқышы

1X ULN 2003 қадамдық қозғалтқыш тақтасы

1 X микросерво

Негіз және корпус (лазерлік кесу компоненттері)

Төменде келтірілген барлық компоненттерді қайың қабатты лазермен кесуге болады (32 «X 18»)

1 - Негізгі

1 X төменгі табақша

1 X Ұзын ұзындығы Қысқа биіктікте түзу торлы жолақ

1 X жоғарғы табақша

4 X қысқа ұзындықтағы биіктігі түзу тордың бүйірлік жолағы

2 - Негізгі

1 X қадамдық моторлы жуғыш

1 X төменгі негізгі тақта

1 X Орташа ұзындығы Орташа биіктігі Торлы жолақ

1 X жоғарғы сақина

1 X қысқа ұзындықтағы биіктігі түзу тордың бүйірлік жолағы

1 X жоғарғы жағындағы жолақ тақтасы

1 X шағын төртбұрышты пластина (микросерво үшін)

3 - микрофон тірегі

4 X негізгі тақта

1 X 13 см 3/16 дюбель (30 градус қапталмен)

1 X шағын төртбұрышты пластина (микрофон үшін)

2 -қадам: Схема

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

3 -қадам: Машина жасау (Механика және құрастыру)

Машина жасау (механика және құрастыру)
Машина жасау (механика және құрастыру)

1_Алдын ала құрастыру

  • (Міндетті емес) Қайың қабаттарының барлық компоненттерін тазартылған етіп өңдеңіз
  • Қайыңның барлық қабатын сулаңыз, содан кейін оны бүгіңіз, ол дөңгелек пішінді жасайды.
  • Дөңгелек пішінді ұстау үшін бояу таспасын пайдаланып, қайың қабатты жолағын ораңыз
  • Жолақ дөңгелек пішінді сақтап қалуы үшін оны түні бойы қалдырыңыз

2_ Тұрғын үй құрылысы

Негіз

  1. Негізгі тақтаны негізгі теріге жабыстырыңыз
  2. Төменгі жағындағы төрт жолақты пластинаны жабыстырыңыз, содан кейін бұл бөлікті жоғарғы тақтаның шетіне жабыстырыңыз
  3. Степпер моторын үстіңгі тақтайшаның ортасына лентамен бекітіңіз (бүйірлік жолақ тақтайшасымен бір жағын түртуді және қозғалтқыштың нақты айналатын бөлігін машинаның ортасына туралауды ұмытпаңыз)
  4. Қадамдық мотор шайбасын қадамдық қозғалтқышқа салыңыз

Негізгі

  1. Негізгі пластинаны төменгі теріге жабыстырыңыз
  2. Негізгі терінің жоғарғы жағындағы сақинаны жабыстырыңыз
  3. бүйірлік жолақты сырғытпаның жоғарғы жағына салыңыз
  4. Серво қозғалтқыш тақтасын жоғарғы бүйірлік жолаққа перпендикуляр жабыстырыңыз

3_ Ассамблея

  1. Нан тақтасы мен UNO R3 екі қалқаны SD қалқанымен мұқият контейнерге салыңыз
  2. Үстіңгі тақтайшаны қоқыс жәшігіне қойыңыз және барлық датчиктер мен жетектердің үстіңгі тақтай саңылауларынан өтетініне көз жеткізіңіз
  3. Степпер моторын үстіңгі тақтайшаның ортасына лентамен бекітіңіз (бүйірлік жолақ тақтайшасымен бір жағын түртуді және қозғалтқыштың нақты айналатын бөлігін машинаның ортасына туралауды ұмытпаңыз)
  4. Қадамдық мотор шайбасын қадамдық қозғалтқышқа салыңыз
  5. Негізгі компонентті шайбаға салыңыз
  6. Бүйірлік жолақ компонентін бүйірлік жолақ негізінің сырғытпасына бекітіңіз
  7. Серво қозғалтқыш тақтасының жоғарғы жағындағы серво қозғалтқышын таспамен бекітіңіз (бүйірінен түрту керек), содан кейін серво сымын бүйірлік жолақтың ішкі жағына басыңыз.
  8. Серво қозғалтқышына жоғарғы белгіні бекітіңіз
  9. Негізгі терінің бүйірлік белгісін түртіңіз

4_Микрофон тұғырының жиналуы

  1. Төрт негізді бір -біріне жабыстырыңыз
  2. Дюбельдің тегіс жағын негізге жабыстырыңыз
  3. Микрофон тақтасын дюбельдің бұрыштық жағына жабыстырыңыз
  4. микрофон тақтасына микрофонды жабыстырыңыз

4 -қадам: Бағдарламалау

Arduino Uno тақтасының көлемі шектеулі болғандықтан, бұл жобада екі Arduino тақтасы қолданылады. Негізгі тақта көптеген функцияларда қолданылады, оның ішінде үнсіздік уақытын есептеу, дыбыстық деректерді өңдеу, пайдаланушылармен сөйлесу және екінші тақтамен байланыс.

#қосу #қосу

#қосу

#қосу

// SD 11, 12, 13 түйреуішіне қосылуы керек

// қажет немесе SD.begin () арқылы шақырылады.

const int servoPin = 3;

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

int көлемі1;

int көлемі2; float silenceTime = 0;

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

TMRpcm plr;

жарамсыз орнату () {

// орнату кодын бір рет іске қосу үшін осында қойыңыз: 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 сәтсіздігі»); } plr.speakerPin = 9; plr.setVolume (5); }

void loop () {

көлемі1 = digitalRead (micPin1); көлемі2 = digitalRead (micPin2); banner.write (0); if (volume1 == 0 және volume2 == 0) {silenceTime += 0,05; Serial.print («Тыныштық уақыты:»); Serial.println (silenceTime); } басқа {silenceTime = 0; banner.write (0); } кешіктіру (50); if (silenceTime> = AWKS) {құтқару (); silenceTime = 0; }}

жарамсыз құтқару () {

үшін (int бұрышы = 0; бұрыш <90; бұрыш += 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 = жалған;

Қадамдық қозғалтқыш (моторлық қадамдар, қадамдық қадам1, адымдық 2, қадамдық қадам 3, қадамдық 4);

жарамсыз орнату () {

// бір рет іске қосу үшін орнату кодын осында қойыңыз: stepMotor.setSpeed (75); }

void loop () {

// бірнеше рет іске қосу үшін негізгі кодты осында қойыңыз: int incoming = Serial.read (); if (кіріс == 1) {Serial.println («белсендірілген»); if (motorState == 0) {stepMotor.step (1000); кешіктіру (5000); } басқа {stepMotor.step (-1000); } motorState =! motorState; } кешіктіру (500); }

Ұсынылған: