الجرس

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

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

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

بشكل عام، يمكن شراء هذه الإضاءة في شكل مكونات راديوية وتكوينها بشكل مستقل. ولكن، كما تبين الممارسة، فإن هذا يمكن مقارنته تقريبًا بالخيارات الجاهزة من PaintPack.

يتوفر طرازان رئيسيان: إصدار شاشة (30 مصباح LED) وإصدار تلفزيون (60 مصباح LED). يوجد أيضًا واحد بسيط جدًا - لـ 10 مصابيح LED، ولكنه مناسب فقط لأصغر الشاشات.

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

Mindrunway.ru

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

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


mysku.ru

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

  1. خلفية ثابتة - يمكن ضبط أي لون، ويمكن تعديل توهج LED.
  2. موسيقى ملونة - ستومض الإضاءة الخلفية بالتزامن مع صوت الموسيقى. تم ضبط لون الإضاءة الخلفية على اللون الأخضر والأصفر.
  3. الخلفية الديناميكية - تدفق سلس من لون إلى آخر.
  4. التقاط الشاشة هو الوضع الرئيسي للتشغيل.

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

يعمل برنامج PaintPack بشكل أبطأ قليلاً من نظيره الرسمي من Philips. ولكن مع الأخذ في الاعتبار الفرق في التكلفة وإمكانية ترقية أي جهاز، فإن الاختيار واضح.

مساء الخير.

بالنسبة لمقالتي الأولى، اخترت واحدة من أنجح الحرف اليدوية الخاصة بي: نظير HDMI-passthrough لـ Ambilight من Philips، ومن الآن فصاعدًا سأطلق على هذا التكوين اسم "Atmosvet".

مقدمة
ليس من الصعب جدًا العثور على حلول ومقالات جاهزة/مفتوحة على الإنترنت حول كيفية إنشاء Ambilight لشاشة/تلفزيون إذا كنت تعرض صورة من جهاز كمبيوتر. لكن في نظام الوسائط المتعددة الخاص بي، يستغرق إخراج الصور إلى التلفزيون من جهاز الكمبيوتر 5% فقط من وقت الاستخدام؛ وأنا ألعب معظم الوقت من خلال وحدات تحكم الألعاب، مما يعني أنه كان علي أن أبتكر شيئًا خاصًا بي.
البيانات الأولية:
  • تلفزيون بلازما 60 بوصة
  • HTPC يعتمد على Asrock Vision 3D 137B
  • اكس بوكس ​​360
تستخدم معظم الأجهزة HDCP لتشغيل المحتوى حتى أثناء اللعب.
متطلبات:
من الضروري توفير دعم Atmosvet المركزي لجميع الأجهزة المتصلة بالتلفزيون.
تطبيق
لن أخبرك كيف قمت بتوصيل شريط LED بطول 4.5 متر بالتلفزيون وما يجب فعله باستخدام Arduino، يمكنك استخدامه كقاعدة.

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

التقط صورة باستخدام كاميرا الويب
تم اختيار النسخة التجريبية الأولى لاختبار الفكرة وتصورها من خلال التقاط صورة عبر كاميرا الويب) وكانت تبدو كما يلي:

أظهر تجسيد الألوان المنخفض وزمن الوصول العالي أنه لا يمكن استخدام هذا التنفيذ بأي شكل من الأشكال.

التقاط الصور عبر HDMI

في عملية البحث عن الخيارات الممكنة، تم اختيار المخطط التالي باعتباره الأكثر موثوقية وفعالية من حيث التكلفة:

  • يتم تغذية الإشارة من جميع الأجهزة إلى محول HDMI 5in-1out الذي يدعم HDCP
  • يتم تغذية إشارة الإخراج إلى جهاز تقسيم HDMI 1in-2out، والذي لا يدعم HDCP فحسب، بل يقوم أيضًا بتعطيله عند الإخراج (بفضل الصينيين).
  • تذهب إحدى إشارات الإخراج إلى التلفزيون
  • يذهب الإخراج الآخر إلى محول HDMI إلى AV
  • تنتقل إشارة S-Video إلى صندوق الالتقاط من ICONBIT
  • يتم توصيل صندوق الالتقاط بجهاز HTCP الذي يعمل دائمًا عبر USB، وهو متصل بشريط تحكم Arduino الموجود على التلفزيون.

في البداية يبدو بريًا ويشبه العكازات، ولكن:

  • إنها تعمل.
  • بشكل عام، هذا الأمر برمته، الطلب من الصين، كلفني 3-4 آلاف روبل.

لماذا لم أستخدم لوحة التقاط HDMI؟ الأمر بسيط: الخيار الأرخص والأكثر سهولة هو Blackmagic Intensity Shuttle، لكنه لا يمكنه العمل مع إشارة 1080p/60 إطارًا في الثانية، فقط 1080p/30 إطارًا في الثانية - وهو أمر غير مقبول، لأن... لم أرغب في خفض معدل الإطارات حتى أتمكن من التقاط الصورة. + هذا الشيء يكلف حوالي 10 آلاف. روبل - وهي ليست رخيصة ونتيجة غير معروفة.

تعتبر الخسائر في تحويل HDMI إلى S-video ضئيلة عند التقاط الألوان بدقة 46 × 26 للإضاءة الخلفية LED.

في البداية، حاولت استخدام EasyCap لالتقاط S-video (يحتوي على العديد من الاختلافات الصينية)، ولكن النقطة المهمة هي أن الشريحة المستخدمة هناك سيئة للغاية ولا يمكن التعامل معها باستخدام openCV.

السلبية الوحيدة هي أن إشارة S-Video الناتجة تحتوي على خطوط سوداء عند الحواف، مما يؤدي إلى قطع المحتوى الحقيقي (حوالي 2-5%)، قمت بقطع الصورة الناتجة من لوحة الالتقاط لإزالة هذه الخطوط، وفقدان الصورة في تلك المجالات في الممارسة العملية لم تؤثر على النتيجة.

برمجة
بالنسبة لي كان الأكثر جزء مثير للاهتمام، لأن أنا لا أحب حقًا العبث بالأجهزة.

لالتقاط الصورة، استخدمت openCV وعلى وجه الخصوص ملف .NET الخاص بها emgu CV.

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

معالجة الإطار
1. استلام الإطار الملتقط
2. إطار المحاصيل للقضاء على الخطوط السوداء
كل شيء بسيط هنا:
frame.ROI = new Rectangle(8, 8,frame.Width - 8,frame.Height - 18 - 8);
قم بقص 8 بكسل من الأعلى و8 من اليمين و18 من الأسفل (لا يوجد شريط على اليسار).
3. دعونا نغير حجم الإطار إلى دقة الإضاءة الخلفية، ليست هناك حاجة لأن نحمل معنا صورة صحية
لا يوجد شيء معقد أيضًا، فنحن نفعل ذلك باستخدام openCV:
تغيير حجم الإطار (LedWidth - 2*LedSideOverEdge،
LedHeight - LedBottomOverEdge - LedTopOverEdge،
INTER.CV_INTER_LINEAR);
وسيلاحظ القارئ اليقظ كثرة المتغيرات. الحقيقة هي أن إطار التلفزيون الخاص بي كبير جدًا، حيث يشغل 1 LED على الجوانب، و1 في الأعلى و3 في الأسفل، لذا يتم تغيير الحجم على مصابيح LED الموجودة قبالة الشاشة مباشرةً، ونضيف الزوايا لاحقًا . عند تغيير الحجم، نحصل فقط على متوسط ​​الألوان التي يجب أن تحتوي عليها وحدات البكسل LED.
4. نقوم بتعيين مصابيح LED من الإطار المشذب
حسنًا ، هنا أيضًا كل شيء بسيط ، فنحن نسير بغباء على طول كل جانب ونملأ بشكل متتابع مجموعة من 136 قيمة بلون مصابيح LED. يحدث أنه في الوقت الحالي يكون تنفيذ جميع العمليات الأخرى أسهل باستخدام مجموعة من مصابيح LED مقارنة بالإطار، وهو أمر أكثر صعوبة في المعالجة. أيضًا، بالنسبة للمستقبل، أضفت معلمة لـ "عمق" الالتقاط (عدد البكسلات من حدود الشاشة، لمتوسط ​​لون مؤشر LED)، ولكن في الإعداد النهائي، اتضح أنه أفضل بدونها.
5. إجراء تصحيح الألوان (توازن اللون الأبيض/توازن الألوان)
الجدران خلف التلفزيون مصنوعة من الخشب، والخشب أصفر اللون، لذا أحتاج إلى تعويض الصفرة.
فار الأزرق = 255.0f/(255.0f + blueLevelFloat)*pixelBuffer[k];
فار جرين = 255.0f/(255.0f + greenLevelFloat)*pixelBuffer;
var red = 255.0f/(255.0f + redLevelFloat)*pixelBuffer;
بشكل عام، أخذت في البداية توازن الألوان من الكود المصدري لبعض المحررين مفتوحي المصدر، لكنه لم يتغير إلى اللون الأبيض (ظل اللون الأبيض أبيضًا)، لقد غيرت الصيغ قليلاً، وأخطأت في الكتابة، وحصلت على ما أحتاجه بالضبط: إذا مستوى مكون اللون سلبي (أفهم كيف - هذا اللون مفقود)، ثم نضيف شدته والعكس صحيح. بالنسبة لجدراتي اتضح: RGB(-30,5,85).

في تصحيح الألوان، أقوم أيضًا بموازنة مستوى اللون الأسود (يأتي اللون الأسود في مكان ما حول 13،13،13 في RGB) عن طريق طرح 13 ببساطة من كل مكون.

6. إجراء إزالة التشبع (تقليل تشبع الصورة)
في الإعداد النهائي، لا أستخدم إزالة التشبع، ولكن قد يكون ذلك ضروريًا في مرحلة ما، في الواقع يجعل الألوان أكثر "باستيل"، مثل Philips Ambilight. لن أعطي الكود، نحن فقط نقوم بالتحويل من RGB -> HSL، وتقليل مكون التشبع والعودة إلى RGB.
7. ديفليكر
يحدث أن الصورة المدخلة "تهتز" - وهذا نتيجة للتحويل إلى إشارة تناظرية، كما أعتقد. في البداية حاولت حل المشكلة بطريقتي الخاصة، ثم نظرت إلى مصادر مرشح Defliker المستخدم في VirtualDub، وأعدت كتابته في C# (كان في C++)، أدركت أنه لا يعمل، لأنه مثير للإعجاب للغاية أنه يعاني من الخفقان بين الإطارات، وفي النهاية، قمت بدمج الحل الخاص بي ومزيل الوميض هذا وحصلت على شيء غريب، لكنه كان يعمل بشكل أفضل من المتوقع. يعمل مزيل الوميض الأصلي فقط مع شدة الإطار بأكمله؛ وأحتاج إلى كل مصباح LED على حدة. قارن مزيل الوميض الأصلي تغير الكثافة كمجموع، أفضل مقارنة طول ناقل اللون قارن مزيل الوميض الأصلي دلتا تغير الشدة مقارنة بالإطار السابق، وهذا غير مناسب، وقمت بتغييره إلى متوسط ​​الكثافة. القيمة داخل نافذة الإطارات السابقة. وهناك العديد من الأشياء الصغيرة الأخرى، ونتيجة لذلك لم يتبق سوى القليل من جهاز الوميض الأولي.
الفكرة الرئيسية: بناءً على متوسط ​​كثافة الإطارات السابقة، قم بإجراء تعديل على الإطار الحالي إذا لم تكن شدته أعلى من عتبة معينة (لدي هذه العتبة في الإعداد النهائي وهي 25)، إذا تم التغلب على العتبة، إذن يتم إعادة تعيين النافذة، دون تعديل.
رمز تم تعديله قليلاً (لسهولة القراءة خارج السياق) من جهاز Deflicker الخاص بي:
Array.Copy(_leds, _ledsOld, _leds.Length);< _leds.Length; i++) { double lumSum = 0; // Calculate the luminance of the current led. lumSum += _leds[i].R*_leds[i].R; lumSum += _leds[i].G*_leds[i].G; lumSum += _leds[i].B*_leds[i].B; lumSum = Math.Sqrt(lumSum); // Do led processing var avgLum = 0.0; for (var j = 0; j < LedLumWindow; j++) { avgLum += _lumData; } var avg = avgLum/LedLumWindow; var ledChange = false; if (_strengthcutoff < 256 && _lumData != 256 && Math.Abs((int) lumSum - avg) >ل (فار ط = 0؛ ط< LedLumWindow; j++) { _lumData = (int) lumSum; } } else { for (var j = 0; j < LedLumWindow - 1; j++) { _lumData = _lumData; } _lumData = (int) lumSum; if (lumSum >0) ( مقياس = 1.0f/((avg+lumSum)/2); var filt = 0.0f; for (var j = 0; j< LedLumWindow; j++) { filt += (float) _lumData/LedLumWindow; } scale *= filt; } // Adjust the current Led. r = _leds[i].R; g = _leds[i].G; b = _leds[i].B; // save source values var sr = r; var sg = g; var sb = b; var max = r; if (g >ماكس) ماكس = ز؛< _softening) { if (diffR >إذا (ب > الحد الأقصى) الحد الأقصى = ب؛< _softening) { if (diffG >مزدوج ق.< _softening) { if (diffB >إذا (المقياس*الحد الأقصى > 255) s = 255.0/الحد الأقصى؛
آخر ق = مقياس؛

ص = (int)(s*r);

ز = (كثافة العمليات) (س*ز)؛
ب = (int) (s*b);
// احتفظ بالتمييز المزدوج k؛< _ledsOld.Length; i++) { var r = 0; var g = 0; var b = 0; for (var rad = -_smoothRadius; rad <= _smoothRadius; rad++) { var pos = i + rad; if (pos < 0) { pos = _ledsOld.Length + pos; } else if (pos >إذا (sr > _lv) ( k = (sr - _lv)/(مزدوج) (255 - _lv); r = (int) ((k*sr) + ((1.0 - k)*r)); ) إذا ( sg > _lv) ( k = (sg - _lv)/(مزدوج) (255 - _lv); g = (int) ((k*sg) + ((1.0 - k)*g)); ) إذا (sb > _lv) ( k = (sb - _lv)/(مزدوج) (255 - _lv)؛ b = (int) ((k*sb) + ((1.0 - k)*b)); ) _leds[i] = اللون .FromArgb(r, g, b);
9. احفظ الحالة الحالية حتى يلتقطها خيط إرسال الحزمة ويرسلها إلى وحدة التحكم في الإضاءة الخلفية.
لقد فصلت عمدا عملية معالجة الإطارات وإرسال الحزم إلى وحدة التحكم: يتم إرسال الحزم مرة واحدة في فترة زمنية معينة (بالنسبة لي هي 40 مللي ثانية) حتى يتمكن Arduino من معالجة الحزم السابقة، لأنه في كثير من الأحيان يختنق أكثر من 30 مللي ثانية، لذلك يتحول من الواضح أننا لا نعتمد بشكل مباشر على التقاط معدل الإطارات ولا نتدخل في هذه العملية (لكن إرسال الحزمة يضيع الوقت أيضًا).
قليلا عن اردوينو
لا يمكنك فقط أخذ وإرسال حزمة ضخمة عبر السلسلة إلى Arduino، لأنها ستتجاوز المخزن المؤقت HardwareSerial الافتراضي وستفقد نهايتها.
يمكن حل هذه المشكلة بكل بساطة: اضبط حجم المخزن المؤقت HardwareSerial على حجم كبير بما يكفي ليناسب الحزمة المرسلة بأكملها مع مجموعة من الألوان؛ بالنسبة لي، يبلغ 410.
واجهة المستخدم
تم تنفيذ البرنامج نفسه كخدمة فوز، لتكوين جميع المعلمات + تمكين/تعطيل، قمت بإنشاء واجهة مستخدم ويب تتواصل مع الخدمة عبر WebService على الخدمة. تبدو الواجهة النهائية على شاشة الهاتف المحمول كما يلي:
نتيجة
في النهاية، حققت النتيجة كل التوقعات، والآن عندما ألعب الألعاب على وحدات التحكم، أصبح أكثر انغماسًا في أجواء اللعبة.

كنتيجة عامة للعمل قمت بتسجيل فيديو مع ضوء الجو يعمل حسب مخططي:

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

نموذج اختبار 2: بعض مقاطع الفيديو من MLP المسربة من اليوتيوب مناسبة جدًا لاختبار المشاهد ذات الألوان الزاهية (أعجبتني الخطوط) وكذلك المشاهد المتغيرة بسرعة (في نهاية الفيديو يمكنك رؤية تأثيرات التأخير ، مرئي فقط في الفيديو، عندما لا يكون هذا ملحوظًا في المشاهدة الحقيقية، حاولت قياس التأخير باستخدام الفيديو - وتبين أنه يتراوح بين 10-20 مللي ثانية):

وأخيرًا، تجدر الإشارة إلى استهلاك الموارد من HTPC:
HTPC لدي ASRock Vision 3D على i3، وتستهلك خدمة الإضاءة الجوية 5-10٪ من وحدة المعالجة المركزية وذاكرة الوصول العشوائي (RAM) سعة 32 ميجابايت.

شكرًا لك على اهتمامك، وآمل حقًا أن تساعد مقالتي شخصًا ما.

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

إذن ما نحتاجه:
- شريط رقمي يعتمد على وحدة التحكم WS2801 الجديدة. يكفي شريط واحد (25 مصباح LED) لشاشة متوسطة عادية. تبلغ المسافة بين وحدات RGB حوالي 10 سم بالنسبة للتلفزيون الكبير، قد تحتاج إلى شريطين من هذا القبيل
- مصدر طاقة ثابت 5 فولت لتشغيل RGB LED. يجب تحديد الحد الأقصى لتيار مصدر الطاقة بناءً على استهلاك الطاقة لوحدات RGB LED. إذا تم استخدام شريط واحد (25 RGB LED)، فستكون هناك حاجة إلى تيار مصدر الطاقة 1.5 أمبير، إذا كان هناك شريطين، ثم 3 أمبير، على التوالي.
- وحدة تحكم Arduino والموصلات والأشياء الصغيرة الأخرى.

لتسهيل الاتصال بـ Arduino وPSU باستخدام الشريط، تم إجراء تعديلات طفيفة. بالنسبة لخطوط البيانات والساعة الخاصة بالشريط، تم لحام الموصلات المتصلة بحيث يمكن إدخالها بشكل آمن في موصلات Arduino. لتوصيل مصدر الطاقة، تم لحام الموصل. تم لحام أرضية مشتركة من الموصل إلى Arduino. في الصورة أدناه، أعتقد أن كل شيء واضح تماما:

في الأردوينو، تم استخدام الطرف الثالث عشر للساعة، والدبوس الحادي عشر للبيانات. بالإضافة إلى ذلك، لا تنس "الأرض".

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

بعد ذلك، تحتاج إلى توزيع 25 مصباح LED RGB بشكل متساوٍ. حصلت على مسافة بين المصابيح حوالي 50 ملم.

عند عمل القالب، لا تسد فتحات التهوية الموجودة على الشاشة، إن وجدت.

بعد توصيل جميع وحدات البكسل RGB LED، كل ما تبقى هو توصيل وحدة تحكم Arduino. الشريط على الوجهين هو الأنسب لهذه الأغراض. نقوم بتوصيل كابل USB بـ Arduino ومصدر الطاقة 5V بشريط RGB LED.

برمجة

يمكنك تنزيل جميع البرامج الضرورية من GitHub. يوجد في مجلد Arduino->LEDstream رسم تخطيطي لـ Arduino. تجميعها وتحميله في وحدة التحكم.

يستخدم الكمبيوتر برنامجًا لـ Processing IDE، والذي يجب تنزيله وتثبيته بشكل منفصل (يجب عدم الخلط بينه وبين معالجة Arduino!). إذا لم يكن التكوين الخاص بك يحتوي على 25 مصباح RGB LED، فسيلزم إجراء تغييرات على الرسم. تحتاج أيضًا إلى تحديد منفذ COM الذي تتصل به وحدة تحكم Arduino لنقل البيانات (انظر لقطة الشاشة أدناه).

يعمل البرنامج على النحو التالي: بعد الإطلاق، يعمل البرنامج في الخلفية ويلتقط لقطات شاشة للشاشة باستمرار ويحلل ألوان النقاط الفردية حول المحيط. ثم يقوم بحساب متوسط ​​اللون للنقاط وينقل البيانات إلى وحدة تحكم Arduino. ولا يهم ما يتم تشغيله على الكمبيوتر - مشغل وسائط، أو متصفح به مقطع فيديو من YouTube، أو أي شيء آخر.

لن نأخذ في الاعتبار رمز البرنامج، لأن... لقد تم التعليق عليه بشكل جيد. بالمناسبة، يوجد في مجلد Colorswirl مثال صغير للرسم التجريبي الذي يتم عرضه مصابيح LED RGBقوس قزح.
قد لا تتمكن بعض الأجهزة القديمة من التعامل مع الحمل (على سبيل المثال، الذرات الأولى على أجهزة الكمبيوتر المحمولة)، لأنه يتم التقاط لقطات الشاشة باستمرار. في هذه الحالة، يمكن أن يساعد تقليل الدقة، على سبيل المثال 800 × 600.

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

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

بالنسبة للمبتدئين، فيديو قصير للنتيجة.


في الوقت الحالي - تعمل الإضاءة الخلفية بشكل أكثر روعة - في الإعدادات، أقوم بتعيين سطوع أعلى ومعدل تحديث أعلى، الآن في أفلام الحركة أو المشاهد في النادي (عندما تكون هناك ومضات قوية في الإطار) - ينفجر الجدار بأكمله ببساطة ضوء

كيف تم ذلك كان بسيطًا جدًا:
+
+
+
قليل من الشجاعة=
محيط

بمزيد من التفاصيل حول النقاط:
1 كان لدي مالينكا بالفعل في ذلك الوقت. اشتريتها من هناك على أمازون، لكنني أعتقد أن الأصل لا يلعب دورًا هنا - اللوحة موحدة ويمكنك شراؤها في أي مكان على الإطلاق - الشيء الرئيسي هو أنني لا أوصي بشراء لوحة مستعملة. بعد بعض الوقت من التشغيل بأقصى تردد دون مشعات إضافية، بدأ خلل. أرجع الأمر إلى ارتفاع درجة الحرارة، لكن من الممكن أيضًا أن يكون مجرد عيب في التصنيع. توت العليق حساس للغاية لمصدر الطاقة، لذا قم على الفور بتخزين مصدر طاقة عادي بمستوى منخفض من التموج... (وبالتالي لا يتدلى تحت الحمل)
2 الشريط الفعلي. أعتقد أنه يعمل بشكل جيد في الفيديو. لا يوجد شيء خاص في الشريط نفسه؛ لقد قمت بقطع القطع بحيث يكون هناك ما يكفي لثلاثة جوانب من التلفزيون. لقد قمت بلحام الانحناءات بقطع من الأسلاك (في البداية قمت بإجراء الاتصال بالموصلات، لكنني سرعان ما انزعجت من وجود قطع طويلة من الأسلاك - لقد قطعت كل شيء ولحامته إلى قطع صغيرة)
3 برنامج هايبريون المبتكر. تم تثبيته على Raspberry (لدي الوسائط المتعددة OpenElec كنظام تشغيل خاص بي) وفقًا لتعليمات البلهاء. حتى أنني حصلت على حق في المرة الأولى. أثناء التشغيل، فإنه يلتقط بغباء بيانات الألوان من حواف الشاشة، ويبلغ متوسطها ويرسل إشارات التحكم إلى شريط LED. يومض الشريط بكل ألوان قوس قزح، ويسعد الجمهور. أثناء التشغيل، عند تشغيل FullHD بوزن 30 جيجا، يكون الحمل الإضافي على النسبة المئوية 5-10٪. لا يؤثر على السرعة بأي شكل من الأشكال.

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

حسنًا، من أجل الالتزام بسياسة MySKU، يجب مراجعة الأجزاء نفسها:
شريط LED - تمت مراجعته عدة مرات. حصلت بالضبط على نفس الشيء. جيد جدًا. الجودة ممتازة. يعرض، إذا أسعفت الذاكرة، 16 مليون لون. لم أحسبها بالضبط. يتطلب طاقة إضافية - لقد علقت علامة زائد ناقص على كتلة 5V 2A - أكثر من كافية لمسافة 2 متر. أعتقد أنها ستكون كافية لثلاثة أشخاص، لكنني لن أضمن ذلك. لقد قمت بتوصيل جهات اتصال التحكم بـ GPIO الخاص بالتوت.

Malinka هو كمبيوتر لوحي واحد. ولا يراها إلا الكسالى. إنه شيء رائع لإتقان أساسيات Linux ولإنشاء مركز وسائط بسيط ومرن. بالنسبة لي اتضح الخيار المثالي: يقوم بالتمرير عبر أي محتوى متاح لي، ويعمل كمستقبل لعرض تلفزيون الإنترنت، ويتظاهر بأنه متلقي إشارة AirPlay عندما أرغب في تشغيل شيء ما من هاتف أو كمبيوتر محمول. شيء رائع - 3 واط والكثير من المرح + دعم HDMI CEC خارج الصندوق - يتم التحكم في كل شيء من جهاز التحكم عن بعد الخاص بالتلفزيون الأصلي.

وأخيرًا، تابعوا مقطع فيديو آخر:

قبل يومين، قررت أن أصنع المزيد من الديموفيدوس، بالفعل في شقة جديدة.

لون الجدار فستقي، لم أغير الإعدادات ولن أفعل. وبالتالي فإن الألوان تميل إلى اللون الأخضر قليلاً. أعجبني ولا يهمني رأيك)

أخطط لشراء +69 أضف إلى المفضلة اعجبني الاستعراض +16 +48

الجرس

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