Բովանդակություն:
- Պարագաներ
- Քայլ 1: Եկեք հասնենք դրան:
- Քայլ 2: Նյութի պատրաստում
- Քայլ 3: Ակրիլային կտրում
- Քայլ 4: Կողքեր պատրաստեք 3D տպիչներով
- Քայլ 5: Նկարահանում
- Քայլ 6. Կցեք LED ժապավեն + oldոդման LED ժապավեն (NeoPixel) լարերով
- Քայլ 7: oldոդման տակտի անջատիչ լարերով
- Քայլ 8. Մոնտաժ -Տեղադրեք պտուտակը կողքին = ①
- Քայլ 9. Կցեք Ⓛⓣ the = Ⓛⓣ -ին
- Քայլ 10. Հավաքում. Օգտագործեք a Ⓦ և Ⓝ ՝ ① և ② = b համատեղելու համար
- Քայլ 11. Հավաքում -Կցեք Ⓐⓔ և ③ Ակրիլային կապի օգտագործմամբ =
- Քայլ 12. Կցեք Ⓢ -ին Ⓓ = Ⓢ -ին
- Քայլ 13. Հավաքում -Միավորել ④ և ⑤ Օգտագործելով Ⓦ և Ⓝ =
- Քայլ 14: Կտորի ամբողջական հավաքում
- Քայլ 15. Projectրագրի աշխատանքային տեսքը
- Քայլ 16: NeoPixel, միակցիչ լարեր
- Քայլ 17: NeoPixel և Arduino լարեր:
- Քայլ 18. Programրագրավորեք Arduino- ն
- Քայլ 19:
- Քայլ 20: Նախշեր:
Video: Light Me Up !: 20 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
նախագծի թիմի անդամներ
(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 մոդելավորման ֆայլերը կցված են ստորև: Մենք PLA- ն օգտագործեցինք կողմեր ստեղծելու համար: PLA- ն ավելի ուժեղ և ավելի փոքր կծկումներ ունի, քան ABS- ն, ուստի թելերը խորհուրդ են տրվում օգտագործել PLA- ն:
Քայլ 5: Նկարահանում
Այժմ եկեք տեղադրենք թեթև դիֆուզիոն ֆիլմ `առջևի ակրիլին: Եթե դրա վրա ֆիլմ եք դնում, այն տարածվում և փայլում է շատ ավելի գեղեցիկ: Սկզբում ֆիլմը կտրեք եռանկյունու տեսքով: (Ավելի լավ է ՝ կտրեք ակրիլից ավելի մեծ ֆիլմը) Հեշտ է ֆիլմը տեղադրել, ինչպես պաշտպանական ֆիլմը ձեր հեռախոսի վրա: Եթե ցանկանում եք հուշել այստեղ, կարող եք քարտ օգտագործել այն սեղմելու համար, որպեսզի այն կոկիկ կերպով խրված լինի:
Քայլ 6. Կցեք LED ժապավեն + oldոդման LED ժապավեն (NeoPixel) լարերով
Եթե դուք այդքան լավ եք աշխատել LED շերտը զոդելու ժամանակ, ժամանակն է տեղադրել LED շերտը հետևի մասում: Նախ, LED շերտի հետևի մասում ամրացրեք սոսինձ ատրճանակ կամ երկկողմանի ժապավեն: Եվ նախ հեռացրեք լարերը զոդման մետաղալարերի երկու կողմերից `երկու կողմերի անցքերով: Վերջապես, կցեք LED ժապավենը հետևի ակրիլին և այն ավարտվեց:
Soldոդման ժամանակն է: պատրաստել LED շերտեր, 4-պին միակցիչ (միակցիչ կամ լարեր) և այն, ինչ ձեզ հարկավոր է զոդման համար: Ես օգտագործեցի LED- ները երեք միավորով: Եթե ցանկանում եք, կարող եք օգտագործել մեկ կամ երկու LED, բայց խորհուրդ եմ տալիս օգտագործել երեքը: Երբ բոլոր նյութերը պատրաստ լինեն, կպցրեք լարերը երկու տվյալների գծերում, 5 վ գծերում և LED շերտի գրունտային գծերում:
Քայլ 7: oldոդման տակտի անջատիչ լարերով
Քայլ 8. Մոնտաժ -Տեղադրեք պտուտակը կողքին = ①
Հիմա դա իսկապես հեշտ մասն է: Տեղադրեք մեկ պտուտակ երեք տպված երեք կողմերից յուրաքանչյուրի վրա: Պատճառը, թե ինչու կարող է պտուտակի կոճակը օգտագործել, ինչպես կառուցվածքային պտուտակներ և ընկույզներ օգտագործել: Երբ կտորն ավարտվի, կտորը կդնեմ պատյանում և կավարտեմ ընկույզով:
Քայլ 9. Կցեք Ⓛⓣ the = Ⓛⓣ -ին
Քայլ 10. Հավաքում. Օգտագործեք a Ⓦ և Ⓝ ՝ ① և ② = b համատեղելու համար
Քայլ 11. Հավաքում -Կցեք Ⓐⓔ և ③ Ակրիլային կապի օգտագործմամբ =
Եթե կողոսկր եք դնում կողքին, մենք այն կողքի և առջևի մասի ենք դնում: Առջևը ակրիլ է, այնպես որ դուք պետք է այն դնեք հատուկ ակրիլային կապով: Եթե ակրիլը կցեք սովորական կապին, այն հետք կթողնի:
Քայլ 12. Կցեք Ⓢ -ին Ⓓ = Ⓢ -ին
Քայլ 13. Հավաքում -Միավորել ④ և ⑤ Օգտագործելով Ⓦ և Ⓝ =
Քայլ 14: Կտորի ամբողջական հավաքում
Քայլ 15. Projectրագրի աշխատանքային տեսքը
Քայլ 16: NeoPixel, միակցիչ լարեր
Քայլ 17: 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: Նախշեր:
Այս նախագիծն ունի մի քանի եռանկյուններ, որոնք կազմում են վեցանկյուն ձև: Այսպիսով, դուք կարող եք ստեղծել ստերեոսկոպիկ նախշեր ՝ ըստ այն բանի, թե ինչպես եք նախագծում լույսը: Պարզապես սեղմեք յուրաքանչյուր կտոր, և տարբեր գույներ կգնան աստիճանաբար, և երբ ձեր ուզած գույնը դուրս գա, պարզապես հարվածեք ձեր սեղմած ձեռքին և այն կշարունակի գեղեցիկ փայլել ձեր ուզած գույնով:
Խորհուրդ ենք տալիս:
LED LIGHT DIY տեսախցիկի համար (C920). 10 քայլ (նկարներով)
LED LIGHT DIY տեսախցիկի համար (C920). Լուսավորությունը վեբ տեսախցիկի համար անհրաժեշտ է: Այս փոքրիկ LED մատանին օգնում է ձեր տեսախցիկին ձեզ շատ լավ ընդունել: Կարող եք տեսանյութ վերցնել առանց որևէ լույսի, բացի այս LED- ից: Ես օգտագործել եմ 3D տպիչ և WS2812b LED մոդուլ (Neopixel- ի հետ համատեղելի)
Kid's Toy Light Light Switch Box + Խաղերի ռեմիքս. 19 քայլ (նկարներով)
Kid's Toy Light Light Switch Box + Games Remix. Սա ռեմիքս է, որը ես պարզապես պետք է անեի, քանի որ տեսա երկու հիանալի հրահանգներ և չկարողացա դադարել մտածել երկուսը համատեղելու մասին: Այս խառնուրդը հիմնականում համատեղում է Light Switch Box- ի ինտերֆեյսը պարզ խաղերով (Simon, Whack-a-Mole և այլն …) t
Ciclop 3D Scanner My Way Քայլ առ քայլ ՝ 16 քայլ (նկարներով)
Ciclop 3D Scanner My Way Քայլ առ քայլ. Ողջույն, ես գիտակցելու եմ հանրահայտ Ciclop 3D սկաները: Բոլոր այն քայլերը, որոնք լավ բացատրված են սկզբնական նախագծում, ներկա չեն: Ես որոշ շտկումներ կատարեցի ՝ գործընթացը պարզեցնելու համար, նախ Ես տպում եմ հիմքը, իսկ հետո վերականգնում եմ PCB- ն, բայց շարունակում եմ
Light Light Sequencer Using Assembly & Microchip PIC16F690: 3 քայլ
Light Sequencer Using Assembly & Microchip PIC16F690. Այս նախագծի նպատակն է կառուցել լուսային հաջորդականություն `խաղացողի արձագանքման արագությունը ստուգելու համար: Այս լուսային հաջորդականիչի ինտերֆեյսը բաղկացած է 8 LED- ից և կոճակից: Տեխնիկական առումով մենք մտադիր ենք ուղարկել հավաքագրման լեզվով գրված ծածկագիր wi
Ikea Light Hack (flexin Your Light) ՝ 5 քայլ
Ikea Light Hack (flexin Your Light). Երբ որոշեցի բարելավել իմ գրասեղանի լուսավորությունը, ես դիմեցի Ikea- ին: Ես ձեռք բերեցի Ikea Jansjo- ն (http://www.ikea.com/us/en/catalog/products/10128748) և Ikea Lack- ը (http://www.ikea.com/us/en/catalog/products/60124272 ) և սխալմամբ գցեց անդորրագիրը