جدول المحتويات:
- الخطوة 1: الطبقة الأمامية
- الخطوة 2: تصميم طبقة الدليل
- الخطوة 3: بناء طبقة الدليل
- الخطوة 4: توصيل مصابيح LED
- الخطوة الخامسة: تصميم الإلكترونيات
- الخطوة 6: توصيل الأسلاك بالإلكترونيات
- الخطوة السابعة: البرمجة
- الخطوة الثامنة: السكن
- الخطوة 9: الملاحظات الختامية
فيديو: ساعة خريطة مترو أنفاق لندن: 9 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
في عام 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 في مصفوفة من 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 أدى في الغالب إلى إزالة الحاجة إلى بديل.
آمل أن يكون هذا مفيدًا ، ويرجى طرح الأسئلة حيث سأحاول تقديم مزيد من التفاصيل حول الأقسام التي لا ترضي تمامًا.
هتافات
موصى به:
خريطة مواقف الطلاب بالحرم الجامعي: 7 خطوات (بالصور)
خريطة مواقف الطلاب في الحرم الجامعي: يتساءل العديد من الطلاب أين يمكنهم الوقوف في الحرم الجامعي. لمعالجة هذه المشكلة ، قمت بإنشاء خريطة موقف سيارات مضيئة للمنطقة الرئيسية في حرم جامعة ولاية يوتا. الخريطة مخصصة للطلاب لإلقاء نظرة سريعة على خيارات وقوف السيارات
خريطة أيداهو الذكية ببيانات LED + الفن: 8 خطوات (بالصور)
خريطة أيداهو الذكية مع بيانات LED + الفن: أردت دائمًا طريقة لعرض البيانات الجغرافية بشكل فني وديناميكي عن طريق & quot؛ الرسم & quot؛ خريطة مع الضوء. أعيش في ولاية أيداهو وأحب ولايتي ، لذلك اعتقدت أن هذا سيكون مكانًا رائعًا للبدء! بالإضافة إلى كونها قطعة فنية ذكية
زر باب خط قرصنة مترو أنفاق لندن اليوبيل: 12 خطوة (بالصور)
قرصنة زر باب خط اليوبيل لمترو الأنفاق في لندن: يبيع متجر متحف النقل بلندن أزرار أبواب تم إيقاف تشغيلها من خط Jubilee (يتوفر كل من اليسار واليمين). إذا كنت تفكر في تنفيذ مشروع يحتاج إلى زر وضوء مؤشر من نوع ما ، فستكون "
خريطة تضيء لعبة العروش: 4 خطوات (بالصور)
خريطة لعبة العروش المضيئة: المفسد! الشتاء قادم بالتأكيد. لكن اجعل هذه اللعبة الرائعة من لعبة العروش تضيء خريطة لمشروع الربيع. تضيء الخريطة بتأثير اللهب الذي يكشف عن سيجيل المنزل المتبقي في السلطة. ماذا أعرف ، اصنعه مع سيجيل المفضل لديك
كيفية تصوير فيلمك المستقل في مترو أنفاق مدينة نيويورك عندما لا يمكنك تحمل التصاريح: 12 خطوة
كيفية تصوير فيلمك المستقل في مترو أنفاق مدينة نيويورك عندما لا يمكنك تحمل التصاريح: هذا دليل بسيط لصانعي الأفلام المستقلين الطموحين الذين لديهم أحلام بتصوير هذا المشهد السحري داخل نظام مترو أنفاق مدينة نيويورك الجميل ولكن من هم لا تستطيع تحمل آلاف الدولارات المطلوبة للحصول على تصريح تصوير قانوني