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

Տրամադրության պրոյեկտոր (կոտրված Philips Hue Light With GSR) TfCD: 7 քայլ (նկարներով)
Տրամադրության պրոյեկտոր (կոտրված Philips Hue Light With GSR) TfCD: 7 քայլ (նկարներով)

Video: Տրամադրության պրոյեկտոր (կոտրված Philips Hue Light With GSR) TfCD: 7 քայլ (նկարներով)

Video: Տրամադրության պրոյեկտոր (կոտրված Philips Hue Light With GSR) TfCD: 7 քայլ (նկարներով)
Video: Խելացի տուն - ինչպես է այն աշխատում: Կենցաղային էլեկտրական ցանցեր 2024, Հուլիսի
Anonim
Image
Image
Վերցրեք բացի երանգի լույսը
Վերցրեք բացի երանգի լույսը

Լաուրա Ահսմանի և Մայկա Վեբերի կողմից

Նպատակը. Lowածր տրամադրությունները և սթրեսը ժամանակակից արագընթաց կյանքի մեծ մասն են: Դա նաև արտաքինից անտեսանելի մի բան է: Ինչ կլիներ, եթե մենք կարողանայինք ինչպես տեսողական, այնպես էլ ակուստիկ կերպով մեր սթրեսի մակարդակը նախագծել արտադրանքի միջոցով, որպեսզի կարողանանք ցույց տալ, թե ինչ եք զգում: Դա ավելի դյուրին կդարձնի այս խնդիրների մասին հաղորդակցվելը: Ձեր սեփական արձագանքը կարող է նաև ավելի համարժեք լինել այն պահին, երբ ձեր սթրեսային մակարդակի վերաբերյալ արձագանքներ եք ստանում:

GSR- ը կամ մաշկի գալվանական դիմադրությունը, օգտագործողի մատների վրա արված չափումը, ապացուցված է, որ սթրեսի իսկապես լավ կանխատեսող է: Քանի որ ձեռքի քրտնագեղձերը հիմնականում արձագանքում են սթրեսին (ոչ միայն ֆիզիկական վարժություններ), սթրեսի մակարդակի բարձրացումը առաջացնում է ավելի բարձր հաղորդունակություն: Այս փոփոխականն օգտագործվում է այս նախագծում:

Գաղափար. Ի՞նչ կլիներ, եթե մենք կարողանայինք արագ հայտնաբերել սթրեսը կամ տրամադրությունը և այն ներկայացնել գունավոր լույսով և երաժշտությամբ: GSR համակարգը կարող է դա իրականացնել: Այս Instructable- ում մենք դա կանենք Arduino- ի վրա հիմնված համակարգ: Գործարկվելով ինչպես Arduino Software- ի, այնպես էլ Processing Software- ի կողմից, այն մաշկի հաղորդունակության արժեքները կվերածի որոշակի գույնի լույսի և որոշակի տեսակի երաժշտության:

Ի՞նչ է ձեզ պետք:

  • Արդուինո Ունո
  • Լարերը
  • Philips Hue լույս (կենդանի գույներ)
  • Երեք 100 Օմ դիմադրություն (RGB LED- ի համար)
  • Մեկ 100 KOhm դիմադրություն (GSR սենսորի համար)
  • Ինչ -որ բան, որը պետք է գործի որպես հաղորդունակության տվիչներ, ինչպես ալյումինե փայլաթիթեղը
  • Arduino Software
  • Մշակման ծրագրակազմ (մենք օգտագործել ենք v2.2.1, ավելի նորերը հակված են խափանման)
  • SolidWorks, բնակարանների նախագծման համար (ըստ ցանկության)
  • Մուտք դեպի CNC գործարան (ըստ ցանկության)
  • Կանաչ մոդելավորման փրփուր (EPS)
  • Հացաթուղթ (ըստ ցանկության, կարող է նաև զոդվել)

Քայլ 1: Վերցրեք երանգի լույսը

Այս քայլը հեշտ է, պարզապես որոշ ուժ գործադրեք (կամ պտուտակահան) թույլ տվեք կորցնել և բացել լույսը: Որոշ կտրուկ միացումներ ապրանքը միասին են պահում, ուստի այն հեշտ է բաժանել:

Այժմ, վերևի լույսը կարող է պտուտակվել և անջատվել մնացած էլեկտրոնիկայից: Մեզ անհրաժեշտ կլինի միայն լուսավորությունն ու պատյան գագաթը: Մնացածը պահեք կամ գցեք, դա ձեզն է:

Քայլ 2: Սարքավորման պատրաստում

Սարքաշարի պատրաստում
Սարքաշարի պատրաստում
Սարքաշարի պատրաստում
Սարքաշարի պատրաստում
Սարքաշարի պատրաստում
Սարքաշարի պատրաստում
Սարքաշարի պատրաստում
Սարքաշարի պատրաստում

Այս նախագծի համար մենք օգտագործեցինք Philips Hue լուսարձակը ՝ մարմնավորումն ավելի գեղեցիկ և արագ դարձնելու համար: Կարող եք նաև օգտագործել սովորական RGB LED, ինչպես ցույց է տրված նկարի վրա պատկերված նկարում:

RGB LED- ն աշխատեցնելու համար կապեք Arduino- ի երեք տարբեր PWM նավահանգիստներին (նշված է ba a ~): Այս կապի համար օգտագործեք 100 Օմ ռեզիստորներ: Միացրեք ամենաերկար կապը Arduino- ի 5V ելքին: Տեսնելու համար, թե որ քորոցը որ գույնին է համապատասխանում, տե՛ս այս քայլի վերջին պատկերը:

Hue Light- ի համար նույն քայլերն են ընթանում: LED- ն հեշտությամբ միացված է Arduino- ին `լարերը զոդելով նշանակված անցքերին, տե՛ս այս նկարի երրորդ պատկերը: Անցքերն ունեն R, G և B, ինչը ցույց է տալիս, թե որ մետաղալարն ուր պետք է գնա: Այն ունի նաև + և a - անցք, որը համապատասխանաբար պետք է միացվի Arduino- ի 5V- ին և Arduino- ի գետնին: LED- ը միացնելուց հետո կարող եք հետ պտուտակվել պատյանում:

Ալյումինե փայլաթիթեղից պատրաստված GSR սենսորները միացնելու համար (կամ օգտագործեք թեյի լույսերի ալյումիային տարաները, որոնք մի փոքր ավելի գեղեցիկ տեսք ունեն), դրանք կպցրեք կամ կպցրեք մետաղալարով և միացրեք 5V- ին: Մյուսը միացրեք 100KOhm ռեզիստորին և 0, 1mF կոնդենսատորին (զուգահեռ), որն այնուհետև պետք է միացված լինի գետնին և Arduino- ի A1 անցքին: Սա կտա սթրեսային մակարդակի ելքը, որն այնուհետև կօգտագործվի որպես բաց գույնի և երաժշտության մուտքագրում: Մենք սենսորները կպցրինք լամպին, ուստի այն դառնում է հաճելի արդյունք ՝ ձեր սթրեսը չափելիս: Beգույշ եղեք, սակայն, որ տվիչները չեն դիպչում:

Վերջին նկարը ցույց է տալիս, թե ինչպես կարելի է դա անել առանց տախտակի:

Քայլ 3. Սթրեսի մակարդակի չափում

Սթրեսային մակարդակի չափում
Սթրեսային մակարդակի չափում

Հենց այս տնական սենսորներով սթրեսային մակարդակի չափումը հաստատ ճշգրիտ չափումներ չի տա, թե որքանով եք դուք սթրեսի մեջ: Այնուամենայնիվ, ճիշտ ճշգրտվելիս այն կարող է մոտավորություն տալ:

GSR- ի մակարդակները չափելու համար մենք կօգտագործենք հետևյալ կոդը ՝ Arduino միջավայրում: Ավելի քիչ տատանվող չափումներ կատարելու համար միջին հաշվարկը կատարվում է յուրաքանչյուր 10 ընթերցմամբ:

const int numReadings = 10; int ընթերցումներ [numReadings]; // մուտքագրում A1 int ինդեքսից = 0; // ընթացիկ ընթերցման ինդեքս int total = 0; // ընթացիկ ընդհանուր անստորագիր երկար միջին = 0; // միջին

int inputPin = A1;

void setupGSR ()

{// բոլոր ընթերցումները սահմանել 0:

(int i = 0; i <numReadings; i ++) ընթերցումների համար = 0; }

unsigned long runGSR () {

ընդհանուր = ընդհանուր - ընթերցումներ [ինդեքս]; // կարդալ GSR սենսորային ընթերցումներից [index] = analogRead (inputPin); // ավելացնել նոր ընթերցում ընդհանուր ընդհանուրին = ընդհանուր + ընթերցումներ [ինդեքս]; // զանգվածի ինդեքսի հաջորդ դիրքը = ինդեքս + 1;

// զանգվածի վերջի փորձարկում

if (ինդեքս> = numReadings) // և սկսել ինդեքսից = 0;

// ինչ է միջին

միջին = ընդհանուր / թվային ընթերցումներ; // ուղարկեք այն համակարգչին որպես ASCII թվանշանների վերադարձման միջին;

}

Մեկ այլ ներդիրում (ամեն ինչ կազմակերպված պահելու համար) մենք կստեղծենք կոդը ՝ չափումներին արձագանքելու համար, տես հաջորդ քայլը:

Քայլ 4: Լույսերի կառավարում

Լույսերի կառավարում
Լույսերի կառավարում
Լույսերի կառավարում
Լույսերի կառավարում
Լույսերի կառավարում
Լույսերի կառավարում

Լույսերը կառավարելու համար մենք նախ պետք է չափագրենք չափումները: Ստուգեք, թե որն է ձեր չափումների վերին սահմանը `բացելով սերիական մոնիտորը: Մեզ համար չափումները 150 -ի միջև էին (երբ մենք իսկապես փորձում էինք հանգստանալ) և 300 -ի միջև (երբ մենք իսկապես շատ էինք փորձում սթրեսի ենթարկվել):

Այնուհետև որոշեք, թե որ գույնը պետք է ներկայացնի սթրեսային մակարդակը: Մենք դա արեցինք այնպես, որ.

1. stressածր սթրեսային մակարդակ. Սպիտակ լույս, որը փոխվում է կանաչ լույսի `աճող սթրեսի հետ

2. Միջին սթրեսային մակարդակ. Կանաչ լույս, որը փոխվում է կապույտ լույսի աճող սթրեսի հետ

3. Բարձր սթրեսային մակարդակ. Կապույտ լույս, որը փոխվում է կարմիրի `աճող սթրեսի հետ

Հետևյալ ծածկագիրը օգտագործվել է չափումները մշակելու և դրանք LED- ին ուղարկելու համար արժեքների վերածելու համար.

// ՎԱՐՊԵՏ #սահմանել DEBUG 0 -ը

// GSR = A1

int gsrVal = 0; // Փոփոխական ՝ տվիչներից մուտքագրումը պահելու համար

// Ինչպես նշվեց, օգտագործեք Pulse-width Modulation (PWM) կապում

int redPin = 9; // Կարմիր LED, միացված թվային կապին 9 int grnPin = 9; // Կանաչ LED, միացված թվային կապին 10 int bluPin = 5; // Կապույտ LED, միացված է թվային կապին 11

// Programրագրի փոփոխականներ

int redVal = 0; // Փոփոխականներ ՝ արժեքները պահելու համար, որոնք պետք է ուղարկվեն կապերին int grnVal = 0; int bluVal = 0;

անստորագիր երկար gsr = 0;

դատարկ կարգավորում ()

{pinMode (bluPin, OUTPUT); pinMode (grnPin, OUTPUT); pinMode (redPin, OUTPUT); pinMode (A1, INPUT);

Serial.begin (9600);

setupGSR (); }

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

{gsrVal = gsr; if (gsrVal <150) // gsr միջակայքի ամենացածր երրորդը (0-149) {gsr = (gsrVal /10) * 17; // Նորմալացնել մինչեւ 0-255 redVal = gsrVal; // անցնել ամբողջական grnVal = gsrVal; // Կանաչից անջատվածից մինչև ամբողջական bluVal = gsrVal; // Կապույտ անջատված է ամբողջությամբԼարային SoundA = "A"; Serial.println (SoundA); // գործող երաժշտության մեջ հետագայում օգտագործելու համար} else if (gsrVal <250) // gsr միջակայքի միջին երրորդը (150-249) {gsrVal = ((gsrVal-250) /10) * 17; // Նորմալացնել մինչեւ 0-255 redVal = 1; // Կարմիր անջատված grnVal = gsrVal; // Կանաչից մինչև անջատված bluVal = 256 - gsrVal; // Կապույտ ՝ անջատվածից մինչև ամբողջական լարային SoundB = "B"; Serial.println (SoundB); } else // gsr միջակայքի վերին երրորդը (250-300) {gsrVal = ((gsrVal-301) /10) * 17; // Նորմալացնել մինչև 0-255 redVal = gsrVal; // Կարմիր անջատումից մինչև ամբողջական grnVal = 1; // Կանաչից մինչև ամբողջական bluVal = 256 - gsrVal; // Կապույտ ՝ լրիվից մինչև անջատված String SoundC = "C"; Serial.println (SoundC); }

analogWrite (redPin, redVal); // Գրել արժեքներ LED կապում analogWrite (grnPin, grnVal); analogWrite (bluPin, bluVal); gsr = runGSR (); ուշացում (100); }

Այսպիսով, այժմ LED- ն արձագանքում է ձեր սթրեսային մակարդակին, եկեք մի քիչ երաժշտություն ավելացնենք ՝ ձեր տրամադրությունը ներկայացնելու համար, հաջորդ քայլին:

Քայլ 5: Երաժշտության կառավարում

Երաժշտության կառավարում
Երաժշտության կառավարում

Մենք ընտրեցինք ներկայացնել 3 սթրես մակարդակները հետևյալ երաժշտությամբ.

1. Lowածր մակարդակ (A). Երգող թասեր և թռչունների ծլվլոց, շատ թեթև ձայն

2. Միջին մակարդակ (B) ՝ մելանխոլիկ դաշնամուր, մի փոքր ավելի ծանր հնչողություն

3. Սթրեսի բարձր մակարդակ (C). Ամպրոպի փոթորիկ, մութ ձայն (չնայած բավականին հանգստացնող)

Կոդը գրված է Processing- ում ՝ Arduino- ի ծրագրային ապահովման հետադարձ մաս ապահովող ծրագրակազմ:

ներմուծման մշակում. սերիա.*; ներմուծում ddf.minim.*;

Նվազագույն նվազագույն;

AudioPlayer նվագարկիչներ;

int lf = 10; // Linefeed ASCII- ում

String myString = null; Սերիական myPort; // Սերիական նավահանգիստ int sensorValue = 0;

void setup () {

// Թվարկեք բոլոր առկա սերիական պորտերը printArray (Serial.list ()); // Բացեք ձեր օգտագործած նավահանգիստը նույն արագությամբ, ինչ Arduino myPort = new Serial (սա, Serial.list () [2], 9600); myPort.clear (); // հստակ չափումներ myString = myPort.readStringUntil (lf); myString = null; // մենք սա փոխանցում ենք Minim- ին, որպեսզի այն կարողանա բեռնել ֆայլեր minim = new Minim (this); նվագարկիչներ = նոր AudioPlayer [3]; // Փոխեք այստեղ աուդիո ֆայլի անունը և ավելացրեք այն գրադարանների նվագարկիչներին [0] = minim.loadFile ("Singing-bowls-and-birds-chirping-sleep-music.mp3"); նվագարկիչներ [1] = minim.loadFile ("Մելանխոլիկ-դաշնամուր-երաժշտություն. mp3"); նվագարկիչներ [2] = minim.loadFile ("Storm-sound.mp3"); }

դատարկ վիճակահանություն () {

// ստուգեք, արդյոք կա նոր արժեք while (myPort.available ()> 0) {// տվյալները պահեք myString myString = myPort.readString (); // ստուգեք, արդյոք մենք իսկապես ինչ -որ բան ունենք, եթե (myString! = null) {myString = myString.trim (); // ստուգեք, եթե կա ինչ -որ բան, եթե (myString.length ()> 0) {println (myString); փորձեք {sensorValue = Integer.parseInt (myString); } բռնել (բացառություն ե) {} if (myString.equals ("A")) // տեսնել, թե ինչ սթրեսային մակարդակի վրա է չափում {նվագարկիչներ [0].խաղ (); // նվագել երաժշտության համաձայն} else {նվագարկիչներ [0]. դադար (); // եթե դա չի չափում սթրեսի ցածր մակարդակը, մի նվագեք ըստ երգի} if (myString.equals ("B")) {players [1].play (); } else {նվագարկիչներ [1]. դադար (); } if (myString.equals ("C")) {players [2].play (); } else {նվագարկիչներ [2]. դադար (); }}}}}

Այս կոդը պետք է նվագարկի երաժշտությունը ՝ համաձայն նոութբուքի բարձրախոսների լարվածության մակարդակի:

Քայլ 6. Նախագծեք մարմնավորումը

Image
Image
Նախագծեք մարմնավորումը
Նախագծեք մարմնավորումը

Մենք օգտագործեցինք Philips Hue Light- ի վերին հատվածը, բայց cnc'd greenfoam հատակը: SolidWorksfile- ն այստեղ է, բայց կարող է նաև հաճելի լինել ինքներդ լամպը չափելը և ձեր ճաշակին համապատասխան դիզայն ստեղծելը:

Մենք օգտագործել ենք լամպի վերևի լուսանկարը որպես ստորին շերտ SW- ում `համոզվելու համար, որ ներքևի ձևը հետևում է վերևի կորին (տես առաջին լուսանկարը):

Մոդելը cnc'd ունենալու համար պահեք այն որպես STL ֆայլ և գտեք ձեր տեղական ջրաղացպանը (օրինակ ՝ uni- ում):

Քայլ 7: Աղբյուրներ

Եթե ցանկանում եք այս թեմայով ավելի շատ տեղեկություններ ունենալ կամ սթրեսը չափելու ավելի ընդարձակ ծածկագրեր եք տեսնում, տես հետևյալ կայքերն ու նախագծերը.

  • Վերամշակման մեջ աուդիոֆայլեր հրահրելու վերաբերյալ լրացուցիչ բացատրություններ (որոնք մենք օգտագործում էինք)
  • Գեղեցիկ ձեռնարկ GSR- ի վերաբերյալ
  • Moodարմանալի տարբեր մոտեցում տրամադրության նախագծմանը
  • Իսկապես սթրեսային դետեկտոր ՝ բազմաթիվ սենսորներով (այս նախագծի մեծ ոգեշնչումը)
  • Ձայնային (սթրեսի փոխարեն) պրոյեկտոր RGB LED- ով
  • Լավ հոդված GSR- ի մասին

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