Բովանդակություն:
- Քայլ 1: Ի՞նչ է մեզ պետք:
- Քայլ 2: Նախատիպերի ձևավորում
- Քայլ 3: Կոդ
- Քայլ 4: Այժմ գործի համար
- Քայլ 5. Վերջնական արդյունքը պետք է ունենա այսպիսի մի բան
- Քայլ 6: oldոդում:
- Քայլ 7: Մենք ավարտված ենք:
Video: Ինտերակտիվ անլար լույս ՝ 7 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Բարեւ բոլորին! Ես կցանկանայի կիսվել այն նախագծով, որի վրա աշխատել եմ այստեղ: Ես ոգեշնչվեցի փորձարկել տարողունակ հպման զգայարանն իմ համալսարանի նախագծի միջոցով: Այս տեխնոլոգիայի մասին ես իմացա հրահանգների միջոցով և օգտագործեցի այն, ինչ սովորել եմ այստեղ և ինտերնետի այլ վայրերից ՝ կառուցելու իմ սեփական հպում չունեցող վերահսկիչը, որը ես օգտագործում եմ RGB- ի տարբեր արժեքներ խառնելու համար ՝ հետաքրքիր թեթև գույներ ստեղծելու համար:
Սկսելու համար, երբ սկսեցի այս նախագիծը, ես գրեթե ոչինչ չգիտեի ո՛չ էլեկտրոնիկայի, ո՛չ էլ capacitive touch sensing- ի մասին:
Որոշ խնդիրներ, որոնց ես վաղուց հանդիպեցի, առաջացան թյուրիմացության մեջ, թե ինչ է իրականում տեղի ունենում: Այսպիսով, կարճ ներածություն այն բանից, թե ինչպես եմ դա հասկանում.
Կոնդենսատիվ սենսորը օգտագործում է բազմաթիվ բաղադրիչներ, հիմնականում.
Կոնդենսատոր (այս նախագծում մենք օգտագործում ենք ալյումինե փայլաթիթեղ, բայց հնարավոր է նաև օգտագործել հաղորդիչ հեղուկներ և այլն), լարեր (իհարկե, դրա էլեկտրոնիկան)
և ռեզիստոր, 10 ՄՀմ -ից ցածր որևէ բան չափազանց փոքր դիմադրություն է, քան ուղղակի դիպչելը:
այն աշխատում է `չափելով A և B կետերի միջև եղած ժամանակի տարբերությունը` սկզբնական փինից այն ազդանշան է ուղարկում վերջնակետին, ժամանակը, որը տևում է, չափվում է ժամաչափով: Նվազեցնելով դիմադրության արժեքը (կոնդենսատորը (այս դեպքում ձեր ձեռքը) սենսորի կոնդենսատորին ավելի մոտենալով (ալյումինե փայլաթիթեղը)) այս անգամ կարճանում է, ժամանակի տարբերությունն այն է, ինչ սենսորը վերադարձնում է որպես արժեք:
Կենսունակ մակերևույթների վրա ազդող սենսորի պատճառով տվյալները կարող են շատ անկանոն լինել միջամտության պատճառով: Դա մեծ մասամբ կարող է լուծվել կոնդենսատորի ճիշտ մեկուսացման միջոցով, ինչպես նաև գետնի միջոցով (հետագայում ցույց կտամ, թե ինչպես):
Այսպիսով, այժմ դա մեզանից դուրս է, մենք կարող ենք սկսել գույքագրել մեզ անհրաժեշտ բոլոր իրերը.
Քայլ 1: Ի՞նչ է մեզ պետք:
Էլեկտրոնիկա:
1. 2 x 22M Օմ + ռեզիստորներ (որքան մեծ է դիմադրության արժեքը, այնքան ավելի հեռու է արձագանքում ձեր սենսորը, ես անձամբ օգտագործել եմ 22 Մ Օմ, օգտագործած տվյալներ ստանալու նվազագույնը ՝ 10 Մ Օմ)
2. 3x330 Օմ ռեզիստորներ
3. Լարեր
4. Հացաթուղթ
5. Տախտակ (իմը ուներ Continouos պղնձե շերտեր)
6. Բազմաթիվ ընդհանուր կաթոդ RGB լուսարձակներ (ես օգտագործել եմ 8, բայց դուք կարող եք ունենալ քիչ թե շատ, կախված է նրանից, թե որքան լույս եք ուզում)
7. Ալյումինե փայլաթիթեղ
8. Կպչուն փաթաթան
9. Արդուինո Ունո
10. Կասետային
Այն դեպքն է:
1. Փայտ Ես օգտագործել եմ 50 x 50 x 1.8 CM MDF (իսկապես կարող եք օգտագործել ամեն ինչ: Դա կախված է ձեր ուզած ազդեցությունից և ձեր տրամադրության տակ եղած գործիքներից)
2. Ակրիլային պլեքսիգլաս ես օգտագործել եմ 50 x 50 x 0.3 սմ (կամ ցանկացած այլ թափանցիկ/կիսաթափանցիկ նյութ, ինչպիսին է բրնձի թուղթը)
3. Թուղթ (նուրբ հղկաթուղթ)
4. Փայտե սոսինձ
5. երեսպատել (ըստ ցանկության)
6. Ակրիլային սոսինձ
Գործիքներ:
Մետաղալար մերկացուցիչ
Oldոդման երկաթ + անագ
Սթենլի դանակ
հորատում
Սղոց (ես օգտագործեցի սեղանի սղոց)
Քայլ 2: Նախատիպերի ձևավորում
Այժմ մենք ունենք ամեն ինչ և կարող ենք սկսել նախատիպ պատրաստել ՝ տեսնելու, թե ինչպես է այն աշխատում.
Նախապատրաստական աշխատանք
Ալյումինե փայլաթիթեղից կտրեք 4 ուղղանկյուն (իմը մոտ 10 սմ է 5 սմ), դրանք փաթաթեք կպչուն փաթեթավորմամբ ՝ դրանք անմիջական շփումից մեկուսացնելու համար և մետաղալար կպցրեք ալյումինե փայլաթիթեղին: Ես պարզապես կպցրեցի փայլաթիթեղի մի հատված, որի ծայրը (քանի դեռ նրանք կապի մեջ են):
Ալյումինն ապահով մեկուսացված լինելու համար ես փաթաթեցի կպչուն փաթաթանով և արդուկեցի թղթերի միջև (ընդամենը մի քանի վայրկյան, որպեսզի այն ամբողջությամբ չհալչի):
Այնուհետև տեղադրեք միացումը, ինչպես երևում է նկարում:
4 -րդ կապը օգտագործվում է որպես երկու սենսորների համար ուղարկող քորոց, մինչդեռ ստացման կապերը 2 -րդ և 5 -րդ փիներն են: Դուք կարող եք օգտագործել մի քանի ուղարկման կապում, բայց դա խնդիրներ է առաջացնում, քանի որ դրանք կատարյալ համաժամեցված չեն:
օգտագործեք այս կարգավորումը վրիպազերծման նպատակների համար, նախքան ամեն ինչ միասին միացնելը, համոզվելու համար, որ ամեն ինչ իսկապես աշխատում է ըստ նախատեսվածի:
Քայլ 3: Կոդ
Այժմ մենք ունենք ամեն ինչ և կարող ենք սկսել կարգաբերել սենսորները:
Իմ կոդը օգտագործելու համար դուք պետք է ներբեռնեք capacitive sensing գրադարանը Arduino- ից և տեղադրեք այն ՝ ըստ հղման էջի տրված ցուցումների: Կտտացրեք ինձ
Կոդ. (Ես կոդավորելու հիանալի չեմ, այնպես որ, եթե գիտեք, թե ինչպես դա անել ավելի լավ, խնդրում եմ դա անել)
#include // ներմուծել կոդերի գրադարանը
CapacitiveSensor cs_4_2 = CapacitiveSensor (4, 2); // Ուղարկեք քորոց = 4, ստացեք ՝ 2 և 5 CapacitiveSensor cs_4_5 = CapacitiveSensor (4, 5); const int redPin = 11; const int greenPin = 10; const int bluePin = 9; const int numIndexR = 10; // զանգվածի չափը const int numIndexG = 10; int գույնը R = 0; int գույն G = 0; բոցի գույնը B = 0; int indexR [numIndexR]; int posIndexR = 0; երկար ընդհանուր R = 0; // այն պետք է երկար տևի, քանի որ իմ զանգվածի ընդհանուր թիվը մեծի համար էր: int միջին R = 0; int indexG [numIndexG]; int posIndexG = 0; երկար ընդհանուր G = 0; int միջին G = 0; void setup () {pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); for (int thisIndexR = 0; thisIndexR <numIndexR; thisIndexR ++) {// զանգվածը սահմանում է 0 indexR [thisIndexR] = 0; } համար (int thisIndexG = 0; thisIndexG = 4500) {// ծածկել սենսորի արժեքները օգտագործելի առավելագույնի համար, սա նույնը չէ յուրաքանչյուր դիմադրության արժեքի համար և կարող է նաև մի փոքր տարբերվել միջավայրից միջավայր: ձեր սեփական կարիքները: ընդամենը 1 = 4500; } if (total2> = 4500) {total2 = 4500; } totalR = totalR - indexR [posIndexR]; // սա այստեղ ստեղծում է զանգված, որը անընդհատ ավելացնում է սենսորի ելքը և արտադրում միջին: indexR [posIndexR] = ընդհանուր 1; totalR = totalR + indexR [posIndexR]; posIndexR = posIndexR + 1; եթե (posIndexR> = numIndexR) {posIndexR = 0; } averageR = totalR / numIndexR; // մենք օգտագործում ենք միջինը հում տվյալների փոխարեն ՝ ելքը հարթելու համար, այն մի փոքր դանդաղեցնում է գործընթացը, բայց նաև ստեղծում է իսկապես գեղեցիկ հարթ հոսք: totalG = totalG - indexG [posIndexG]; indexG [posIndexG] = ընդհանուր 2; totalG = totalG + indexG [posIndexG]; posIndexG = posIndexG + 1; եթե (posIndexG> = numIndexG) {posIndexG = 0; } averageG = totalG / numIndexG; if (averageR> = 2000) {// մենք չենք ցանկանում, որ led- ները անընդհատ փոխեն արժեքը, եթե ձեր ձեռքից մուտք չկա, այնպես որ դա համոզված է, որ շրջակա միջավայրի բոլոր ստորին ցուցանիշները հաշվի չեն առնվում: colorR = քարտեզ (միջին R, 1000, 4500, 255, 0); analogWrite (redPin, colorR); } else if (averageR = 1000) {colorG = քարտեզ (միջին G, 1000, 4500, 255, 0); analogWrite (greenPin, colorG); } else if (averageG <= 1000) {colorG = 255; analogWrite (greenPin, colorG); } if (colorR <= 125 && colorG <= 125) {// B- ն մի փոքր այլ կերպ է աշխատում, քանի որ ես օգտագործել եմ միայն 2 տվիչ, այնպես որ B- ն երկու սենսորների վրա քարտեզագրել եմ գույն B = քարտեզ (գույն R, 255, 125, 0, 127.5) + քարտեզ (գույն G, 255, 125, 0, 127.5); analogWrite (bluePin, colorB); } else {colorB = քարտեզ (colorR, 255, 125, 127.5, 0) + քարտեզ (colorG, 255, 125, 127.5, 0); if (colorB> = 255) {colorB = 255; } if (colorB <= 0) {colorB = 0; } analogWrite (bluePin, colorB); } Serial.print (millis () - սկիզբ); // սա վրիպազերծման նպատակների համար է Serial.print ("\ t"); Serial.print (colorR); Serial.print ("\ t"); Serial.print (colorG); Serial.print ("\ t"); Serial.println (գույնը Բ); ուշացում (1); }
Այն, ինչ անում է այս ծածկագիրը, սենսորից հում տվյալների հանումն է (այս տվյալները միշտ փոքր -ինչ անկայուն կլինեն սենսորի վրա ազդող բոլոր տարբեր գործոնների պատճառով) և այն անընդհատ դնում է հումքի տվյալները զանգվածում, երբ զանգվածը հասնում է առավելագույն արժեքին (իմ դեպքում 10) այն մաքրում է վերջին արժեքը և ավելացնում նորը: Ամեն անգամ, երբ արժեք է ավելացվում, այն հաշվարկում է միջին արժեքը և դնում այն նոր փոփոխականի մեջ: Այս միջին փոփոխականն օգտագործվում է արժեքը 0 -ից 255 արժեքի քարտեզագրելու համար: Սա այն արժեքն է, որը մենք գրում ենք RGB կապում `յուրաքանչյուր ալիքի պայծառությունը բարձրացնելու համար (ալիքները` R G և B):
Եթե ձեր կոդը վերբեռնում եք arduino- ում և բացում եք սերիական մոնիտորը, RGB- ի արժեքներն ավելի ցածր կլինեն, երբ ձեր ձեռքը սենսորների վրա սավառնում եք, և լուսադիոդի գույնը պետք է փոխվի:
Քայլ 4: Այժմ գործի համար
Գործը. Ես գործը դարձրեցի ՝ օգտագործելով իմ համալսարանի միջոցով առկա գործիքները, ուստի այս աշխատանքի ընթացքը կիրառելի չէ բոլորի համար: Այնուամենայնիվ, դրա մեջ չափազանց առանձնահատուկ ոչինչ չկա, նրան անհրաժեշտ է մի կողմի անցք, որպեսզի USB պորտը տեղավորվի, բայց բացի դրանից, այն բաց տուփ է:
Չափերը հետևյալն են.
15 x 15 CM թափանցիկ վերևի համար
եւ
15 x 8 CM փայտե հիմքի համար (փայտի հաստությունը ինձ համար 1.8 CM էր):
Ես սեղանի սղոցով կտրեցի MDF- ի ափսեը ինձ անհրաժեշտ չափերի (որը 4 վահանակ է 15 x 8 CM և 1 15 x 15 CM հողային վահանակ), որից հետո անկյունները կտրեցի 45 աստիճանի անկյան տակ: Բոլոր մասերը, որոնք ես կպցրել էի իրար, օգտագործելով փայտի սոսինձ և սեղմակներ (թող այն չորանա առնվազն 30 րոպե), ես նույն ընթացակարգն էի կիրառում Plexiglas- ի համար, բայց հատուկ սղոցի սայրով:
Փայտե կողմերից 1 -ը պետք է ունենա անցք կենտրոնում arduino USB խրոցակի բարձրության վրա, որպեսզի թույլ տա, որ arduino- ն միացված լինի:
Ես ավարտեցի հիմքը երեսպատմամբ: Ես կտրեցի այն յուրաքանչյուր կողմի մակերեսից մի փոքր ավելի մեծ կտորների:
Սա կպցրեցի դրա վրա, այնուհետև այն սեղմեցի 30 րոպե յուրաքանչյուր կողմի համար (ավելի լավ է դա անել առանձին, որպեսզի համոզվեք, որ այն չի սահում, և չորանալուց հետո ես կտրեցի այն, ինչ դուրս էր մնացել:
Կափարիչը, որը ես սոսնձեցի ՝ օգտագործելով Acryl- ի համար հատուկ սոսինձ, որը կոչվում է Acryfix:
Տեղյակ եղեք, որ եթե դուք օգտագործում եք ակրիլային պլեքսիգլաս, սոսինձը պլյուսիլագլասը մի փոքր լուծարում է, այնպես որ եղեք հնարավորինս ճշգրիտ և արագ (այն չորանում է մի քանի րոպեի ընթացքում, բայց օդում հայտնվում է վայրկյանների ընթացքում):
Գլխարկը ավարտելու համար ես խորանարդը ցրտահարեցի ավազաքարով, բայց կարող եք նաև օգտագործել նուրբ հղկաթուղթ, այն ավելի շատ ժամանակ է պահանջում, որպեսզի այն հավասար տեսք ունենա: Ուշադրություն դարձրեք, եթե հղկաթուղթ եք օգտագործում, այն պետք է մանրահատիկ լինի, ինչպես նաև սոսնձման պրոցեդուրայից հետո մասերը սոսնձեք (այնպես, որ պատահականորեն այն չկոտրեք ՝ մեծ ճնշման ենթարկելով)
Որպեսզի համոզվեմ, որ գլխարկը շատ չի սահում, ես փայտե խորանարդի եզրերին սոսնձեցի մի քանի փոքր փայտե ձողեր:
Քայլ 5. Վերջնական արդյունքը պետք է ունենա այսպիսի մի բան
Քայլ 6: oldոդում:
Եթե ունեք տպատախտակ, կարող եք սկսել միաձուլել բոլոր մասերը ՝ օգտագործելով նույն կարգավորումը, որն ունի ձեր տախտակը:
Իմ տպատախտակն ունի շարունակական պղնձե շերտեր `օգտագործման հարմարավետության համար:
Յուրաքանչյուր սենսորի համար ես կտրեցի մի փոքր քառակուսի ՝ ռեզիստորներն ու լարերը միացնելու համար:
Ուղարկող լարերը (լարերը, որոնք անցնում են 4 -րդ կապից դեպի յուրաքանչյուր սենսոր) հաջորդաբար զոդվում են առանձին քառակուսիի վրա, 1 մետաղալարով, որը մտնում է 4 -րդ կապի մեջ:
Ես երկար ուղղանկյուն էի պահում ՝ իմպրովիզացված led ժապավեն պատրաստելու համար (չափեք այն այնպես, որ այն տեղավորվի գլխարկի ներսում, բայց հիմքի եզրերին): Դուք պարզապես կարող եք իրար հաջորդաբար զոդել լուսարձակները (հիշեք, որ պատկերում ես պատահաբար միացրել եմ լուսամփոփներն ու դիմադրիչները տպատախտակի սխալ կողմում, պղնձե շերտերը միշտ պետք է լինեն ներքևում):
Երբ ավարտեք առանձին մասերի միացումը, դրանք տեղադրեք պատյանում: Ես չեմ ամրացրել իմ առանձին լարերը միասին, որպեսզի անհրաժեշտության դեպքում դրանք հեշտությամբ փոխեմ:
Everythingամանակն է ամեն ինչ տեղավորել բազայի մեջ. Սա բավականին ամենահեշտ քայլն է, arduino- ն պետք է առաջին հերթին տեղադրվի USB պորտով ՝ պատյան հետևի անցքի միջով: Այժմ ավելացրեք սենսորները, համոզվեք, որ սենսորային փայլաթիթեղը երկու կողմից տեղավորվում է փայտի վրա, իսկ գրունտային փայլաթիթեղն ուղիղ դեպի այն: Երբ ամեն ինչ լավ տեղավորվի, միացրեք RGB լուսարձակները աջ կապում (9, 10, 11) և թողեք այն հենվի հիմքի եզրերին:
Քայլ 7: Մենք ավարտված ենք:
Եթե այս ամենին հետևել եք, ապա այժմ պետք է ունենաք աշխատանքային լույս `տարողունակ հպման գույնի համադրությամբ: Զվարճանալ!
Խորհուրդ ենք տալիս:
Անիմացիոն տրամադրության լույս և գիշերային լույս. 6 քայլ (նկարներով)
Անիմացիոն տրամադրության լույս և գիշերային լույս. Ունենալով հրապուրանք, որը սահմանակից է լույսի մոլուցքին, ես որոշեցի ստեղծել փոքր մոդուլային PCB- ների ընտրանի, որոնք կարող են օգտագործվել ցանկացած չափի RGB լուսացույց ցուցադրելու համար: Մոդուլային PCB- ն սարքելով ՝ ես սայթաքեցի դրանք դասավորելու գաղափարով
SpotLight ինտերակտիվ գիշերային լույս ՝ 4 քայլ
SpotLight ինտերակտիվ գիշերային լույս. The SpotLight- ը ինտերակտիվ գիշերային լույս է, որը սնուցվում է Arduino- ով և ընդունում է խելացի ձևավորման գործոն: Լույսն ունի երեք ինտերակտիվ հատկություն. 1) Տեղադրեք մետաղադրամ SpotLight- ի հետևի մասում ՝ լույսերը միացնելու և անջատելու համար: 2) Շփեք SpotLight- ը դեպի
Երաժշտության ռեակտիվ լույս -- Ինչպես կատարել սուպեր պարզ երաժշտություն Ռեակտիվ լույս `աշխատասեղանին հիանալի դարձնելու համար. 5 քայլ (նկարներով)
Երաժշտության ռեակտիվ լույս || Ինչպես կատարել սուպեր պարզ երաժշտություն Ռեակտիվ լույս `աշխատասեղան պատրաստելու համար: Հե what բասը, որն իրականում ցածր հաճախականության աուդիո ազդանշան է: Այն կառուցելը շատ պարզ է: Մենք
Ինտիմ վիդեո լույս/ ձեռքի լուսանկարչական լույս. 7 քայլ (նկարներով)
Ինտիմ վիդեո լույս/ Ձեռքի լուսանկարչական լույս. Ես գիտեմ, թե ինչ եք մտածում: Ըստ " մտերիմ " Ես նկատի ունեի մոտ լուսավորությունը դժվարին թեթև իրավիճակներում `պարտադիր չէ " ինտիմ իրավիճակների համար " (Այնուամենայնիվ, այն կարող է օգտագործվել նաև դրա համար …) Որպես Նյու Յորք քաղաքի տեսանկարահանող, կամ
Ինտերակտիվ միջավայրի լույս `8 քայլ
Ինտերակտիվ միջավայրի լույս. Սա իմ առաջին հրահանգն է: Խնդրում եմ համբերել ինձ, մինչ ես դժվարանում եմ ճիշտ անգլերեն գրել: Ազատորեն շտկեք ինձ: Ես սկսեցի այս նախագիծը «Թող որ փայլուն» մրցույթի մեկնարկից անմիջապես հետո: Երանի շատ ավելին վաստակեի և ավարտեի այն, ինչ ուզում էի