فهرست مطالب:
- تدارکات
- مرحله 1: بیایید آن را درست کنیم
- مرحله 2: آماده سازی مواد
- مرحله 3: برش اکریلیک
- مرحله 4: با پرینترهای سه بعدی طرف ایجاد کنید
- مرحله 5: فیلمبرداری
- مرحله 6: نوار LED + نوار LED لحیم کاری (NeoPixel) را با سیم وصل کنید
- مرحله 7: سوکت سوکت لحیم کاری با سیم
- مرحله 8: مونتاژ -پیچ را در طرف = ① وارد کنید
- مرحله 9: Ⓛⓣ را به Ⓒ = Att وصل کنید
- مرحله 10: مونتاژ -استفاده از Ⓦ و Ⓝ برای ترکیب ① و ② =
- مرحله 11: مونتاژ -Attach و ③ Using a Acrylic Bond = ④
- مرحله 12: Ⓢ را به Ⓓ = Att وصل کنید
- مرحله 13: مونتاژ -ترکیب ④ و ⑤ استفاده از Ⓦ و Ⓝ =
- مرحله 14: مجموعه کامل قطعه
- مرحله 15: ظاهر کاری یک پروژه
- مرحله 16: NeoPixel ، سیم کشی اتصال
- مرحله 17: NeoPixel و Arduino Wiring
- مرحله 18: آردوینو را برنامه ریزی کنید
- مرحله 19:
- مرحله 20: الگوها
تصویری: Light Me Up !: 20 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
اعضای تیم پروژه
(هیوون شین ، یونجونگ کو ، یونسونگ یی)
اگر بتوانید نور را لمس کرده و طراحی کنید ، چطور؟ اگر شما یک الگوی زیبا از نور داشته باشید که خودتان آن را با یک انیمیشن جالب طراحی کرده اید ، چه احساسی خواهید داشت؟ Light me up یک کتاب طراحی جالب خواهد بود که خود نور را لمس کرده و طراحی می کند و الگوهای جالبی ایجاد می کند! این پروژه دارای چندین مثلث است شکل شش ضلعی بنابراین می توانید با توجه به نحوه طراحی نور ، الگوهای کلیشه ای ایجاد کنید! فقط هر قطعه را فشار دهید و رنگهای مختلف درجه بندی می شوند ، و وقتی رنگ مورد نظر شما بیرون آمد ، فقط دستی را که فشار داده اید ضربه بزنید و همچنان با رنگ مورد نظر شما به زیبایی می درخشد! این پروژه از 312 مثلث استفاده کرد ، اما می تواند ایجاد کند یک نور خوب که با 6 مثلث به خوبی کار می کند. حالا اجازه دهید طرز تهیه آن را با شش مثلث به شما نشان دهم. مراحل را دنبال کنید و کار فوق العاده خود را خواهید داشت!
تدارکات
سخت افزار: آردوینو (از arduino mega 2560 استفاده کردم) ، اکریلیک (شفاف ، سفید) ، نوار LED (NeoPixel) ، پخش کننده فیلم ، دکمه ، اتصال 4 پین ، سیم ، برد مدار ، منبع تغذیه
ابزارها: دستگاه برش هدایت لیزری ، چاپگر سه بعدی
مرحله 1: بیایید آن را درست کنیم
بیایید این قطعه زیبا شش ضلعی را با من بسازیم!
Light Me Up با استفاده از 312 مثلث ساخته شده است ، اما حتی 6 مثلث می توانند نور فوق العاده ای را طراحی کنند. اگر می خواهید آن را در مقیاس بزرگتر بسازید ، می توانید با مراجعه به فایل پیوست زیر آن را بسازید.
مرحله 2: آماده سازی مواد
مرحله 3: برش اکریلیک
از برش لیزری برای برش قسمت جلویی و پشتی هر قسمت استفاده کنید. رنگ اکریلیک پشت می تواند هر چیزی باشد که شما می خواهید ، اما مطمئن شوید که از اکریلیک شفاف استفاده می کنید زیرا قسمت جلویی باید کم نور باشد! اگر از رنگ اکریلیک غیر از شفاف استفاده می کنید ، نور را به خوبی نمی بینید.
مرحله 4: با پرینترهای سه بعدی طرف ایجاد کنید
حالا وقت آن است که کناره های هر قطعه را بسازیم. اجازه دهید آن را درست کنیم! فایل های مدل سازی سه بعدی در کنار آن در زیر پیوست شده است. ما از PLA برای ایجاد اضلاع استفاده کردیم PLA قوی تر و کمتر از ABS انقباض دارد ، بنابراین رشته ها برای استفاده از PLA توصیه می شود.
مرحله 5: فیلمبرداری
حالا بیایید یک فیلم پخش نور را روی اکریلیک جلویی قرار دهیم. اگر فیلم را روی آن بگذارید ، پخش می شود و بسیار زیباتر می درخشد. ابتدا فیلم را به شکل مثلث برش دهید. (بهتر است فیلم را بزرگتر از اکریلیک برش دهید) قرار دادن فیلم روی یک فیلم محافظ روی تلفن ساده است. اگر می خواهید در اینجا راهنمایی کنید ، می توانید از یک کارت برای فشار دادن آن استفاده کنید تا به طور مرتب گیر کند!
مرحله 6: نوار LED + نوار LED لحیم کاری (NeoPixel) را با سیم وصل کنید
اگر در لحیم کاری نوار LED بسیار خوب عمل کرده اید ، وقت آن است که نوار LED را در پشت قرار دهید. ابتدا یک نوار چسب یا نوار دو طرفه را به پشت نوار LED وصل کنید. و ابتدا سیمها را از دو طرف سیم لحیم کاری از طریق سوراخهای دو طرف جدا کنید. در نهایت ، نوار LED را به اکریلیک پشت وصل کنید و تمام می شود!
زمان لحیم کاری است! نوارهای LED ، اتصالات 4 پین (کانکتور یا سیم) و آنچه برای لحیم کاری نیاز دارید را آماده کنید. من از LED ها در سه واحد استفاده کردم. در صورت تمایل می توانید از یک یا دو LED استفاده کنید ، اما توصیه می کنم از سه عدد LED استفاده کنید. وقتی همه مواد آماده شد ، سیمها را در هر دو خط داده ، خطوط 5 ولت و خطوط نوار LED لحیم کنید.
مرحله 7: سوکت سوکت لحیم کاری با سیم
مرحله 8: مونتاژ -پیچ را در طرف = ① وارد کنید
در حال حاضر آن را واقعا آسان بخش! یک پیچ را روی هر سه طرف چاپ سه بعدی قرار دهید. به همین دلیل است که با استفاده از دکمه پیچ مانند استفاده از پیچ و مهره های ساختاری قادر خواهید بود. وقتی قطعه به پایان رسید ، من قطعه را در کیس می گذارم و آن را با مهره تمام می کنم.
مرحله 9: Ⓛⓣ را به Ⓒ = Att وصل کنید
مرحله 10: مونتاژ -استفاده از Ⓦ و Ⓝ برای ترکیب ① و ② =
مرحله 11: مونتاژ -Attach و ③ Using a Acrylic Bond = ④
اگر شما یک پیچ در طرف قرار دهید ، ما آن را در طرف و جلو قرار می دهیم. قسمت جلویی آن اکریلیک است ، بنابراین باید آن را با یک باند مخصوص اکریلیک روی آن قرار دهید. اگر اکریلیک را به یک پیوند معمولی وصل کنید ، اثری از خود به جا می گذارد.
مرحله 12: Ⓢ را به Ⓓ = Att وصل کنید
مرحله 13: مونتاژ -ترکیب ④ و ⑤ استفاده از Ⓦ و Ⓝ =
مرحله 14: مجموعه کامل قطعه
مرحله 15: ظاهر کاری یک پروژه
مرحله 16: NeoPixel ، سیم کشی اتصال
مرحله 17: NeoPixel و Arduino Wiring
مرحله 18: آردوینو را برنامه ریزی کنید
خارجی فرار بدون علامت timer0_millis؛
#عبارتند از
#تعریف 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) ؛ if (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 = current2؛ برای (int i = 1؛ i 3000) {preM3 = current3؛ // 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:
خارجی فرار بدون علامت timer0_millis؛
#عبارتند از
#شامل #تعریف PIN 12 #تعریف NUMPIXELS 162 Adafruit_NeoPixel strip = 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} ؛ 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 [num]؛ boolean 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} ؛ #شامل #تعریف BTNNUM 1 int f_v = 1 ؛ بدون امضا طولانی preMillis1؛ preM طولانی امضا نشده ؛ int ani_mode = 0؛ int ani2_Counter = 0؛ int counter = 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 ()؛ } /////////////////////////////////////////
حلقه خالی () {
if (f_v == 1) {for (int i = 0؛ i <num؛ i ++) {hue = 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) {مورد 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 (num)؛ }
///////////////////////////////////////////
void دریافتEvent (int howMany) {int x = Wire.read ()؛ if (x == 5) {// Serial.println ("5 دریافت کرد") ؛ ani_mode = 0؛ } ani_mode = x؛ // Serial.println (ani_mode) ؛ } /////////////////////////////////////////// void requestEvent () {
if (btnMode == true) {
Wire.write (5) ؛ // Serial.println ("5 보냄") ؛ } else {Wire.write (0)؛ }
}
void ani0 () {
// Serial.println ("0") ؛ }
void ani1 () {
// Serial.println ("1") ؛ if (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 ++) {hue [a1 [a] = 100؛ نشسته [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؛ نشسته [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}؛ // زرد 06 برای (int a = 0؛ a <6؛ a ++) {hue [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 ++) {hue [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 ++) {hue [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 ++) {hue [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 ++) {hue [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 ++) {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 ++) {رنگ [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 ++) {hue [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 ++) {hue [a13 [a] = 53؛ نشسته [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؛
if (pNumber == 14) {
pNumber = 0؛ }}
void ani2 () {
// Serial.println ("2") ؛ curM طولانی امضا نشده = millis ()؛
if (curM - preM> = 10) {
preM = curM ؛ برای (int i = 0؛ i <num؛ i ++) {if (hue = 360) {gValue = -1؛ } رنگ = رنگ + g ارزش ؛ } شمارنده ++؛ if (counter == 360) {// Serial.print ("counter:")؛ // Serial.println (شمارنده) ؛ // Serial.println (curM) ؛ شمارنده = 0 ؛ ani2_Counter = 0؛ }}}
void ani3 () {
// Serial.println ("3") ؛ } //////////////////////////////////////////// void readyState () {/ / Serial.println ("آماده") ؛ } /////////////////////////////////////////// void btnEvent (int b_interval) {unsigned long curMillis1 = millis ()؛
برای (int i = 0 ؛ i <num؛ i ++) {btnState = digitalRead (btnPin ) ؛ }
if (curMillis1 - preMillis1> b_interval) {
preMillis1 = curMillis1؛ برای (int i = 0 ؛ i = 360) {hueV = -1 ؛ } else if (رنگ <= 0) {hueV = 1 ؛ } رنگ = رنگ + رنگ V ؛ روشن = 100 ؛ }}} /////////////////////////////////////////// void setPixels (int k) {برای (int i = 0 ؛ i <k؛ i ++) {H2R_HSBtoRGB (رنگ ، نشسته ، روشن ، رنگ ) ؛ 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: الگوها
این پروژه دارای چندین مثلث است که شکل شش ضلعی را تشکیل می دهند. بنابراین می توانید با توجه به نحوه طراحی نور ، الگوهای کلیشه ای ایجاد کنید! فقط هر قطعه را فشار دهید و رنگهای مختلف درجه بندی می شوند ، و هنگامی که رنگ مورد نظر شما بیرون آمد ، فقط دستی را که فشار داده اید ضربه بزنید و همچنان با رنگ مورد نظر شما به درخشش زیبا ادامه خواهد داد!
توصیه شده:
BookWorm Light-Up Book Light و Bookmark: 13 مرحله (همراه با تصاویر)
BookWorm Light-Up Book Light و Bookmark: این نشانک سرگرم کننده کتابخوان را بسازید که به عنوان چراغ کتاب عمل می کند! ما آن را چاپ می کنیم ، قطع می کنیم ، رنگ می کنیم و تزئین می کنیم و آنها از او برای روشن کردن شب استفاده می کنند تا بتوانید در تاریکی بخوانید. او فقط با چند ماده ساخته شده است و اولین درجه عالی را ایجاد می کند
Arduino/Light Controlled Desk Light: 6 مرحله (همراه با تصاویر)
Arduino/App Controlled Desk Light: برای این پروژه من چیزی می خواستم که به من این امکان را بدهد که بیشتر در مورد قطعات الکترونیکی/نرم افزاری آموزش دهم ، چیزی که هنوز به آن توجه نکرده ام. طرحی که به ذهنم رسید برای یک نورگیر بود
DIY 18V Makita Light Light: 9 مرحله (همراه با تصاویر)
DIY 18V Makita Light Light: من شخص دیگری را نمی شناسم ، اما به اندازه کافی از چراغ های کاری استفاده می کردم که خیلی روشن نیستند ، توسط یک سرپوش اضافی محدود می شوند و هیچ کارکرد دیگری برای آنها ندارند. به عنوان یک شاگرد برق کار ، من نیمی را صرف می کنم زمان من در تاریکی کار می کند ، و هنوز
Batman Light Signal Light and Chalk Board: 5 مرحله (همراه با تصاویر)
چراغ سیگنال بتمن و تخته گچ: به طور معمول شما فکر نمی کنید که چراغ بتمن پر رنگ است ، اما چون تخته گچی است می تواند به همان اندازه که از تصویر مشاهده می کنید دارای رنگ های مورد نظر شما باشد
چراغ خورشیدی LED Tonka Truck Path Light Light: 8 مرحله (همراه با تصاویر)
چراغ خورشیدی LED Tonka Truck Path Light: زندگی جدید برای اسباب بازی های قدیمی! کامیون های اسباب بازی قدیمی خود را با چراغ های مسیر LED زنده کنید. من هرگز نمی خواستم از کمپینگ دوست داشتنی تونکا جدا شوم ، اما به عنوان یک بزرگسال توجیه حفظ و نگهداری … تا کنون سخت تر و سخت تر شده است