جدول المحتويات:

ساعة خريطة مترو أنفاق لندن: 9 خطوات (بالصور)
ساعة خريطة مترو أنفاق لندن: 9 خطوات (بالصور)

فيديو: ساعة خريطة مترو أنفاق لندن: 9 خطوات (بالصور)

فيديو: ساعة خريطة مترو أنفاق لندن: 9 خطوات (بالصور)
فيديو: المترو كلو اتفرج عليا 😂 2024, شهر نوفمبر
Anonim
ساعة خريطة مترو أنفاق لندن
ساعة خريطة مترو أنفاق لندن
ساعة خريطة مترو أنفاق لندن
ساعة خريطة مترو أنفاق لندن

في عام 2014 ، بعد فترة تدريب في شركة استشارية للطباعة ثلاثية الأبعاد في لندن وتجربة مع ليثوفان ملون باستخدام آلة ستراتاسيس الخاصة بهم ، قمت بتصميم هديتي الخاصة ، وهي طباعة ملونة ثلاثية الأبعاد لخطوط الأنابيب المحلية في مكاتبهم. كنت مصممًا على صنع شيء منه. بعد عامين وجيزين في عام 2016 ، كان لدي طابعة ثلاثية الأبعاد خاصة بي ، وبدأت في العمل على تحويلها إلى ساعة.

عندما كنت طفلاً ، كنت على الرغم من أن ساعات Tokyo Flash الرقمية كانت أعظم الأشياء على الإطلاق ، وكانت هذه هي نقطة الإلهام في التصميم.

والآن كانت مجرد استراحة طفيفة لمدة 4 سنوات حتى بدأت في كتابتها!

في حين أن التعليمات الدقيقة سيكون من الصعب تكرارها ، فإن تقليل التكلفة في تصنيع ثنائي الفينيل متعدد الكلور للهواة في العامين الماضيين قد يجعل طريقي الدقيق لوضع LED عفا عليه الزمن. آمل أن تؤدي الأفكار المشتركة إلى قيام الآخرين بصنع ساعات غريبة من أجسام رقيقة!

الخطوة 1: الطبقة الأمامية

الطبقة الأمامية
الطبقة الأمامية
الطبقة الأمامية
الطبقة الأمامية
الطبقة الأمامية
الطبقة الأمامية

كما هو مذكور في المقدمة ، كانت هذه طباعة ملونة ثلاثية الأبعاد ، وأعتقد أن آلة Stratasys تستخدم سرير مسحوق وخرطوشة حبر معدلة للوثيقة والصبغ.

يُفقد الملف في التاريخ ، ولكن يمكن أن تكون هذه الطبقة أي شيء ، أو صورة أو لون واحد من الليثوفان يعمل بشكل رائع.

تم إنشاء هذا الجزء في 3DS max في عام 2014 ، ولكن توجد اليوم أدوات عبر الإنترنت لتحويل الصورة إلى SLT بناءً على السطوع

الخطوة 2: تصميم طبقة الدليل

تصميم طبقة الدليل
تصميم طبقة الدليل
تصميم طبقة الدليل
تصميم طبقة الدليل
تصميم طبقة الدليل
تصميم طبقة الدليل
تصميم طبقة الدليل
تصميم طبقة الدليل

هذا هو المكان الذي نقرر فيه مدى تعقيد المشروع وطريقة قراءة الوقت. تُظهر الصور الفكرتين اللتين كنت ألعب بهما.

تم إجراء ذلك عن طريق المسح الضوئي في التصميم ورسم الخطوط عبره في إنكسكيب.

هذه ليست ساعة سهلة القراءة ، لكنني فضلت فكرة ملء الخطوط طوال اليوم بحيث أصبح هذا هدف التصميم.

يعد العد الثنائي طريقة قابلة للتطبيق لتقليل عدد LED ، ومن شأنه تحسين إمكانية القراءة إذا كان النظام الثنائي هو المربى الخاص بك ، ولكن هذا قوض فكرة "خطوط التعبئة" الخاصة بي ، لذلك لم يكن خيارًا لهذا المشروع

من الشائع في ساعات طوكيو الفلاش تقليل عدد مصابيح LED ولكن مع وجود قسم واحد يتم عده في 3 أو 5 ثوانٍ ثم ملء آخر لكل مرة يملأ فيها هذا القسم ، استخدمت هذه التقنية للدقائق ، لتقليلها من 60 إلى 20 زائد 2. I لم يكن قلقًا جدًا بشأن الدقة هذا للثواني.

الخطوة 3: بناء طبقة الدليل

بناء طبقة الدليل
بناء طبقة الدليل
بناء طبقة الدليل
بناء طبقة الدليل
بناء طبقة الدليل
بناء طبقة الدليل

هذه الطبقة الإرشادية لمصابيح LED لها غرضان ، فهي تثبت مصابيح LED في مكانها ، وتمنع الانسكاب بينها

تم رسمه كطبقة على Inkscape مباشرة أعلى المسح الذي كنت أستخدمه لتخطيط التصميم. تمت إضافة سمك 1 مم في الخلاط قبل إرسالها إلى طابعتي.

كانت هذه واحدة من أصعب المطبوعات التي كان عليّ إجراؤها على جهاز Makibox A6 الضئيل ، وقد طُبع الجزء بالقيمة المطلقة لذلك تم استخدام طن من ملاط الأسيتون لإبقائه متصلًا بمنصة البناء بأقل قدر من الالتواء. لحسن الحظ ، لم يظهر هذا الجزء في المنتج النهائي

تُظهر الصورة النهائية أنه تم تعليقه على مصباح للتحقق من التباعد.

في الإدراك المتأخر ، قد يكون الانسكاب بين الأضواء على طول الخط هو الأفضل في الواقع بالنسبة للعناصر المرئية ، وليس من الصعب قراءته ، ويمكن تحقيق ذلك عن طريق إضافة شطب إلى الدليل على الجوانب القصيرة لكل ضوء

الخطوة 4: توصيل مصابيح LED

توصيل مصابيح LED
توصيل مصابيح LED
توصيل مصابيح LED
توصيل مصابيح LED
توصيل مصابيح LED
توصيل مصابيح LED

تُظهر صورة القبضة الطباعة الاختبارية التي قمت بها للتحقق من حجم الفتحة ، وكنت أهدف إلى أن يتلاءم مؤشر LED بشكل مريح مع الدانتيل بقوة صغيرة ، ثم تم وضع الشكل الصحيح يدويًا عند وضع طبقة الدليل.

نظرًا للتسامح المنخفض للطابعة ثلاثية الأبعاد الخاصة بي ، كان بعضها فضفاضًا وتطلب القليل من الغراء الفائق للبقاء في مكانه بينما كان البعض الآخر ضيقًا جدًا ، ولكن تم تشجيعه في مكانه عن طريق الضغط لأسفل على مؤشر LED أثناء اللحام ، كان هذا في الواقع مناسبًا أفضل من الحجم الصحيح للحفر ، والذي كان لديه إيجار للانسحاب بمجرد توصيله بالأسلاك.

لتقليل عدد الأسلاك ، تم لحام مصابيح LED في مصفوفة من 7 × 8 ، مما يعني أنه يمكن التحكم في جميع مصابيح LED الـ 55 بواسطة 13 دبوسًا فقط ، كان لدي خريطة مرسومة باليد لكل من هذه التوصيلات التي فقدت للأسف.

تم استخدام سلك المينا بحيث يمكن كشف المقاطع في مكانها عن طريق تسخين مقطع بالحديد والصفيح قبل إجراء التوصيل.

كانت هذه العملية تستغرق وقتًا طويلاً جدًا ، أوصي بشدة بتصميم ثنائي الفينيل متعدد الكلور

الخطوة الخامسة: تصميم الإلكترونيات

تصميم الإلكترونيات
تصميم الإلكترونيات
تصميم الإلكترونيات
تصميم الإلكترونيات
تصميم الإلكترونيات
تصميم الإلكترونيات
تصميم الإلكترونيات
تصميم الإلكترونيات

كانت خطتي الأولية هي استخدام متحكم Arduino مع RTC ، لكن اخترت ESP8266 على لوحة Node MCU D1 لأنها سمحت بالتوفير التلقائي في ضوء النهار وإمكانية التحكم في WIFI.

لتقليل عدد الدبوس بشكل أكبر ، كان لدي العدد المثالي من مصابيح LED حتى أتمكن من استخدام MAX7219 (الذي يمكنه التعامل مع ما يصل إلى 64 مصباحًا).

يستخدم هذا IC بشكل شائع لتشغيل شاشات LED 7 Segment ، ولكن كان له حالة استخدام مشابهة جدًا للتعدين ، حيث يقوم بإضاءة عدد تعسفي من مصابيح LED مع الحد الأدنى من الوميض ، بل إنه يتمتع بسطوع يمكن التحكم فيه.

قررت استخدام لوح بروتوبورد في الأسلاك ، لكن النسر كان مفيدًا في وضع الأجزاء وفهم الأسلاك

لقد أرفقت ملفات لوحي ، ولكن هذه كانت المرة الأولى التي أستخدم فيها النسر (وإصدار قديم الآن) لذا فهي للإشارة فقط

الخطوة 6: توصيل الأسلاك بالإلكترونيات

توصيل الإلكترونيات
توصيل الإلكترونيات
توصيل الإلكترونيات
توصيل الإلكترونيات
توصيل الإلكترونيات
توصيل الإلكترونيات
توصيل الإلكترونيات
توصيل الإلكترونيات

كانت هذه خطوة بسيطة متكررة ، باتباع مخطط Eagle ، باستخدام رؤوس لـ ESP ومصفوفة LED ساعدت بشكل كبير في التجميع.

تم تمييز الدبوس 1 على رؤوس الأنود والكاثود LED ببراعة فضية ، ويمكن التمييز بينها كما في 7 و 8 الأخرى.

الخطوة السابعة: البرمجة

برمجة
برمجة

نظرًا لأن شاشة العرض الخاصة بنا ليست مصفوفة تقليدية ، فقد اضطررت إلى إيجاد طريقة لتصور البتات التي يجب تشغيلها والتي يتم إرسالها إلى MAX IC في HEX. لحسن الحظ ، أعرف ما يكفي من التفوق للوقوع في المشاكل وصنعت "معالج Hex" لإرشادي على الرغم من أن النمط الذي أردت عرضه ، وخانات الاختيار الموضوعة يدويًا كلها.

جاء ذلك مع إعادة التقييم التي يمكن دمجها في سداسي للساعة والدقائق والثواني باستخدام طريقة البت أو لإنتاج الأمر السداسي النهائي لإرساله إلى الحد الأقصى 7219 ، بما في ذلك القليل من الرسوم المتحركة التي أضفتها إلى الثواني حتى أتمكن من التأكد من اللوحة لم يتم تجميدها.

لذا ، في النهاية تقريبًا. والوقت لاتخاذ قرار آخر لم يتقدم في السن بشكل جيد.

رمز ESP موجود في LUA ، أوصي اليوم باستخدام arduino IDE لتوثيقه بشكل أفضل ومكتبة حزم قوية ، في الوقت الذي كان مجتمع ESP لا يزال ينضج واخترت LUA كلغة لهذا المشروع.

لقد اتخذت قرارًا مشكوكًا فيه لإجراء اختبار اتصال منتظم على خوادم Google لقراءة الوقت. لقد تجاوز هذا الحاجة إلى RTC لتقليل الانجراف ، وهذا يعمل ، لكنك ستكون أفضل حالًا باستخدام واجهة برمجة تطبيقات الوقت الحقيقي.

نصف ثانية = 0 ساعة = 0 دقيقة = 0 ثانية = 0

كثافة منخفضة = 0

كثافة عالية = 9

SSID المحلي = "Wifi"

SSID_PASSWORD المحلي = "كلمة المرور"

وقت الوظيفة () - الاتصال بالإنترنت للحصول على الوقت والتاريخ الحاليين

if wifi.sta.getip () ثم conn = net.createConnection (net. TCP، 0) conn: connect (80، "google.com")

conn: on ("اتصال" ،

دالة (conn، payload) conn: send ("HEAD / HTTP / 1.1 / r / n".. "Host: time.is / r / n".. "Accept: * / * / r / n".. " عامل المستخدم: Mozilla / 4.0 (متوافق ؛ esp8266 Lua؛) ".." / r / n / r / n ") end)

conn: on ("تلقي"،

function (conn، payload) --print (payload) conn: close () local p = string.find (payload، "GMT") - ابحث عن سلسلة الوقت والتاريخ في الحمولة من الإنترنت ، وقم بتغيير المنطقة الزمنية إذا كانت p ~ = لا شيء إذن - استخراج الأرقام المرتبطة بالساعة ، الدقيقة ، الثانية ، اليوم ، ساعة الشهر = طن (سلسلة فرعية (حمولة ، ص -9 ، ص -8)) دقيقة = طن (سلسلة. 6، p-5)) second = tonumber (string.sub (payload، p-3، p-2)) addHour () - BST المشفرة بشدة (توقيت الصيف البريطاني) طباعة ضوء النهار (ساعة ، دقيقة ، ثانية) نصف ثانية = (الثانية٪ 6) * 2 - طباعة (نصف ثانية) وإلا طباعة ("فشل تحديث الويب!") نهاية - وظيفة) - نهاية معالج الحدث "تلقي"

conn: on ("فصل"،

وظيفة (conn، payload) conn = nil payload = nil end) end print ("no wifi yet") end

دالة borTable (أ ، ب ، …) - باتجاه عمودي أو جداول معًا

if arg [1] ثم b = borTable (b، unpack (arg)) end local z = {} for i، v in ipairs (a) do table.insert (z، bit.bor (v، b )) نهاية العودة z end

الدالة bxorTable (أ ، ب ، …) - باتجاه عمودي أو الجداول معًا

if arg [1] ثم b = bxorTable (b، unpack (arg)) end local z = {} for i، v in ipairs (a) do table.insert (z، bit.bxor (v، b )) نهاية العودة z end

الوظيفة addSecond ()

الثانية = ثانية + 1 إذا كانت الثانية> = 60 ثم الثانية = 0 دقيقة = دقيقة + 1 إذا كانت دقيقة> = 60 ثم دقيقة = 0 ساعة نهاية () نهاية

وظيفة addHour ()

الساعة = الساعة + 1 إذا كانت الساعة> = 24 ثم الساعة = 0 تنتهي إذا كانت الساعة == 2 أو الساعة == 16 ثم الحد الأقصى 7219. كثافة المجموعة (كثافة منخفضة) تنتهي إذا كانت الساعة == 8 أو الساعة == 18 ثم الحد الأقصى 7219. كثافة المجموعة (كثافة عالية) تحديث وظيفة النهاية () secGap المحلي = 6 minGap محلي = 3 horGap محلي = 1 ثانية محلية = {{0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x02} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x02 ، 0x00 ، 0x02} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x02 ، 0x00 ، 0x03} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x02 ، 0x01 ، 0x03} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x03 ، 0x01 ، 0x03} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x01 ، 0x03 ، 0x01 ، 0x03} ، {0x00 ، 0x00 ، 0x00 ، 0x01 ، 0x01 ، 0x03 ، 0x01 ، 0x03} ، {0x00 ، 0x00 ، 0x01 ، 0x01 ، 0x01 ، 0x03 ، 0x01 ، 0x03} ، {0x00 ، 0x01 ، 0x01 ، 0x01 ، 0x01 ، 0x03 ، 0x01 ، 0x03 } ، {0x01 ، 0x01 ، 0x01 ، 0x01 ، 0x01 ، 0x03 ، 0x01 ، 0x03}} ؛ الحد الأدنى المحلي = {{0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x02 ، 0x00 ، 0x00 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x02 ، 0x00 ، 0x02 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x02 ، 0x02 ، 0x00 ، 0x02 ، 0x00} ، {0x00 ، 0x00 ، 0x02 ، 0x02 ، 0x02 ، 0x00 ، 0x02 ، 0x00} ، {0x00 ، 0x02 ، 0x02 ، 0x02 ، 0x02 ، 0x00 ، 0x02 ، 0x00} ، {0x02 ، 0x02 ، 0x02 ، 0x02 ، 0x02 ، 0x00 ، 0x02 ، 0x00} ، {0x02 ، 0x02 ، 0x02 ، 0x02 ، 0x02 ، 0x00 ، 0x02 ، 0x10} ، {0x02 ، 0x02 ، 0x02 ، 0x02 ، 0x02 ، 0x00 ، 0x12 ، 0x10} ، {0x02 ، 0x02 ، 0x02 ، 0x02 ، 0x02 ، 0x10 ، 0x12 ، 0x10} ، {0x02 ، 0x02 ، 0x02 ، 0x02 ، 0x12 ، 0x10 ، 0x12 ، 0x10 } ، {0x02 ، 0x02 ، 0x02 ، 0x12 ، 0x12 ، 0x10 ، 0x12 ، 0x10} ، {0x02 ، 0x02 ، 0x12 ، 0x12 ، 0x12 ، 0x10 ، 0x12 ، 0x10} ، {0x02 ، 0x12 ، 0x12 ، 0x12 ، 0x12 ، 0x10 ، 0x12 ، 0x10} ، {0x12 ، 0x12 ، 0x12 ، 0x12 ، 0x12 ، 0x10 ، 0x12 ، 0x10} ، {0x12 ، 0x12 ، 0x12 ، 0x12 ، 0x12 ، 0x30 ، 0x12 ، 0x10} ، {0x12 ، 0x12 ، 0x12 ، 0x12 ، 0x32 ، 0x30 ، 0x12 ، 0x10} ، {0x12 ، 0x12 ، 0x12 ، 0x32 ، 0x32 ، 0x30 ، 0x12 ، 0x10} ، {0x12 ، 0x12 ، 0x32 ، 0x32 ، 0x32 ، 0x30 ، 0x12 ، 0x10} ، {0x12 ، 0x32 ، 0x32 ، 0x32 ، 0x32 ، 0x30 ، 0x12 ، 0x10} ، {0x32 ، 0x32 ، 0x32 ، 0x32 ، 0x32 ، 0x30 ، 0x12 ، 0x10}} ؛ hor المحلي = {{0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x04 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x04 ، 0x04 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x04 ، 0x04 ، 0x04 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x00} ، {0x00 ، 0x00 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x00} ، {0x00 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x00} ، {0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x00} ، {0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x08} ، {0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x0C ، 0x08} ، {0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x0C ، 0x0C ، 0x08 } ، {0x04 ، 0x04 ، 0x04 ، 0x04 ، 0x0C ، 0x0C ، 0x0C ، 0x08} ، {0x04 ، 0x04 ، 0x04 ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x08} ، {0x04 ، 0x04 ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x08} ، {0x04 ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x08} ، {0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x08} ، {0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x48} ، {0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x4C ، 0x48} ، {0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x0C ، 0x4C ، 0x4C ، 0x48} ، {0x0C ، 0x0C ، 0x0C ، 0x0C، 0x4C، 0x4C، 0x4C، 0x48}، {0x0C، 0x0C، 0x0C، 0x4C، 0x4C، 0x4C ، 0x4C ، 0x4C ، 0x4C ، 0x4C ، 0x4C ، 0x48} ، {0x4C ، 0x4C ، 0x4C ، 0x4C ، 0x4C ، 0x4C ، 0x4C ، 0x48}} ؛ - طباعة (ساعة ، دقيقة ، ثانية)

- يبدأ الجدول من 0 ، لذا عند 1 ثانية كما هو الحال حاليًا [0] = لا شيء)

max7219.write ({animate (borTable (sec [1+ (second / secGap)] ، min [1+ (minutes / minGap)] ، hor [1+ (hour / horGap)]))})

نهاية - وظيفة

wifi.setmode (wifi. STATION)

wifi.sta.config (SSID ، SSID_PASSWORD) wifi.sta.autoconnect (1)

- تكوين max7219

max7219 = تتطلب ("max7219") max7219.setup ({numberOfModules = 1 ، slaveSelectPin = 8 ، الكثافة = كثافة عالية})

--البرنامج الرئيسي

checkOnline = tmr.create ()

tmr.alarm (0، 180000، 1، time)

tmr.alarm (1، 1000، 1، addSecond)

tmr.alarm (2، 500، 1، تحديث)

وظيفة تحريك (لا يزال)

الإطارات المحلية = {{0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x02} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x02 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x02 ، 0x00 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x01} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x01 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x01 ، 0x00 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x01 ، 0x00 ، 0x00 ، 0x00} ، {0x00 ، 0x00 ، 0x00 ، 0x01 ، 0x00 ، 0x00 ، 0x00 ، 0x00} ، {0x00 ، 0x00 ، 0x01 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00} ، {0x00 ، 0x01 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00} ، {0x01 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 } ، {0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00}} ؛ halfSec = halfSec + 1 إذا كان halfSec> = 12 ثم halfSec = 0 نهاية - طباعة (halfSec) إرجاع bxorTable (الإطارات [halfSec + 1] ، لا تزال) تنتهي

الخطوة الثامنة: السكن

الأسكان
الأسكان
الأسكان
الأسكان
الأسكان
الأسكان

حان الوقت الآن لإظهار براعتك المذهلة وإيواء المشروع.

إما ذلك أو احصل على حزمة أمازون من إعادة التدوير وصنع مسكنًا مؤقتًا لا يزال قيد الاستخدام حتى اليوم.

كانت الفائدة من استخدام هذا الأسلوب هي أن كل طبقة من المشروع تتطابق تمامًا تقريبًا مع سمك الورق المقوى ، لذلك يمكن تكديس الساندويتش وتسجيله معًا. يمكن أن تستخدم نسخة متميزة مماثلة الأكريليك

الخطوة 9: الملاحظات الختامية

شكرًا على القراءة ، كما يعلم الكثير منكم ، قد يكون توثيق مشروع ما بنفس صعوبة القيام به. هناك قصاصات فيديو معي تتحدث والتي قد ترى ضوء النهار في النهاية.

في السنوات الفاصلة بين إنشاء هذا المشروع وكتابته ، توقعت أن أرى المزيد من الأمثلة لشاشات LED التعسفية باستخدام الطباعة ثلاثية الأبعاد ، لكن تقليل شرائط RGB أدى في الغالب إلى إزالة الحاجة إلى بديل.

آمل أن يكون هذا مفيدًا ، ويرجى طرح الأسئلة حيث سأحاول تقديم مزيد من التفاصيل حول الأقسام التي لا ترضي تمامًا.

هتافات

موصى به: