Мазмуну:

SASSIE: Ыңгайсыз унчукпоо жана өз ара аракеттенүүнү күчөтүү системасы: 5 кадам
SASSIE: Ыңгайсыз унчукпоо жана өз ара аракеттенүүнү күчөтүү системасы: 5 кадам

Video: SASSIE: Ыңгайсыз унчукпоо жана өз ара аракеттенүүнү күчөтүү системасы: 5 кадам

Video: SASSIE: Ыңгайсыз унчукпоо жана өз ара аракеттенүүнү күчөтүү системасы: 5 кадам
Video: 3rd Designaversary Giveaway Winners! 2024, Декабрь
Anonim
Image
Image
Бөлүктөр, материалдар жана куралдар
Бөлүктөр, материалдар жана куралдар

SASSIE - бул баарыбыздын жашообуздун бир учурундагы ыңгайсыз жымжырттык учурунда "кийинки мен сүйлөймбү?" Деген суроого жооп. Эми тынчсыздануунун кажети жок, анткени SASSIE ыңгайсыз жымжырттыкты таануу үчүн атайын иштелип чыккан, андан кийин ким кийинки сүйлөө керектигин туш келди чечүү менен аны нейтралдаштырат. Эми сиз SASSIE сиздин аркаңызда экенин билип, стресссиз сүйлөшүүгө кире аласыз.

1 -кадам: Бөлүктөр, материалдар жана куралдар

Arduino Parts

2 X Arduino Uno R3

2 X Arduino микрофону

1 X XBee Wireless SD Shield

1 X 1/2 w 8 Volt Speaker

1 X жарым өлчөмдөгү нан тактасы

1 X Arduino Stepper мотору

1X ULN 2003 Stepper Motor Drive Board

1 X Micro Servo

Негизги жана турак жай (лазердик кесүү компоненттери)

Төмөндө саналып өткөн бардык компоненттерди бирч плайдын кесилишинде лазер менен кессе болот (32 "X 18")

1 - Негизги

1 X Астыңкы Плитасы

1 X Узун узундугу Кыска Бийиктикте Тор торчосу

1 X Top Base Plate

4 X Кыска Length Tall Height Түз тор каптал Strip Base

2 - Негизги

1 X Step Motor кир жуугуч

1 X Төмөнкү Негизги Табак

1 X Орточо узундугу Орточо бийиктиги Түз торчо тилкеси

1 X Жогорку Негизги Ринг

1 X Кыска Length Tall Height Түз тор каптал Strip

1 X Top Side Strip Plate

1 X Small тик бурчтуу табак (Micro Servo үчүн)

3 - Микрофондун стенди

4 X базалык табак

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

1 X Small тик бурчтуу табак (Микрофон үчүн)

2 -кадам: Circuit

Circuit
Circuit
Circuit
Circuit

3 -кадам: Машина жасоо (Механика жана Жыйын)

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

1_Алдынкы Ассамблея

  • (Милдеттүү эмес) Кайыңдын бардык компоненттерин таза кылып бүтүрүңүз
  • Кайыңдын катмарын толугу менен нымдап, анан ийилип тегерек форманы түзүңүз.
  • Дөңгөлөктүү форманы кармоо үчүн маска лентасын колдонуп, кайыңдын катмарынын тилкесин ороп алыңыз
  • Тасма тегерек формасын сактап калуусу үчүн ал түнү бою отурсун

2_Үй жыйыны

Негизги

  1. Негизги Плитаны Негизги Териге Клей
  2. Төмөнкү капталдагы төрт плитаны жабыштырып, анан ошол бөлүктү үстүңкү плитанын четине чаптаңыз
  3. Stepper моторун Жогорку базалык плитанын ортосуна скотч менен жабыңыз (Side Strip Plate менен бир жагын таптап, мотордун чыныгы айлануучу бөлүгүн машинанын ортосуна тууралаңыз)
  4. Stepper Motor шайбасын Stepper Motorго киргизиңиз

Негизги

  1. Негизги Плитаны Негизги Териге Клей
  2. Негизги Теринин Шакегин Негизги Теринин үстүнө чаптаңыз
  3. каптал тилкесин үстүңкү каптал тилкесине салыңыз
  4. Серво моторунун плитасын үстүңкү каптал тилкесине перпендикуляр чаптаңыз

3_Ассамблея

  1. Этияттык менен нан жана эки UNO R3 менен SD Shield базалык урнанын ичине коюңуз
  2. Үстүнкү Плитаны таштанды челегине койгула жана бардык сенсорлор менен Актуаторлордун үстүңкү пластинанын тешиктеринен өтүшүн текшериңиз
  3. Stepper моторун Жогорку базалык плитанын ортосуна скотч менен жабыңыз (Side Strip Plate менен бир жагын таптап, мотордун чыныгы айлануучу бөлүгүн машинанын ортосуна тууралаңыз)
  4. Stepper Motor шайбасын Step моторуна салыңыз
  5. Негизги компонентти шайбага коюңуз
  6. Каптал тилкесинин компонентин каптал тилкесинин базалык слайдына бекиңиз
  7. Серво моторун жогорку четиндеги Servo Motor Plate капталына скотч менен (капталга чапташ керек), андан кийин servo зымдарын каптал тилкесинин ичине таптаңыз
  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 volume1;

int volume2; float silenceTime = 0;

Servo баннер;

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 fail"); } plr.speakerPin = 9; plr.setVolume (5); }

void loop () {

көлөм1 = digitalRead (micPin1); көлөм2 = digitalRead (micPin2); banner.write (0); if (volume1 == 0 and volume2 == 0) {silenceTime += 0,05; Serial.print ("Тынчтык убактысы:"); Serial.println (silenceTime); } else {silenceTime = 0; banner.write (0); } кечиктирүү (50); if (silenceTime> = AWKS) {куткаруу (); silenceTime = 0; }}

боштук куткаруу () {

үчүн (int бурчу = 0; бурч <90; бурч += 1) {banner.write (бурч); кечигүү (35); } Serial.println ("Banner on"); кечиктирүү (100); Serial.write (1); Serial.println ("Ыр күйгүзүлгөн"); plr.play ("4.wav"); кечигүү (10000); plr.stopPlayback (); loop (); кечигүү (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 мотору (мотор кадамдары, stepPin1, stepPin2, stepPin3, stepPin4);

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

// орнотуу кодуңузду бул жерге коюңуз, бир жолу иштетүү үчүн: stepMotor.setSpeed (75); }

void loop () {

// кайра иштетүү үчүн негизги кодуңузду бул жерге коюңуз: int incoming = Serial.read (); эгер (кирүүчү == 1) {Serial.println ("активдештирилген"); if (motorState == 0) {stepMotor.step (1000); кечигүү (5000); } else {stepMotor.step (-1000); } motorState =! motorState; } кечигүү (500); }

Сунушталууда: