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

أضواء الألياف الضوئية في طباعة القماش: 5 خطوات
أضواء الألياف الضوئية في طباعة القماش: 5 خطوات

فيديو: أضواء الألياف الضوئية في طباعة القماش: 5 خطوات

فيديو: أضواء الألياف الضوئية في طباعة القماش: 5 خطوات
فيديو: المباحث يوضح كيف يراقبون هاتفك 2024, يوليو
Anonim
Image
Image
أضواء الألياف البصرية في طباعة قماش
أضواء الألياف البصرية في طباعة قماش

يضيف هذا المشروع دورانًا فريدًا على قماش طباعة قياسي. لقد قمت ببرمجة 4 أوضاع إضاءة مختلفة ولكن يمكنك بسهولة إضافة المزيد. يتم تغيير الوضع في كل مرة تقوم فيها بإيقاف تشغيله وإعادة تشغيله بدلاً من وجود زر منفصل لتقليل الضرر الذي يلحق بالإطار. يجب أن تدوم البطاريات أكثر من 50 ساعة من الاستخدام - لست متأكدًا حقًا ، لكنني أنشأت مشروعًا مشابهًا لصديق واستخدمت 5 أضعاف عدد الأضواء واستمرت أكثر من 20 ساعة على مجموعة واحدة من البطاريات.

المواد

  • طباعة قماشية بمساحة قابلة للتطبيق - لقد طلبت مني من https://www.easycanvasprints.com لأن لديهم أسعارًا جيدة وظهرًا مفتوحًا. كان الإطار الأكثر سمكًا 1.5 بوصة مثاليًا وأعطاني مساحة كبيرة لثني خيوط الألياف البصرية. بالإضافة إلى ذلك ، فأنت تريد صورة تمنحك 3 "× 8" من المساحة العملية لحزمة البطارية والمتحكم الدقيق وشرائط LED
  • أضواء شريطية LED - استخدمت شرائط WS2812 LED قابلة للعنونة. لا تخف ، فهي سهلة الاستخدام حقًا مع مكتبات FastLED أو Neopixel! يمكنك أيضًا استخدام أي شريط LED قياسي ، فلن تكون قادرًا على التحكم في كل قسم إضاءة على حدة دون المزيد من الأسلاك.
  • متحكم دقيق - لقد استخدمت Arduino Uno ولكن يمكنك استخدام أي شيء تقريبًا لهذا المشروع.
  • حزمة البطارية - طلبت هذا من eBay (من الصين) وكان بعنوان "حامل بطاريات خلية 6 × 1.5 فولت AA 2A CELL"
  • خيوط الألياف الضوئية - مرة أخرى ، تم طلبها من الصين على موقع eBay - "كبل الألياف البصرية البلاستيكي PMMA نهاية تنمو LED ضوء ديكور DIY" أو "PMMA End Glow Fiber Optic Cable for Star Ceiling Light Kit". لقد استخدمت مقاسين 1 مم و 1.5 مم ، أوصي بالفعل باستخدام أصغر من ذلك.
  • مفتاح التشغيل / الإيقاف - "SPDT On / On 2 Position Miniature Switches"
  • مشابك تنظيم الأسلاك - تساعد في الحفاظ على خيوط الألياف البصرية جيدة ومرتبة.
  • لوح فوم ، سلك موصل صلب صلب ، أنبوب انكماش حراري

أدوات

  • Dremel - تُستخدم لتداخل مفتاح التشغيل / الإيقاف في إطار الصورة. ربما يمكن تحقيق ذلك من خلال تمرين وقليل جدًا ، لكنني لا أوصي بذلك.
  • لحام الحديد - توصيل الأسلاك بشريط LED
  • مسدس الغراء الساخن - حرفيا كل خطوة من خطوات هذا المشروع
  • إبرة خياطة كبيرة - لثقب الثقوب من خلال القماش واللوح الرغوي للأضواء

الخطوة 1: لوح الرغوة ، حزمة البطارية ومفتاح التشغيل / الإيقاف

لوح فوم وحزمة بطارية ومفتاح تشغيل / إيقاف
لوح فوم وحزمة بطارية ومفتاح تشغيل / إيقاف
لوح فوم وحزمة بطارية ومفتاح تشغيل / إيقاف
لوح فوم وحزمة بطارية ومفتاح تشغيل / إيقاف

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

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

الغراء الساخن في مكانه. تأكد من توصيل حزمة البطارية جيدًا لأنها تتطلب قدرًا كبيرًا من القوة لإدخال / إزالة البطارية ولا تريد أن يذهب حامل البطارية إلى أي مكان.

الخطوة 2: متحكم ودائرة

متحكم ودائرة كهربائية
متحكم ودائرة كهربائية
متحكم ودائرة كهربائية
متحكم ودائرة كهربائية
متحكم ودائرة كهربائية
متحكم ودائرة كهربائية

أضع مفتاح الطاقة قبل Arduino UNO بحيث لا يستخدم أي شيء الطاقة من حزم البطاريات عند تبديل المفتاح. من المفترض أن يساعد هذا البطاريات في الاستمرار لأطول فترة ممكنة عندما لا يتم تشغيل المشروع. تشتهر لوحات Arduino بأنها سيئة في إدارة الطاقة - فهي تستخدم الكثير من التيار إذا تم تشغيلها حتى لو لم تفعل أي شيء بنشاط.

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

لقد استخدمت المقاوم بين إخراج البيانات وشريط LED لتنعيم الإشارة - بدون المقاوم قد تحصل على وميض عشوائي للبكسل. لا يهم حجم المقاوم حقًا ، يجب أن يعمل أي شيء يتراوح بين 50 و 400 درجة.

الخطوة الثالثة: مصابيح الألياف الضوئية

Image
Image
مصابيح الألياف الضوئية
مصابيح الألياف الضوئية
مصابيح الألياف الضوئية
مصابيح الألياف الضوئية

بعد بعض التجارب والخطأ ، وجدت في النهاية طريقة جيدة لتمرير خيوط الألياف الضوئية عبر اللوحة القماشية.

  1. استخدم أكبر إبرة خياطة لديك لعمل ثقب في الجزء الأمامي من القماش ولوح الرغوة. أوصي بدس كل ثقب تريده في البداية حتى تتمكن من قلبه ومعرفة أين يمكنك / لا يمكنك وضع مقاطع تنظيم الكابلات الخاصة بك
  2. خذ زوجًا من الكماشة ذات الأنف الإبرة وامسك بحبل الألياف الضوئية على بعد أقل من سنتيمتر واحد من النهاية
  3. أدخل شريط الألياف الضوئية في الفتحة التي صنعتها بإبرة
  4. قم بتوجيه الخيط عبر مشابك بلاستيكية مختلفة إلى حيث يكون أطول قليلاً من اللازم - سنقوم بقصه لاحقًا
  5. باستخدام مسدس الغراء الساخن الخاص بك على إعداد درجة الحرارة المنخفضة (إذا كان لديه هذا الخيار) ضع قطرة من الغراء الساخن على شريط الألياف الضوئية حيث ينتقل عبر لوح الرغوة. بالتناوب يمكنك استخدام تلك الأشياء الزرقاء مبتذل. يقوم الغراء الساخن بتشويه الخيط قليلاً ولكن لا يبدو أنه يعبث بالصفات البصرية كثيرًا
  6. قم بقص الشريط بعيدًا قليلاً عن القماش باستخدام قواطع الأسلاك.

لتسريع العملية ، يمكنك ثقب العديد من الألياف على التوالي قبل عمل الغراء الساخن. يجب أن تبقى بشكل عام في مكانها بمفردك.

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

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

استخدم أنابيب الانكماش الحراري للحفاظ على كل حزمة من خيوط الألياف البصرية معًا.

  1. قص خيوط الحزمة بنفس الطول تقريبًا
  2. ضع القسم من خلال أنابيب الانكماش الحراري
  3. استخدم مسدس حراري أو مكواة لحام لتقليصها. إذا كنت تستخدم مكواة لحام ، فقط دع جانب المكواة يلمس الأنبوب برفق وسيتقلص. لا ينبغي أن يذيب الأنبوب لأنه مصمم لقليل من الحرارة.

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

الخطوة 4: البرمجة

في برمجة هذا استخدمت ثلاث مكتبات

FastLED - مكتبة رائعة للتحكم في شرائط WS2812 LED (والعديد من شرائط LED الأخرى القابلة للعنونة) -

Arduino Low Power - لا أعرف مقدار الطاقة التي يوفرها هذا بالفعل ، ولكن كان من السهل جدًا تنفيذه ويجب أن يساعد في توفير قدر ضئيل من الطاقة على الوظيفة التي هي مجرد أضواء بيضاء ثم تأخير إلى الأبد.

EEPROM - يُستخدم لقراءة / تخزين الوضع الحالي للمشروع. يتيح ذلك للمشروع زيادة وضع الألوان في كل مرة تقوم فيها بإيقاف تشغيله وتشغيله مرة أخرى ، مما يلغي الحاجة إلى زر منفصل لتغيير الوضع. يتم تثبيت مكتبة EEPROM عندما تقوم بتثبيت Arduino IDE.

لقد استخدمت أيضًا رسمًا تخطيطيًا لتلألأ الأضواء التي أعدها شخص آخر. يضيء بشكل عشوائي بكسل من اللون الأساسي إلى اللون الذروة ثم يتراجع. https://gist.github.com/kriegsman/88954aae22b03a66… (يستخدم مكتبة FastLED أيضًا)

لقد استخدمت أيضًا المكون الإضافي vMicro لـ Visual Studio - هذه نسخة مكثفة من Arduino IDE. يحتوي على الكثير من وظائف الإكمال التلقائي المفيدة ويسلط الضوء على المشاكل في التعليمات البرمجية الخاصة بك دون الحاجة إلى تجميعها. يكلف 15 دولارًا ولكنه يستحق ذلك إذا كنت ستنشئ أكثر من مشروع Arduino ، وسيجبرك على التعرف على Visual Studio وهو برنامج قوي للغاية.

(أقوم أيضًا بإرفاق ملف code.ino لأن الاستضافة Instructable لـ Github Gist تدمر الكثير من المساحات الفارغة في الملف)

كود Arduino يعمل بأربعة أوضاع لونية على Arduino UNO لبعض أضواء الشريط WS2812B LED باستخدام مكتبة FastLED

#يشمل
#يشمل
#يشمل
// إعداد FastLED
# حدد NUM_LEDS4
# حدد PIN3 // دبوس البيانات لشريط LED
مصابيح CRGB [NUM_LEDS] ؛
// إعداد وميض
#defineBASE_COLORCRGB (2، 2، 2) // لون الخلفية الأساسي
#definePEAK_COLORCRGB (255 ، 255 ، 255) // ذروة اللون لتلمع حتى
// مقدار زيادة اللون من خلال كل حلقة عندما يصبح أكثر إشراقًا:
#defineDELTA_COLOR_UPCRGB (4، 4، 4)
// مقدار إنقاص اللون بواسطة كل حلقة حيث يصبح باهتًا:
#defineDELTA_COLOR_DOWNCRGB (4 ، 4 ، 4)
// فرصة كل بكسل يبدأ في السطوع.
// 1 أو 2 = عدد قليل من وحدات البكسل الساطعة في المرة الواحدة.
// 10 = سطوع الكثير من البكسل في المرة الواحدة.
# حدد CHANCE_OF_TWINKLE2
تعداد {SteadyDim، GettingBrighter، GettingDimmerAgain}؛
uint8_t PixelState [NUM_LEDS] ،
بايت runMode ؛
بايت globalBright = 150 ؛
بايت globalDelay = 20 ؛ // تأخير السرعة للتلألؤ
عنوان البايت = 35 ؛ // العنوان لتخزين وضع التشغيل
الإعداد باطل()
{
FastLED.addLeds (المصابيح ، NUM_LEDS) ،
FastLED.setCorrection (TypicalLEDStrip) ،
//FastLED.setMaxPowerInVoltsAndMilliamps (5 ، maxMilliamps) ؛
FastLED.setBrightness (globalBright) ،
// احصل على الوضع للتشغيل
runMode = EEPROM.read (العنوان) ،
// قم بزيادة وضع التشغيل بمقدار 1
EEPROM.write (العنوان ، runMode + 1) ؛
}
حلقة فارغة()
{
التبديل (runMode)
{
//صلبة بيضاء
الحالة 1: fill_solid (المصابيح ، NUM_LEDS ، CRGB:: White) ؛
FastLED.show () ،
DelayForever () ،
استراحة؛
// وميض نوعا ما ببطء
case2: FastLED.setBrightness (255) ؛
جلوبالديلاي = 10 ؛
TwinkleMapPixels () ،
استراحة؛
// وميض بسرعة
case3: FastLED.setBrightness (150) ؛
جلوبالديلاي = 2 ؛
TwinkleMapPixels () ،
استراحة؛
//قوس المطر
حالة 4:
RunRainbow () ؛
استراحة؛
// الفهرس خارج النطاق ، أعد تعيينه إلى 2 ثم قم بتشغيل الوضع 1.
// عند إعادة تشغيل اردوينو ، سيتم تشغيل الوضع 2 ، ولكن في الوقت الحالي ، قم بتشغيل الوضع 1
إفتراضي:
EEPROM.write (العنوان ، 2) ؛
runMode = 1 ؛
استراحة؛
}
}
voidRunRainbow ()
{
بايت * ج ؛
uint16_t أنا ، ي ؛
احيانا صحيح)
{
لـ (j = 0؛ j <256؛ j ++) {// 1 دورة من كل الألوان على العجلة
لـ (i = 0 ؛ i <NUM_LEDS ؛ i ++) {
ج = العجلة (((i * 256 / NUM_LEDS) + j) & 255) ؛
setPixel (i ، * c ، * (c + 1) ، * (c + 2)) ؛
}
FastLED.show () ،
تأخير (globalDelay) ؛
}
}
}
بايت * عجلة (بايت WheelPos) {
بايت ثابت ج [3] ؛
إذا (WheelPos <85) {
ج [0] = WheelPos * 3 ؛
ج [1] = 255 - WheelPos * 3 ؛
ج [2] = 0 ؛
}
elseif (WheelPos <170) {
WheelPos - = 85 ؛
ج [0] = 255 - WheelPos * 3 ؛
ج [1] = 0 ؛
ج [2] = WheelPos * 3 ؛
}
آخر {
WheelPos - = 170 ؛
ج [0] = 0 ؛
ج [1] = WheelPos * 3 ؛
ج [2] = 255 - WheelPos * 3 ؛
}
عودة ج ؛
}
voidTwinkleMapPixels ()
{
InitPixelStates () ،
احيانا صحيح)
{
لـ (uint16_t i = 0 ؛ i <NUM_LEDS ؛ i ++) {
إذا (PixelState == SteadyDim) {
// هذه البكسلات حاليًا: SteadyDim
// لذلك نحن بشكل عشوائي نفكر في جعلها تبدأ في أن تصبح أكثر إشراقًا
إذا (عشوائي 8 () <CHANCE_OF_TWINKLE) {
PixelState = GettingBrighter ؛
}
}
elseif (PixelState == GettingBrighter) {
// هذه البكسلات حاليًا: GettingBrighter
// لذلك إذا كان في ذروة اللون ، فقم بتبديله ليصبح باهتًا مرة أخرى
إذا (المصابيح > = PEAK_COLOR) {
PixelState = GettingDimmerAgain ،
}
آخر {
// خلاف ذلك ، فقط استمر في تفتيحه:
المصابيح + = DELTA_COLOR_UP ؛
}
}
آخر {// يصبح باهتًا مرة أخرى
// هذه البكسلات حاليًا: GettingDimmerAgain
// لذلك إذا عاد إلى اللون الأساسي ، فقم بتبديله إلى اللون الخافت الثابت
إذا (المصابيح <= BASE_COLOR) {
المصابيح = BASE_COLOR ؛ // إعادة التعيين إلى اللون الأساسي الدقيق ، في حالة تجاوزنا
PixelState = SteadyDim ؛
}
آخر {
/ / وإلا ، فقط استمر في التعتيم:
المصابيح - = DELTA_COLOR_DOWN ؛
}
}
}
FastLED.show () ،
FastLED.delay (globalDelay) ؛
}
}
voidInitPixelStates ()
{
memset (PixelState ، sizeof (PixelState) ، SteadyDim) ؛ // تهيئة جميع وحدات البكسل إلى SteadyDim.
fill_solid (المصابيح ، NUM_LEDS ، BASE_COLOR) ؛
}
voidDelayForever ()
{
احيانا صحيح)
{
تأخير (100) ؛
LowPower.powerDown (SLEEP_FOREVER، ADC_OFF، BOD_OFF) ،
}
}
voidshowStrip () {
FastLED.show () ،
}
voidsetPixel (int Pixel ، بايت أحمر ، بايت أخضر ، بايت أزرق) {
// FastLED
المصابيح [بكسل].r = أحمر ؛
المصابيح [بكسل].g = أخضر ؛
المصابيح [بكسل].b = أزرق ؛
}

عرض rawFiberOptic_ClemsonPic.ino مستضاف بواسطة ❤ بواسطة GitHub

الخطوة 5: المنتج النهائي

المنتج النهائي
المنتج النهائي
المنتج النهائي
المنتج النهائي
المنتج النهائي
المنتج النهائي

تا دا! آمل أن تلهم Instructable شخصًا آخر لإنشاء مشروع مماثل خاص به. لم يكن الأمر صعبًا حقًا وقد فوجئت بعدم قيام أحد بذلك وكتب تعليمات شاملة حول هذا الموضوع حتى الآن.

موصى به: