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

Light Me Up !: 20 քայլ (նկարներով)
Light Me Up !: 20 քայլ (նկարներով)

Video: Light Me Up !: 20 քայլ (նկարներով)

Video: Light Me Up !: 20 քայլ (նկարներով)
Video: Չէ ինձ ով կարա ծեծի😂👊 2024, Նոյեմբեր
Anonim
Light Me Up!
Light Me Up!
Light Me Up!
Light Me Up!
Light Me Up!
Light Me Up!
Light Me Up!
Light Me Up!

նախագծի թիմի անդամներ

(Hyewon Shin, Eunjeong Ko, Junsung Yi)

Իսկ եթե կարողանայի՞ք դիպչել և ձևավորել լույսը: Ի՞նչ կզգայիք, եթե ունենայիք լույսի գեղեցիկ նախշ, որը ինքներդ եք նախագծել հետաքրքիր անիմացիայի միջոցով: Light me up- ը կլինի հետաքրքիր ուրվագիծ, որը շոշափում և ձևավորում է լույսը և ստեղծում է հետաքրքիր նախշեր: Այս նախագիծը ունի մի քանի եռանկյուններ, որոնք ձևավորում են վեցանկյուն ձև: Այսպիսով, դուք կարող եք ստեղծել ստերեոսկոպիկ նախշեր ՝ ըստ այն բանի, թե ինչպես եք նախագծում լույսը: Պարզապես սեղմեք յուրաքանչյուր կտոր, և տարբեր գույներ կգնան աստիճանաբար, և երբ ձեր ուզած գույնը դուրս գա, պարզապես հարվածեք ձեր սեղմած ձեռքին, և այն կշարունակի գեղեցիկ փայլել ձեր ուզած գույնով: Նախագծում օգտագործվել է մոտ 312 եռանկյուն, բայց այն կարող է ստեղծել գեղեցիկ լույս, որը լավ է աշխատում 6 եռանկյունիների հետ: Հիմա թույլ տվեք ցույց տալ ձեզ, թե ինչպես պատրաստել այն վեց եռանկյունիով: Հետևեք քայլերին և կունենաք ձեր սեփական հրաշալի աշխատանքը:

Պարագաներ

Սարքավորումներ ՝ Arduino (ես օգտագործել եմ arduino mega 2560), ակրիլ (պարզ, սպիտակ), LED ժապավեն (NeoPixel), դիֆուզերային ֆիլմ, կոճակ, 4 փին միակցիչ, մետաղալար, տպատախտակ, էլեկտրամատակարարում

Գործիքներ. Լազերային ուղղիչ կտրող մեքենա, 3D տպիչ

Քայլ 1: Եկեք հասնենք դրան:

Եկեք դա անենք
Եկեք դա անենք
Եկեք դա անենք
Եկեք դա անենք
Եկեք դա անենք
Եկեք դա անենք

Եկեք այս գեղեցիկ վեցանկյուն կտորը պատրաստենք ինձ հետ:

Light Me Up- ը պատրաստված է 312 եռանկյունու օգտագործմամբ, բայց նույնիսկ 6 եռանկյունին կարող է հիանալի լույս նախագծել: Եթե ցանկանում եք այն պատրաստել ավելի մեծ մասշտաբով, կարող եք այն կատարել ՝ հղում կատարելով ստորև կցված ֆայլին:

Քայլ 2: Նյութի պատրաստում

Նյութի պատրաստում
Նյութի պատրաստում

Քայլ 3: Ակրիլային կտրում

Ակրիլային կտրում
Ակրիլային կտրում
Ակրիլային կտրում
Ակրիլային կտրում
Ակրիլային կտրում
Ակրիլային կտրում
Ակրիլային կտրում
Ակրիլային կտրում

Օգտագործեք լազերային կտրիչ `յուրաքանչյուր մասի առջևի և հետևի մասերը կտրելու համար: Հետևի ակրիլային գույնը կարող է լինել այն, ինչ ցանկանում եք, բայց համոզվեք, որ օգտագործեք թափանցիկ ակրիլ, քանի որ առջևը պետք է մշուշոտ լինի: Եթե դուք օգտագործում եք ակրիլ, բացի թափանցիկից, այլևս լավ չեք տեսնի լույսը:

Քայլ 4: Կողքեր պատրաստեք 3D տպիչներով

Կատարեք կողմեր 3D տպիչներով
Կատարեք կողմեր 3D տպիչներով
Կատարեք կողմեր 3D տպիչներով
Կատարեք կողմեր 3D տպիչներով
Կատարեք կողմեր 3D տպիչներով
Կատարեք կողմեր 3D տպիչներով

Այժմ ժամանակն է պատրաստել յուրաքանչյուր կտորի կողմերը: Եկեք հասնենք դրան: Կողքի 3D մոդելավորման ֆայլերը կցված են ստորև: Մենք PLA- ն օգտագործեցինք կողմեր ստեղծելու համար: PLA- ն ավելի ուժեղ և ավելի փոքր կծկումներ ունի, քան ABS- ն, ուստի թելերը խորհուրդ են տրվում օգտագործել PLA- ն:

Քայլ 5: Նկարահանում

Նկարահանումներ
Նկարահանումներ
Նկարահանումներ
Նկարահանումներ
Նկարահանումներ
Նկարահանումներ

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

Քայլ 6. Կցեք LED ժապավեն + oldոդման LED ժապավեն (NeoPixel) լարերով

Կցեք LED ժապավեն + oldոդման LED ժապավեն (NeoPixel) լարերով
Կցեք LED ժապավեն + oldոդման LED ժապավեն (NeoPixel) լարերով
Կցեք LED ժապավեն + oldոդման LED ժապավեն (NeoPixel) լարերով
Կցեք LED ժապավեն + oldոդման LED ժապավեն (NeoPixel) լարերով
Կցեք LED ժապավեն + oldոդման LED ժապավեն (NeoPixel) լարերով
Կցեք LED ժապավեն + oldոդման LED ժապավեն (NeoPixel) լարերով
Կցեք LED ժապավեն + oldոդման LED ժապավեն (NeoPixel) լարերով
Կցեք LED ժապավեն + oldոդման LED ժապավեն (NeoPixel) լարերով

Եթե դուք այդքան լավ եք աշխատել LED շերտը զոդելու ժամանակ, ժամանակն է տեղադրել LED շերտը հետևի մասում: Նախ, LED շերտի հետևի մասում ամրացրեք սոսինձ ատրճանակ կամ երկկողմանի ժապավեն: Եվ նախ հեռացրեք լարերը զոդման մետաղալարերի երկու կողմերից `երկու կողմերի անցքերով: Վերջապես, կցեք LED ժապավենը հետևի ակրիլին և այն ավարտվեց:

Soldոդման ժամանակն է: պատրաստել LED շերտեր, 4-պին միակցիչ (միակցիչ կամ լարեր) և այն, ինչ ձեզ հարկավոր է զոդման համար: Ես օգտագործեցի LED- ները երեք միավորով: Եթե ցանկանում եք, կարող եք օգտագործել մեկ կամ երկու LED, բայց խորհուրդ եմ տալիս օգտագործել երեքը: Երբ բոլոր նյութերը պատրաստ լինեն, կպցրեք լարերը երկու տվյալների գծերում, 5 վ գծերում և LED շերտի գրունտային գծերում:

Քայլ 7: oldոդման տակտի անջատիչ լարերով

Sոդման տակտի անջատիչ լարերով
Sոդման տակտի անջատիչ լարերով
Sոդման տակտի անջատիչ լարերով
Sոդման տակտի անջատիչ լարերով

Քայլ 8. Մոնտաժ -Տեղադրեք պտուտակը կողքին = ①

Մոնտաժ -Տեղադրեք պտուտակ կողքին = ①
Մոնտաժ -Տեղադրեք պտուտակ կողքին = ①
Մոնտաժ -Տեղադրեք պտուտակ կողքին = ①
Մոնտաժ -Տեղադրեք պտուտակ կողքին = ①

Հիմա դա իսկապես հեշտ մասն է: Տեղադրեք մեկ պտուտակ երեք տպված երեք կողմերից յուրաքանչյուրի վրա: Պատճառը, թե ինչու կարող է պտուտակի կոճակը օգտագործել, ինչպես կառուցվածքային պտուտակներ և ընկույզներ օգտագործել: Երբ կտորն ավարտվի, կտորը կդնեմ պատյանում և կավարտեմ ընկույզով:

Քայլ 9. Կցեք Ⓛⓣ the = Ⓛⓣ -ին

Att -ին կցեք Ⓒ = Ⓛⓣ -ին
Att -ին կցեք Ⓒ = Ⓛⓣ -ին
Կցեք Ⓛⓣ the = Ⓛⓣ -ին
Կցեք Ⓛⓣ the = Ⓛⓣ -ին

Քայլ 10. Հավաքում. Օգտագործեք a Ⓦ և Ⓝ ՝ ① և ② = b համատեղելու համար

Assemblyողով -Օգտագործեք a Ⓦ և Ⓝ ՝ ① և ② = b համատեղելու համար
Assemblyողով -Օգտագործեք a Ⓦ և Ⓝ ՝ ① և ② = b համատեղելու համար
Assemblyողով -Օգտագործեք a Ⓦ և Ⓝ ՝ ① և ② = b համատեղելու համար
Assemblyողով -Օգտագործեք a Ⓦ և Ⓝ ՝ ① և ② = b համատեղելու համար
Assemblyողով -Օգտագործեք a Ⓦ և Ⓝ ՝ ① և ② = b համատեղելու համար
Assemblyողով -Օգտագործեք a Ⓦ և Ⓝ ՝ ① և ② = b համատեղելու համար

Քայլ 11. Հավաքում -Կցեք Ⓐⓔ և ③ Ակրիլային կապի օգտագործմամբ =

Հավաքում -Կցեք Ⓐⓔ և ③ Ակրիլային կապի օգտագործմամբ =
Հավաքում -Կցեք Ⓐⓔ և ③ Ակրիլային կապի օգտագործմամբ =
Հավաքում -Կցեք Ⓐⓔ և ③ Ակրիլային կապի օգտագործմամբ =
Հավաքում -Կցեք Ⓐⓔ և ③ Ակրիլային կապի օգտագործմամբ =
Հավաքում -Կցեք Ⓐⓔ և ③ Ակրիլային կապի օգտագործմամբ =
Հավաքում -Կցեք Ⓐⓔ և ③ Ակրիլային կապի օգտագործմամբ =
Հավաքում -Կցեք Ⓐⓔ և ③ Ակրիլային կապի օգտագործմամբ =
Հավաքում -Կցեք Ⓐⓔ և ③ Ակրիլային կապի օգտագործմամբ =

Եթե կողոսկր եք դնում կողքին, մենք այն կողքի և առջևի մասի ենք դնում: Առջևը ակրիլ է, այնպես որ դուք պետք է այն դնեք հատուկ ակրիլային կապով: Եթե ակրիլը կցեք սովորական կապին, այն հետք կթողնի:

Քայլ 12. Կցեք Ⓢ -ին Ⓓ = Ⓢ -ին

Կցեք Ⓢ -ին Ⓓ = Ⓢ -ին
Կցեք Ⓢ -ին Ⓓ = Ⓢ -ին
Կցեք Ⓢ -ին Ⓓ = Ⓢ -ին
Կցեք Ⓢ -ին Ⓓ = Ⓢ -ին

Քայլ 13. Հավաքում -Միավորել ④ և ⑤ Օգտագործելով Ⓦ և Ⓝ =

Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =
Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =
Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =
Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =
Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =
Assembly -Combine ④ and ⑤ Using Ⓦ and Ⓝ =

Քայլ 14: Կտորի ամբողջական հավաքում

Կտորի ամբողջական հավաքում
Կտորի ամբողջական հավաքում
Կտորի ամբողջական հավաքում
Կտորի ամբողջական հավաքում
Կտորի ամբողջական հավաքում
Կտորի ամբողջական հավաքում

Քայլ 15. Projectրագրի աշխատանքային տեսքը

Image
Image

Քայլ 16: NeoPixel, միակցիչ լարեր

NeoPixel, միակցիչ լարեր
NeoPixel, միակցիչ լարեր
NeoPixel, միակցիչ լարեր
NeoPixel, միակցիչ լարեր
NeoPixel, միակցիչ լարեր
NeoPixel, միակցիչ լարեր

Քայլ 17: NeoPixel և Arduino լարեր:

NeoPixel և Arduino էլեկտրագծեր
NeoPixel և Arduino էլեկտրագծեր

Քայլ 18. Programրագրավորեք Arduino- ն

արտաքին անկայուն անստորագիր երկար ժամանակաչափ 0_միլիս;

#ներառում

#սահմանել MODEBTNNUM 3 int ani_mode = 0; անստորագիր երկար preM1, preM2, preM3;

void setup () {

Wire.begin (); համար (int i = 0; i <MODEBTNNUM; i ++) {pinMode (i+2, INPUT_PULLUP); } //Serial.begin(9600); }

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

համար (int i = 0; i <MODEBTNNUM; i ++) {if (! digitalRead (i + 2)) ani_mode = i + 1; } համար (int i = 0; i <6; i ++) {Wire.requestFrom (i+1, 1); while (Wire.available ()) {int x = Wire.read (); // Serial.println (x); եթե (x == 5) {ani_mode = 0; // Serial.println ("x = 5"); }}} ////////////////////////////////////////////// /////// if (ani_mode == 0) {for (int i = 1; i 3000) {preM1 = current1; համար (int i = 1; i 5000) {preM2 = ընթացիկ 2; համար (int i = 1; i 3000) {preM3 = ընթացիկ 3; // timer0_millis = 0; // preM1 = 0; // preM2 = 0; // preM3 = 0; // Serial.println («ժամաչափի վերականգնում»); համար (int i = 1; i <7; i ++) {Wire.beginTransmission (i); Wire.write (ani_mode); //Serial.println("3000 "); Wire.endTransmission (i); }}}}

Քայլ 19:

արտաքին անկայուն անստորագիր երկար ժամանակաչափ 0_միլիս;

#ներառում

#ներառել #սահմանել PIN 12 #սահմանել NUMPIXELS 162 Adafruit_NeoPixel շերտ = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); const int num = NUMPIXELS / 3; const int slaveNum = 1; int գույներ [num] [3]; int hue [num]; int sat [num]; int պայծառ [num]; int pNumber = 0; int gValue [num] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; const int btnPin [num] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 46, 48, 50, 52, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 54, 55, 56, 57, 58, 59}; int btn Պետություն [համար]; բուլյան btnMode; int hueV [num] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; #ներառել #սահմանել BTNNUM 1 int f_v = 1; անստորագիր երկար preMillis1; անստորագիր երկար preM; int ani_mode = 0; int ani2_Counter = 0; int հաշվիչ = 0; ////////////////////////////////////////////// void setup () {Wire. սկսել (slaveNum); Wire.onRequest (requestEvent); Wire.onReceive (ReceEvent); համար (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Serial.begin(9600); strip.begin (); } ////////////////////////////////////////////

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

եթե (f_v == 1) {համար (int i = 0; i <num; i ++) {երանգ = 50; նստել = 95; պայծառ = 100; } f_v = 0; } ////////////////////////////////////// // 버튼 입력 체크: 멈춤 신호 t btnMode = կեղծ; համար (int i = 0; i <num; i ++) {if (! digitalRead (btnPin ))) {btnMode = true; }} btnEvent (5); // Serial.println (ani_mode); ////////////////////////////////////// անջատիչ (ani_mode) {case 0: ani0 (); ընդմիջում; գործ 1: ani1 (); ani_mode = 0; ani2_Counter = 0; ընդմիջում; գործ 2: ani2_Counter = 1; ani_mode = 0; ընդմիջում; դեպք 3: ani3 (); ani_mode = 0; ani2_Counter = 0; ընդմիջում; կանխադրված ՝ readyState (); ընդմիջում; } if (ani2_Counter == 1) {ani2 (); } setPixels (համար); }

///////////////////////////////////////////

void ReceEvent (int howMany) {int x = Wire.read (); եթե (x == 5) {// Serial.println («ստացվել է 5»); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); } //////////////////////////////////////////// void requestEvent () {

եթե (btnMode == ճշմարիտ) {

Լար. Գրել (5); // Serial.println ("5 보냄"); } else {Wire.write (0); }

}

դատարկ ani0 () {

// Serial.println ("0"); }

դատարկ ani1 () {

// Serial.println ("1"); եթե (pNumber == 0) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; համար (int a = 0; a <2; a ++) {երանգ [a1 [a] = 100; նստել [a1 [a] = 95; պայծառ [a1 [a] = 100; } համար (int b = 0; b <2; b ++) {երանգ [b1 = 200; նստել [b1 = 95; պայծառ [b1 = 100; } (int c = 0; c <2; c ++) {երանգ [c1 [c] = 300; նստել [c1 [c] = 95; պայծառ [c1 [c] = 100; } // Serial.println ("0"); } else if (pNumber == 1) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a2 = {21, 22, 34, 35, 37, 46, 47, 51}; // int b2 = {}; // int c2 = {}; int d2 = {36, 48, 49, 50}; համար (int a = 0; a <8; a ++) {երանգ [a2 [a] = 26; նստել [a2 [a] = 95; պայծառ [a2 [a] = 100; } համար (int d = 0; d <4; d ++) {երանգ [d2 [d] = 63; նստել [d2 [d] = 95; պայծառ [d2 [d] = 100; } // Serial.println ("1"); } else if (pNumber == 2) {// հսկա խորանարդի օրինակը (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // դեղին 06 համար (int a = 0; a <6; a ++) {երանգ [a14 [a] = 35; նստել [a14 [a] = 95; պայծառ [a14 [a] = 100; }} else if (pNumber == 3) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // դեղին (int a = 0; a <6; a ++) {երանգ [a3 [a] = 53; նստել [a3 [a] = 95; պայծառ [a3 [a] = 100; }} else if (pNumber == 4) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a4 = {34, 35}; // դեղին int b4 = {47}; // կապույտ int c4 = {48}; // մանուշակագույն

համար (int a = 0; a <2; a ++) {երանգ [a4 [a] = 53; նստել [a4 [a] = 95; պայծառ [a4 [a] = 100; }

համար (int b = 0; b <1; b ++) {երանգ [b4 = 210; նստել [b4 = 95; պայծառ [b4 = 100; } համար (int c = 0; c <1; c ++) {երանգ [c4 [c] = 307; նստել [c4 [c] = 95; պայծառ [c4 [c] = 100; }} else if (pNumber == 5) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a5 = {34, 35, 46, 47, 48, 49};

համար (int a = 0; a <6; a ++) {երանգ [a5 [a] = 100; նստել [a5 [a] = 95; պայծառ [a5 [a] = 100; }} else if (pNumber == 6) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // դեղին (int a = 0; a <6; a ++) {երանգ [a6 [a] = 53; նստել [a6 [a] = 95; պայծառ [a6 [a] = 100; }} else if (pNumber == 7) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // մանուշակագույն (int c = 0; c <6; c ++) {երանգ [c7 [c] = 307; նստել [c7 [c] = 95; պայծառ [c7 [c] = 100; }} else if (pNumber == 8) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // մանուշակագույն (int c = 0; c <6; c ++) {երանգ [c8 [c] = 307; նստել [c8 [c] = 95; պայծառ [c8 [c] = 100; }} այլ եթե (pNumber == 9) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // մանուշակագույն (int c = 0; c <6; c ++) {երանգ [c9 [c] = 307; նստել [c9 [c] = 95; պայծառ [c9 [c] = 100; }} else if (pNumber == 10) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // մանուշակագույն (int c = 0; c <6; c ++) {երանգ [c10 [c] = 307; նստել [c10 [c] = 95; պայծառ [c10 [c] = 100; }} else if (pNumber == 11) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // մանուշակագույն (int c = 0; c <6; c ++) {երանգ [c11 [c] = 307; նստել [c11 [c] = 95; պայծառ [c11 [c] = 100; }} else if (pNumber == 12) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // մանուշակագույն (int c = 0; c <6; c ++) {երանգ [c12 [c] = 307; նստել [c12 [c] = 95; պայծառ [c12 [c] = 100; }} else if (pNumber == 13) {for (int i = 0; i <num; i ++) {bright = 0; gValue = 1; } int a13 = {34, 35}; // դեղին int b13 = {47}; // կապույտ int c13 = {48}; // մանուշակագույն (int a = 0; a <2; a ++) {երանգ [a13 [a] = 53; նստել [a13 [a] = 95; պայծառ [a13 [a] = 100; } համար (int b = 0; b <1; b ++) {երանգ [b13 = 210; նստել [b13 = 95; պայծառ [b13 = 100; } (int c = 0; c <1; c ++) {երանգ [c13 [c] = 307; նստել [c13 [c] = 95; պայծառ [c13 [c] = 100; }} pNumber = pNumber + 1;

եթե (pNumber == 14) {

p Թիվ = 0; }}

դատարկ ani2 () {

// Serial.println ("2"); անստորագիր երկար curM = millis ();

եթե (curM - preM> = 10) {

preM = curM; (int i = 0; i <num; i ++) {if (hue = 360) {gValue = -1; } երանգ = երանգ + gValue ; } հաշվիչ ++; if (հաշվիչ == 360) {// Serial.print ("counter:"); // Serial.println (հաշվիչ); // Serial.println (curM); հաշվիչ = 0; ani2_Counter = 0; }}}

դատարկ ani3 () {

// Serial.println ("3"); } ///////////////////////////////////////////// void readyState () {/ / Serial.println («պատրաստ»); } ////////////////////////////////////////////////////////////// void btnEvent (int b_interval) {անստորագիր երկար curMillis1 = millis ();

համար (int i = 0; i <num; i ++) {btnState = digitalRead (btnPin ); }

եթե (curMillis1 - preMillis1> b_interval) {

preMillis1 = curMillis1; համար (int i = 0; i = 360) {hueV = -1; } else if (երանգ <= 0) {hueV = 1; } երանգ = երանգ + երանգ V ; պայծառ = 100; }}}} ///////////////////////////////////////////// անվավեր setPixels (int k) {for (int i = 0; i <k; i ++) {H2R_HSBtoRGB (երանգ , sat , պայծառ , գույներ ); int num1 = i * 3; strip.setPixelColor (num1, գույներ [0], գույներ [1], գույներ [2]); strip.setPixelColor (num1 + 1, գույներ [0], գույներ [1], գույներ [2]); strip.setPixelColor (num1 + 2, գույներ [0], գույներ [1], գույներ [2]); } strip.show (); }

Քայլ 20: Նախշեր:

Նախշեր!
Նախշեր!
Նախշեր!
Նախշեր!

Այս նախագիծն ունի մի քանի եռանկյուններ, որոնք կազմում են վեցանկյուն ձև: Այսպիսով, դուք կարող եք ստեղծել ստերեոսկոպիկ նախշեր ՝ ըստ այն բանի, թե ինչպես եք նախագծում լույսը: Պարզապես սեղմեք յուրաքանչյուր կտոր, և տարբեր գույներ կգնան աստիճանաբար, և երբ ձեր ուզած գույնը դուրս գա, պարզապես հարվածեք ձեր սեղմած ձեռքին և այն կշարունակի գեղեցիկ փայլել ձեր ուզած գույնով:

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