Բովանդակություն:

SASSIE. Անհարմար լռության լուծման և փոխազդեցության բարելավման համակարգը. 5 քայլ
SASSIE. Անհարմար լռության լուծման և փոխազդեցության բարելավման համակարգը. 5 քայլ

Video: SASSIE. Անհարմար լռության լուծման և փոխազդեցության բարելավման համակարգը. 5 քայլ

Video: SASSIE. Անհարմար լռության լուծման և փոխազդեցության բարելավման համակարգը. 5 քայլ
Video: 8 բան, որ տղամարդիկ անում են ՄԻԱՅՆ այն կնոջ հետ, ում սիրում են 2024, Հուլիսի
Anonim
Image
Image
Մասեր, նյութեր և գործիքներ
Մասեր, նյութեր և գործիքներ

SASSIE- ն այն հարցի պատասխանն է, որը բոլորս ինքներս մեզ տվել ենք մեր կյանքի մի պահի անհարմար լռության ժամանակ. «Հաջորդը ես խոսո՞ւմ եմ»: Դե, հիմա պետք չէ անհանգստանալ, քանի որ SASSIE- ը հատուկ նախագծված է անհարմար լռությունը ճանաչելու համար, այնուհետև չեզոքացնելու այն ՝ պատահականորեն որոշելով, թե ով պետք է խոսի հաջորդը: Այժմ կարող եք առանց սթրեսի խոսակցության գնալ ՝ իմանալով, որ SASSIE- ը ձեր մեջքն է:

Քայլ 1: Մասեր, նյութեր և գործիքներ

Arduino մասեր

2 X Arduino Uno R3

2 X Arduino խոսափող

1 X XBee Wireless SD Shield

1 X 1/2 w 8 Վոլտ բարձրախոս

1 X Half Size Breadboard

1 X Arduino stepper շարժիչ

1X ULN 2003 Stepper Motor Drive տախտակ

1 X միկրո սերվո

Հիմք և բնակարան (լազերային կտրող բաղադրիչներ)

Ստորև թվարկված բոլոր բաղադրիչները կարող են լազերային կտրել Birch Ply Fullbed- ի վրա (32 "X 18")

1 - հիմք

1 X Ստորին բազայի ափսե

1 X Երկար երկարությամբ Կարճ բարձրության ուղիղ վանդակավոր ժապավեն

1 X Top Base Plate

4 X կարճ երկարությամբ բարձրահասակ ուղիղ վանդակավոր կողային շերտի հիմք

2 - հիմնական

1 X Stepper Motor լվացքի մեքենա

1 X Ստորին հիմնական ափսե

1 X Միջին երկարություն Միջին բարձրություն Ուղիղ վանդակավոր ժապավեն

1 X Գլխավոր հիմնական օղակ

1 X Կարճ երկարություն Բարձրություն Ուղիղ վանդակավոր կողային ժապավեն

1 X Top Side Strip ափսե

1 X փոքր ուղղանկյուն ափսե (միկրո սերվերի համար)

3 - խոսափողի տակդիր

4 X բազային ափսե

1 X 13 սմ 3/16 դոդ (ներսից 30 աստիճանով)

1 X փոքր ուղղանկյուն ափսե (խոսափողի համար)

Քայլ 2: Շղթա

Շրջան
Շրջան
Շրջան
Շրջան

Քայլ 3. Մեքենաների պատրաստում (մեխանիկա և հավաքում)

Մեքենաների պատրաստում (մեխանիկա և հավաքում)
Մեքենաների պատրաստում (մեխանիկա և հավաքում)

1_Նախագիծ

  • (Ըստ ցանկության) Կեչու բոլոր բաղադրամասերը մանրացրեք մինչև անփայլ ավարտ
  • Խոնավացրեք ամբողջ կեչի շերտը և թեքեք այն ՝ շրջանաձև ձև ստեղծելու համար:
  • Շրջանաձև ձևը պահելու համար դիմակավոր ժապավենով փաթաթեք կեչի շերտը
  • Թողեք այն մնա ամբողջ գիշեր, որպեսզի շերտը պահպանի շրջանաձև ձևը

2_Բնակարանային ժողով

Հիմք

  1. Կպչեք ներքևի ափսեը հիմքի մաշկի վրա
  2. Կպչեք չորս ներքևի կողային ափսեը միասին, այնուհետև սոսնձեք այդ մասը վերևի հիմքի ափսեի եզրին
  3. Կպչեք Stepper շարժիչը վերևի հիմքի ափսեի կենտրոնով (Հիշեք, որ կողք կողքի ափսեի հետ նույն կողմը թակել եք և շարժիչի իրական պտտվող մասը հավասարեցրեք մեքենայի կենտրոնին)
  4. տեղադրեք Stepper Motor լվացքի մեքենան Stepper Motor- ի վրա »

Հիմնական

  1. Կպչեք ներքևի հիմնական ափսեը հիմնական մաշկին
  2. Կպչեք հիմնական մաշկի օղակը հիմնական մաշկի վերևում
  3. տեղադրեք կողային ժապավենը դեպի վերևի կողային շերտը, որը սահեց
  4. Կպցրեք Servo Motor Plate- ը ուղղահայաց վերևի կողային շերտին

3_Theողովը

  1. Fullyգուշորեն տեղադրեք տախտակը և երկու UNO R3- ը ՝ SD Shield- ով, բազայի աղբարկղի ներսում
  2. Տեղադրեք վերին հիմքի ափսեը աղբարկղի վրա և համոզվեք, որ բոլոր տվիչներն ու շարժիչներն անցնում են վերին ափսեի բացվածքներով
  3. Կպչեք Stepper- ի շարժիչը վերևի հիմքի ափսեի կենտրոնով (Հիշեք, որ կողքի կողքի ափսեի հետ նույն կողմով թակել եք և շարժիչի իրական պտտվող մասը հավասարեցրեք մեքենայի կենտրոնին)
  4. Տեղադրեք Stepper Motor լվացքի մեքենան Stepper Motor- ի վրա
  5. Տեղադրեք հիմնական բաղադրիչը լվացքի մեքենայի վրա
  6. Կցեք կողային ժապավենի բաղադրիչը կողային շերտի հիմքի մեջ սահեցրեք
  7. Կպցրեք Servo Motor- ը Servo Motor Plate- ի կողքին `վերևի ծայրում (պետք է կողպեք կողքին), այնուհետև կողպեքի սերվերի ներքին հատվածը կպցրեք կողքին
  8. Կցեք վերին նշանը servo շարժիչին
  9. Հպեք հիմնական մաշկի վրա գտնվող կողային նշանին

4_Միկրոֆոնի տակդիրի հավաքում

  1. Կպչեք չորս հիմքը միասին
  2. Կպչեք դոդի հարթ կողմը հիմքին
  3. Կպչեք խոսափողի ափսեը սոսնձի անկյունագծով
  4. կպցրեք խոսափողը միկրոֆոնի ափսեի վրա

Քայլ 4: Programրագրավորում

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; լողացող լռություն imeամանակ = 0;

Servo դրոշակ;

TMRpcm plr;

void setup () {

// տեղադրեք ձեր տեղադրման կոդը այստեղ ՝ մեկ անգամ գործարկելու համար ՝ pinMode (servoPin, OUTPUT); pinMode (micPin1, INPUT); pinMode (micPin2, INPUT); Serial.begin (9600); Serial.println («Բարի գալուստ SASSIE ախտորոշման պորտալ»); banner.attach (servoPin); banner.write (0); եթե (! SD.begin (10)) {Serial.println ("SD fail"); } plr.speakerPin = 9; plr.setVolume (5); }

դատարկ շրջան () {

ծավալը 1 = digitalRead (micPin1); ծավալը 2 = digitalRead (micPin2); banner.write (0); եթե (հատոր 1 == 0 և հատոր 2 == 0) {լռություն imeամանակ += 0.05; Serial.print («Լռության ժամանակը.»); Serial.println (sileTime); } else {լռություն = 0; banner.write (0); } ուշացում (50); if (sileTime> = AWKS) {փրկարարական (); sileTime = 0; }}

դատարկ փրկություն () {

համար (int անկյուն = 0; անկյուն <90; անկյուն += 1) {banner.write (անկյուն); ուշացում (35); } Serial.println («Դրոշակը միացված է»); ուշացում (100); Սերիա. Գրել (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 = կեղծ;

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

void setup () {

// տեղադրեք ձեր տեղադրման կոդը այստեղ ՝ մեկ անգամ գործարկելու համար. stepMotor.setSpeed (75); }

դատարկ շրջան () {

// տեղադրեք ձեր հիմնական կոդը այստեղ ՝ բազմիցս գործարկելու համար: int incoming = Serial.read (); if (մուտքային == 1) {Serial.println ("ակտիվացված"); եթե (motorState == 0) {stepMotor.step (1000); ուշացում (5000); } else {stepMotor.step (-1000); } motorState =! motorState; } ուշացում (500); }

Խորհուրդ ենք տալիս: