สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: มาสร้างมันกันเถอะ
- ขั้นตอนที่ 2: การเตรียมวัสดุ
- ขั้นตอนที่ 3: ตัดอะคริลิค
- ขั้นตอนที่ 4: สร้างด้านด้วยเครื่องพิมพ์ 3 มิติ
- ขั้นตอนที่ 5: ถ่ายทำ
- ขั้นตอนที่ 6: แนบ LED Strip + บัดกรี LED Strip (NeoPixel) ด้วย Wires
- ขั้นตอนที่ 7: การบัดกรีสวิตช์แทคด้วยสายไฟ
- ขั้นตอนที่ 8: การประกอบ - ใส่โบลท์ที่ด้านข้าง = ①
- ขั้นตอนที่ 9: แนบ Ⓛⓣ กับ Ⓒ= ②
- ขั้นตอนที่ 10: การประกอบ - ใช้ Ⓦ และ Ⓝ เพื่อรวม ① และ ②= ③
- ขั้นตอนที่ 11: การประกอบ -แนบ Ⓐⓔ และ ③ โดยใช้พันธะอะคริลิก= ④
- ขั้นตอนที่ 12: แนบ Ⓢ กับ Ⓓ= ⑤
- ขั้นตอนที่ 13: การประกอบ - รวม ④ และ ⑤ โดยใช้ Ⓦ และ Ⓝ= ⑥
- ขั้นตอนที่ 14: ประกอบชิ้นส่วนให้สมบูรณ์
- ขั้นตอนที่ 15: ลักษณะการทำงานของโครงการ
- ขั้นตอนที่ 16: NeoPixel การเดินสายตัวเชื่อมต่อ
- ขั้นตอนที่ 17: การเดินสาย NeoPixel และ Arduino
- ขั้นตอนที่ 18: ตั้งโปรแกรม Arduino
- ขั้นตอนที่ 19:
- ขั้นตอนที่ 20: รูปแบบ
วีดีโอ: Light Me Up!: 20 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
สมาชิกในทีมโครงการ
(ฮเยวอน ชิน, อึนจอง โค, จุนซองยี)
ถ้าคุณสามารถสัมผัสและออกแบบแสงได้ล่ะ? จะเป็นอย่างไรถ้าคุณมีรูปแบบแสงที่สวยงามที่คุณออกแบบเองด้วยแอนิเมชั่นที่น่าสนใจ Light me up จะเป็นสมุดสเก็ตช์ที่น่าสนใจที่สัมผัสและออกแบบแสงเองและสร้างรูปแบบที่น่าสนใจ! โครงการนี้มีรูปสามเหลี่ยมหลายรูปที่ก่อตัวเป็น รูปร่างหกเหลี่ยม เพื่อให้คุณสามารถสร้างรูปแบบสามมิติตามการออกแบบแสงของคุณ! แค่กดแต่ละชิ้นก็ไล่เฉดสีต่างๆ แล้ว เมื่อสีที่ต้องการออกมาก็แค่กดมือที่กดแล้วจะส่องประกายสวยงามตามสีที่ต้องการได้เลย! โปรเจ็กต์ใช้สามเหลี่ยมประมาณ 312 อัน แต่สร้างได้ แสงที่ดีที่ทำงานได้ดีกับ 6 สามเหลี่ยม ตอนนี้ ให้ฉันแสดงวิธีทำด้วยสามเหลี่ยมหกรูป ทำตามขั้นตอนและคุณจะได้งานที่ยอดเยี่ยมของคุณเอง!
เสบียง
ฮาร์ดแวร์: Arduino (ฉันใช้ Arduino mega 2560), อะคริลิค (ใส, ขาว), แถบ LED (NeoPixel), ฟิล์มกระจายแสง, ปุ่ม, ขั้วต่อ 4 ขา, ลวด, แผงวงจร, พาวเวอร์ซัพพลาย
เครื่องมือ: เครื่องตัดด้วยเลเซอร์, เครื่องพิมพ์ 3 มิติ
ขั้นตอนที่ 1: มาสร้างมันกันเถอะ
มาทำชิ้นหกเหลี่ยมที่น่ารักนี้กับฉันกันเถอะ!
Light Me Up สร้างขึ้นโดยใช้สามเหลี่ยม 312 รูป แต่รูปสามเหลี่ยม 6 รูปก็สามารถออกแบบแสงที่ยอดเยี่ยมได้ หากคุณต้องการสร้างในขนาดที่ใหญ่ขึ้น คุณสามารถทำได้โดยอ้างอิงจากไฟล์ที่แนบมาด้านล่าง
ขั้นตอนที่ 2: การเตรียมวัสดุ
ขั้นตอนที่ 3: ตัดอะคริลิค
ใช้เครื่องตัดเลเซอร์ตัดด้านหน้าและด้านหลังของแต่ละส่วน สีของอะครีลิคด้านหลังจะเป็นอะไรก็ได้ที่คุณต้องการ แต่อย่าลืมใช้อะครีลิกใสเพราะด้านหน้าต้องหรี่! หากคุณใช้สีอะครีลิคแบบอื่นที่ไม่ใช่แบบโปร่งใส คุณจะมองไม่เห็นแสงที่ดี
ขั้นตอนที่ 4: สร้างด้านด้วยเครื่องพิมพ์ 3 มิติ
ตอนนี้ได้เวลาทำด้านข้างของแต่ละชิ้นแล้ว มาทำกันเถอะ! ไฟล์การสร้างแบบจำลอง 3 มิติที่ด้านข้างแนบมาด้านล่าง เราใช้ PLA เพื่อทำให้ด้าน PLA มีความแข็งแรงและหดตัวน้อยกว่า ABS ดังนั้นจึงแนะนำให้ใช้ PLA
ขั้นตอนที่ 5: ถ่ายทำ
ทีนี้มาติดฟิล์มกระจายแสงที่อะครีลิกที่ด้านหน้ากัน ถ้าติดฟิล์มจะยิ่งส่องประกายสวยขึ้นมาก ขั้นแรก ตัดฟิล์มให้เป็นรูปทรงสามเหลี่ยม (คุณควรตัดฟิล์มให้ใหญ่กว่าอะครีลิกตัด) ติดฟิล์มได้ง่าย เช่น ฟิล์มกันรอยบนโทรศัพท์ของคุณ ถ้าอยากให้ทิปตรงนี้ก็ใช้การ์ดดันให้มันติดได้เรียบร้อย!
ขั้นตอนที่ 6: แนบ LED Strip + บัดกรี LED Strip (NeoPixel) ด้วย Wires
หากคุณสามารถบัดกรีแถบ LED ได้ดีมาก ก็ถึงเวลาใส่แถบ LED ที่ด้านหลังแล้ว ขั้นแรก ติดปืนกาวหรือเทปสองด้านที่ด้านหลังของแถบ LED และก่อนอื่นให้ถอดสายไฟออกจากทั้งสองด้านของลวดบัดกรีผ่านรูทั้งสองด้าน สุดท้ายติดแถบ LED ที่ด้านหลังอะครีลิคก็จบ!
ถึงเวลาบัดกรีแล้ว! เตรียมแถบ LED, คอนเนคเตอร์ 4 พิน (คอนเนคเตอร์หรือสายไฟ) และสิ่งที่คุณต้องการสำหรับการบัดกรี ฉันใช้ LED ในสามหน่วย คุณสามารถใช้ไฟ LED หนึ่งหรือสองดวงหากต้องการ แต่ฉันแนะนำให้ใช้สามดวง เมื่อวัสดุทั้งหมดพร้อมแล้ว ให้บัดกรีสายไฟในทั้งสายข้อมูล เส้น 5v และสายกราวด์ของแถบ LED
ขั้นตอนที่ 7: การบัดกรีสวิตช์แทคด้วยสายไฟ
ขั้นตอนที่ 8: การประกอบ - ใส่โบลท์ที่ด้านข้าง = ①
ตอนนี้เป็นส่วนที่ง่ายมาก! วางโบลท์หนึ่งอันบนด้านที่พิมพ์ 3 มิติทั้งสามด้าน เหตุผลที่ใช้ปุ่มโบลต์เหมือนใช้น๊อตโครงสร้างและน๊อตก็ทำได้ เมื่อชิ้นงานเสร็จแล้ว ฉันจะใส่ชิ้นส่วนในกล่องและปิดท้ายด้วยน็อต
ขั้นตอนที่ 9: แนบ Ⓛⓣ กับ Ⓒ= ②
ขั้นตอนที่ 10: การประกอบ - ใช้ Ⓦ และ Ⓝ เพื่อรวม ① และ ②= ③
ขั้นตอนที่ 11: การประกอบ -แนบ Ⓐⓔ และ ③ โดยใช้พันธะอะคริลิก= ④
หากคุณใส่สลักเกลียวที่ด้านข้าง เราจะใส่มันที่ด้านข้างและด้านหน้า ด้านหน้าเป็นอะครีลิก ดังนั้นคุณต้องติดด้วยอะครีลิกบอนด์โดยเฉพาะ หากคุณติดอะคริลิกกับพันธะปกติ มันจะทิ้งรอยไว้
ขั้นตอนที่ 12: แนบ Ⓢ กับ Ⓓ= ⑤
ขั้นตอนที่ 13: การประกอบ - รวม ④ และ ⑤ โดยใช้ Ⓦ และ Ⓝ= ⑥
ขั้นตอนที่ 14: ประกอบชิ้นส่วนให้สมบูรณ์
ขั้นตอนที่ 15: ลักษณะการทำงานของโครงการ
ขั้นตอนที่ 16: NeoPixel การเดินสายตัวเชื่อมต่อ
ขั้นตอนที่ 17: การเดินสาย NeoPixel และ Arduino
ขั้นตอนที่ 18: ตั้งโปรแกรม Arduino
extern ระเหย unsigned long timer0_millis;
#รวม
#define MODEBTNNUM 3 int ani_mode = 0; preM1 แบบยาวที่ไม่ได้ลงนาม, preM2, preM3;
การตั้งค่าเป็นโมฆะ () {
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); ในขณะที่ (Wire.available ()) { int x = Wire.read (); // Serial.println(x); ถ้า (x == 5) { ani_mode = 0; // Serial.println("x=5"); } } } ////////////////////////////////////////////// /////// if (ani_mode == 0) { สำหรับ (int i = 1; i 3000) { preM1 = current1; สำหรับ (int i = 1; i 5000) { preM2 = current2; สำหรับ (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:
extern ระเหย unsigned long timer0_millis;
#รวม
#include #define PIN 12 #define NUMPIXELS 162 Adafruit_NeoPixel แถบ = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); const int num = NUMPIXELS / 3; const int slaveNum = 1; int สี[num][3]; สีภายใน[num]; int sat[จำนวน]; สว่างสดใส[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 }; 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, 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 btnState[จำนวน]; 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 }; #include #define BTNNUM 1 int f_v = 1; preMillis1 แบบยาวที่ไม่ได้ลงนาม; preM แบบยาวที่ไม่ได้ลงนาม int ani_mode = 0; int ani2_Counter = 0; ตัวนับ int = 0; ///////////////////////////////////////// ตั้งค่าเป็นโมฆะ () { Wire. เริ่ม(slaveNum); Wire.onRequest (requestEvent); Wire.onReceive(receiveEvent); สำหรับ (int i = 0; i < num; i++) { pinMode (btnPin , INPUT_PULLUP); } //Serial.begin(9600); แถบ.begin(); } //////////////////////////////////////////////////////////////////////////////
วงเป็นโมฆะ () {
if (f_v == 1) { สำหรับ (int i = 0; i < num; i++) { hue = 50; sat = 95; สว่าง = 100; } f_v = 0; } ////////////////////////////////////// //버튼 입력 체크:멈춤신호 보내기 btnMode = เท็จ; สำหรับ (int i = 0; i < num; i++) { if (!digitalRead(btnPin)) { btnMode = true; } } btnEvent(5); // Serial.println (ani_mode); ///////////////////////////////////// สวิตช์ (ani_mode) { กรณี 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(จำนวน); }
///////////////////////////////////////////
เป็นโมฆะ receiveEvent (int howMany) { int x = Wire.read (); ถ้า (x == 5) { // Serial.println ("ได้รับ 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); } /////////////////////////////////////////// โมฆะ requestEvent() {
ถ้า (btnMode == จริง) {
Wire.write(5); // Serial.println("5 보냄"); } อื่น ๆ { Wire.write(0); }
}
เป็นโมฆะ ani0 () {
// Serial.println("0"); }
เป็นโมฆะ ani1 () {
// Serial.println("1"); ถ้า (pNumber == 0) { สำหรับ (int i = 0; i < num; i++) { สว่าง = 0; gValue = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; สำหรับ (int a = 0; a < 2; a++) { hue[a1[a] = 100; sat[a1[a] = 95; สว่าง[a1[a] = 100; } สำหรับ (int b = 0; b < 2; b++) { hue[b1 = 200; เสาร์[b1 = 95; สดใส[b1 = 100; } สำหรับ (int c = 0; c <2; c++) { hue[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++) { hue[a2[a] = 26; sat[a2[a] = 95; สว่าง[a2[a] = 100; } สำหรับ (int d = 0; d < 4; d++) { hue[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};//yellow 06 สำหรับ (int a = 0; a < 6; a++) { hue[a14[a] = 35; sat[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};//yellow สำหรับ (int a = 0; a < 6; a++) { hue[a3[a] = 53; sat[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};//yellow int b4 = {47};// blue int c4 = {48};// สีม่วง
สำหรับ (int a = 0; a < 2; a++) { hue[a4[a] = 53; sat[a4[a] = 95; สว่าง[a4[a] = 100; }
สำหรับ (int b = 0; b <1; b++) { เฉดสี [b4 = 210; เสาร์[b4 = 95; สดใส[b4 = 100; } สำหรับ (int c = 0; c <1; c++) { hue[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++) { hue[a5[a] = 100; sat[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};//yellow สำหรับ (int a = 0; a < 6; a++) { hue[a6[a] = 53; sat[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};//purple for (int c = 0; c < 6; c++) { hue[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++) { hue [c8[c] = 307; เสาร์[c8[c] = 95; สว่าง[c8[c] = 100; } } else if (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++) { hue [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++) { hue [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++) { hue [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++) { hue [c12[c] = 307; เสาร์[c12[c] = 95; สว่าง[c12[c] = 100; } } else if (pNumber == 13) { สำหรับ (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++) { hue[a13[a] = 53; sat[a13[a] = 95; สว่าง[a13[a] = 100; } สำหรับ (int b = 0; b < 1; b++) { hue[b13 = 210; เสาร์[b13 = 95; สดใส[b13 = 100; } สำหรับ (int c = 0; c <1; c++) { hue[c13[c] = 307; เสาร์[c13[c] = 95; สดใส[c13[c] = 100; } } pNumber = pNumber + 1;
ถ้า (pNumber == 14) {
pNumber = 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 ("ตัวนับ: "); // Serial.println (เคาน์เตอร์); // Serial.println (curM); ตัวนับ = 0; ani2_Counter = 0; } } }
เป็นโมฆะ ani3 () {
// Serial.println("3"); } //////////////////////////////////////////// เป็นโมฆะ readyState () { / / Serial.println("พร้อม"); } /////////////////////////////////////////// void btnEvent(int b_interval) { curMillis1 แบบยาวที่ไม่ได้ลงนาม = มิลลิวินาที ();
สำหรับ (int i = 0; i < num; i++) { btnState = digitalRead(btnPin); }
ถ้า (curMillis1 - preMillis1 > b_interval) {
preMillis1 = curMillis1; สำหรับ (int i = 0; i = 360) { hueV = -1; } else if (hue <= 0) { hueV = 1; } hue = hue + hueV; สว่าง = 100; } } } } /////////////////////////////////////////// โมฆะ setPixels (int k) { สำหรับ (int i = 0; i < k; i++) { H2R_HSBtoRGB(hue, sat, bright, colors); int num1 = ฉัน * 3; strip.setPixelColor(num1, สี[0], สี[1], สี[2]); strip.setPixelColor(num1 + 1, สี[0], สี[1], สี[2]); strip.setPixelColor(num1 + 2, สี[0], สี[1], สี[2]); } strip.show(); }
ขั้นตอนที่ 20: รูปแบบ
โครงการนี้มีรูปสามเหลี่ยมหลายรูปที่เป็นรูปหกเหลี่ยม เพื่อให้คุณสามารถสร้างรูปแบบสามมิติตามการออกแบบแสงของคุณ! แค่กดแต่ละชิ้นก็ไล่สีต่างๆ กันได้เลย และเมื่อสีที่ต้องการออกมาก็กดตรงมือที่กดแล้วจะส่องประกายสวยงามตามสีที่ต้องการได้เลย!
แนะนำ:
ภาพเคลื่อนไหว Mood Light & Night Light: 6 ขั้นตอน (พร้อมรูปภาพ)
Animated Mood Light & Night Light: มีความหลงใหลในแสง ฉันจึงตัดสินใจเลือก PCB แบบแยกส่วนขนาดเล็กที่สามารถใช้สร้างการแสดงแสง RGB ได้ทุกขนาด เมื่อทำ PCB แบบแยกส่วน ฉันสะดุดกับความคิดที่จะจัดเรียงพวกมันเป็น
ดึง Light - Light Module โดยใช้ Neopixel & Pull Up Switch: 6 ขั้นตอน (พร้อมรูปภาพ)
ดึงโมดูล Light - Light โดยใช้ Neopixel & Pull Up Switch: คุณสมบัติของโมดูล Light Arduino Uno Hardware & ตู้ซื้อจากอินเทอร์เน็ต Neopixel & แหล่งจ่ายไฟที่ยืมมาจาก School of Informatics & การออกแบบผลิตภัณฑ์ โมดูลไฟควบคุมโดยแหล่งจ่ายไฟ ทุกฟังก์ชั่นควบคุมผ่าน
Switchable Light Sensing Night Light: 8 ขั้นตอน (พร้อมรูปภาพ)
Switchable Light Sensing Night Light: คำแนะนำนี้แสดงให้เห็นว่าฉันแฮ็คเซ็นเซอร์แสงกลางคืนได้อย่างไรเพื่อให้สามารถปิดได้ด้วยตนเอง อ่านอย่างระมัดระวัง คำนึงถึงวงจรที่เปิดอยู่ และปิดพื้นที่ของคุณหากจำเป็นก่อนการทดสอบหน่วย
Music Reactive Light--วิธีสร้าง Reactive Light แบบง่ายสุด ๆ สำหรับเดสก์ท็อป Awsome.: 5 ขั้นตอน (พร้อมรูปภาพ)
Music Reactive Light||วิธีสร้างแสงปฏิกิริยาเพลงแบบง่ายสุด ๆ เพื่อสร้างเดสก์ท็อปที่ยอดเยี่ยม: ว่าไงพวก วันนี้เราจะสร้างโปรเจ็กต์ที่น่าสนใจมาก วันนี้เราจะสร้างแสงปฏิกิริยาทางดนตรี หลอดไฟ LED จะเปลี่ยนความสว่างตาม เบสซึ่งเป็นสัญญาณเสียงความถี่ต่ำจริงๆ มันง่ายมากที่จะสร้าง เราจะ
Glass Martini Night Light พร้อม Auto Light Sense: 3 ขั้นตอน
Glass Martini Night Light พร้อม Auto Light Sense: แฮ็กง่ายๆ ของการตรวจจับแสง LED night light เพื่อสร้างแสงกลางคืนที่นุ่มนวล ส่วนผสม: ขวดแก้ว martini glassserving tray แก้วแตก (เดินเล่นในป่าและหาจุดที่ผู้คนบุกเข้าไปในรถบ่อยๆ )3-6 LEDs (ถ้าคุณต้องการ