جدول المحتويات:
- الخطوة الأولى: استكشاف الفكرة
- الخطوة 2: الأجهزة
- الخطوة 3: التجميع
- الخطوة 4: التحكم؟
- الخطوة الخامسة: تسهيل الأمر
- الخطوة 6: التجارب الأولى
- الخطوة 7: التحكم في الوقت الحقيقي
- الخطوة 8: الاستنتاجات
فيديو: الضوء المحيط التفاعلي: 8 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:42
هذا هو أول تدريب لي! من فضلك تحملني بينما أجد صعوبة في كتابة اللغة الإنجليزية الصحيحة. لا تتردد في تصحيح لي! لقد بدأت هذا المشروع بعد بدء مسابقة "Let it glow" مباشرة. كنت أتمنى لو كنت قد حققت الكثير وأنهيت ما أردت القيام به. لكن بين المدرسة والعمل ، لم يكن لدي الكثير من الوقت كما كنت أتمنى. ومع ذلك ، أترك هنا تقريرًا عن تجاربي كإرشادات ، حتى يتمكن أي شخص من محاولة القيام بما فعلته. لا يُقصد بهذه التعليمات أن تكون بمثابة دليل وتعليم كيفية صنع هذه الأداة الغريبة. إنه ليس دليلًا للمبتدئين في مجال الإلكترونيات. إنه أشبه بمشاركة فكرة وهدف واحد أرغب في متابعته. إذا كنت مبتدئًا / جاهلًا تمامًا في مجال الإلكترونيات وترغب في صنع شيء كهذا ، فأنا آسف! لكن يمكننا أن نحاول مساعدتك دائمًا. انظر الخطوة الأخيرة. لقد رأينا بالفعل العديد من مشاريع الإضاءة المحيطة. يستخدم معظمهم RGB LEDs: - لإضاءة غرفة بلون واحد ، وإعداد جو يناسب حالتك المزاجية - لإنشاء تأثيرات ضوئية من لون التلفزيون / الشاشة أو من الصوت. حتى أن هناك عددًا قليلًا منها في موقع تعليمات. كنت أرغب دائمًا في صنع شيء مشابه لهذه الأضواء المحيطة وملء الجدران في غرفتي بمصابيح RGB LED. ولكن ، اتخاذ خطوة إلى الأمام ، مما يجعل كل واحد منهم قابلاً للتحكم. نأمل أن ينتج هذا المشروع عن مجموعة إلكترونيات مفتوحة المصدر للهواة والمبدعين الإلكترونيين ، مما يسمح باختراق الأجهزة / البرامج والتكامل الحسي. هذه معاينة صغيرة لما صنعته:
الخطوة الأولى: استكشاف الفكرة
أريد أن أكون قادرًا على ملء الجدران في غرفتي بمصابيح RGB LED ، والتحكم في اللون والسطوع لكل مصباح ، وسأستخدم متحكمًا دقيقًا لسهولة الاستخدام والمرونة المتوفرة. لسوء الحظ ، لا يمكنني التحكم في مئات مصابيح LED باستخدام المسامير القليلة المتوفرة في وحدات التحكم الدقيقة. سيكون من الصعب أيضًا ترميز التحكم في العديد من مصابيح LED. لذلك قررت أنه يجب أن أقسم جميع مصابيح LED في عدة أشرطة أصغر ولكل شريط يمكنني استخدام متحكم دقيق. ثم سأستخدم قدرات الاتصال الخاصة بالميكروكونترولر لمشاركة المعلومات بينهم. يمكن أن تكون هذه المعلومات هي لون وسطوع مصابيح LED وأنماط / تسلسل الألوان والمعلومات الحسية لكل شريط قررت استخدام 16 RGB LEDs. ينتج عن هذا شريط ليس كبيرًا جدًا ولا صغيرًا. بهذه الطريقة ، أستخدم عددًا مقبولًا من الموارد لكل مصباح LED ، مما يقلل من تكاليف كل شريط. ومع ذلك ، فإن 16 مصباحًا RGB LED عبارة عن 48 مصباحًا (3 * 16 = 48) للتحكم الدقيق في التحكم ، مع وضع التكاليف في الاعتبار ، قررت استخدام أرخص متحكم يمكنني استخدامه. هذا يعني أن المتحكم الدقيق سيحتوي فقط على ما يصل إلى 20 دبوس إدخال / إخراج ، وهذا لا يكفي لـ 48 LED. لا أرغب في استخدام charlieplexing أو نوعًا من محرك تقسيم الوقت ، لأن الهدف من المشروع هو إضاءة الغرفة فقط. البديل الذي يمكنني التفكير فيه هو استخدام نوع من سجل التحول المغلق! استئناف: - إنشاء وإضاءة محيطة تفاعلية - إنشاء شريط قياسي لمصابيح LED يمكن التحكم فيها - إمكانية توصيل عدة أشرطة لملء غرفة - السماح للمستخدم بالتكيف / التكوين والتكامل الحسي
الخطوة 2: الأجهزة
كما قيل في الخطوة السابقة ، أرغب في عمل عدة أشرطة لإضاءة غرفة واحدة. هذا يعيد إلى الأذهان قضية التكلفة. سأحاول أن أجعل كل شريط الطريقة الأكثر فعالية من حيث التكلفة الممكنة. كان المتحكم الدقيق الذي استخدمته هو AVR ATtiny2313. هذه رخيصة نوعًا ما وكان لدي القليل من الكذب. يحتوي ATtiny2313 أيضًا على واجهة تسلسلية عالمية وواجهة USART واحدة ستستخدم جيدًا في الخطوات التالية. كان لدي أيضًا ثلاثة موسع منفذ MCP23016 - I2C 16bit I / O موجود ، فقط العدد الصحيح! لقد استخدمت كل موسع منفذ للتحكم في لون واحد من 16 مصباحًا. المصابيح … لسوء الحظ ، كانت أرخص ما يمكن أن أجده. هم 48 أحمر وأخضر وأزرق ~ 10000mcd 5 مم بزاوية 20 درجة. لا ينبغي أن يكون هذا مهمًا في الوقت الحالي ، لأن هذا نموذج أولي واحد فقط. على الرغم من هذه الحقيقة ، فإن النتيجة جيدة جدًا! أقوم بتشغيل الميكروكونترولر بسرعة 8 ميجا هرتز. يتم تسجيل الحافلة I2C بسرعة 400 كيلو هرتز. يبلغ تردد تبديل LED حوالي 400 هرتز. بهذه الطريقة ، إذا كنت قادرًا على قيادة 48 مصباحًا بدون دفعه إلى الحد الأقصى ، فسأكون متسعًا للمزيد لاحقًا!
الخطوة 3: التجميع
بعد تصميم الدائرة ، قمت ببنائها في عدة ألواح تجارب ، لأغراض صنع النماذج الأولية. بعد عدة ساعات من قطع الأسلاك وتجميع الدائرة ، حصلت على هذه النتيجة: لوح تجارب عملاق يحتوي على 48 مصباحًا وأطنانًا من الأسلاك!
الخطوة 4: التحكم؟
هذا هو الجزء الأكثر تحديًا في المشروع ، أردت أن أجعل خوارزمية تحكم واحدة عامة بما يكفي للتعامل مع الأنماط / التسلسلات وأيضًا التحكم في سطوع ولون كل LED. للتحكم في المصابيح ، يجب أن أرسل إلى MCP23016 إطار واحد من 4 بايت (1 بايت = 8 بت). بايت واحد مع عنوان IC المطابق للون ، 1 بايت مع الأمر "كتابة" و 2 بايت بقيمة 16 بت (LEDs). IC متصل بمصابيح LED كـ "حوض" ، مما يعني أن قيمة منطقية واحدة 0 عند الدبوس ستضيء مؤشر LED. والآن الجزء الصعب ، كيف نجعل التحكم في PWM لـ 48 LED؟ دعنا ندرس PWM لمصباح LED واحد! أوضح PWM @ Wikipedia. إذا كنت أرغب في سطوع LED بنسبة 50 ٪ ، فإن قيمة PWM الخاصة بي هي 50 ٪. هذا يعني أن مؤشر LED ، في فترة زمنية واحدة ، يجب أن يكون في نفس مقدار الوقت الذي يكون فيه إيقاف التشغيل. لنأخذ فترة ثانية واحدة. PWM بنسبة 50٪ تعني أنه في هذه الثانية ، يكون وقت التشغيل 0.5 ثانية ووقت الإيقاف 0.5 ثانية. PWM 80٪؟ 0.2 ثانية قبالة ، 0.8 ثانية في! سهل ، صحيح؟ في العالم الرقمي: مع فترة من 10 دورات على مدار الساعة ، يعني 50٪ أنه لمدة 5 دورات ، يكون مؤشر LED قيد التشغيل ، ولمدة 5 دورات أخرى ، يكون مؤشر LED مطفأ. 20٪؟ دورتان تشغيل ، 8 دورات إيقاف. 45٪؟ حسنًا ، لا يمكننا حقًا الحصول على 45٪ … نظرًا لأن الفترة هي في دورات ولدينا 10 دورات فقط ، يمكننا فقط تقسيم PWM بخطوات من 10٪ ، وهذا يعني أن تطور الدبوس يجب أن يكون ، بالنسبة لـ 50٪: 1 ، 1 ، 1 ، 1 ، 1 ، 0 ، 0 ، 0 ، 0 ، 0 ؛ أو حتى 1 ، 0 ، 1 ، 0 ، 1 ، 0 ، 1 ، 0 ، 1 ، 0 ؛ في البرمجة يمكننا أن نجعل هذا التسلسل من تشغيل وإيقاف مجموعة. لكل دورة نخرج إلى الدبوس قيمة الفهرس كانت هي الدورة.: 1 ، 1 ، 1 ، 1 ، 1 ، 0 ، 0 ، 0 ، 0 ، 0 ؛ لقيادة دبوس LED1: 2 ، 2 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ؛ الناتج في LED0 + LED0: 3 ، 3 ، 1 ، 1 ، 1 ، 0 ، 0 ، 0 ، 0 ، 0 ؛ بإخراج هذا التسلسل من الأرقام في IC موسع المنفذ ، سنحصل على LED0 مع سطوع 50٪ و LED1 بنسبة 20٪ !! بسيطة لمصابيح LED ، أليس كذلك؟ الآن علينا أن نجعل هذا لـ 16 LED ، لكل لون! لكل واحدة من هذه المصفوفات ، لدينا مزيج من السطوع لكل لون (16 LED) في كل مرة نريد مجموعة أخرى من الألوان ، علينا تغيير هذه المجموعة.
الخطوة الخامسة: تسهيل الأمر
الخطوة السابقة تتطلب الكثير من العمل لعمل تسلسل بسيط … لذلك قررت عمل برنامج ، حيث نخبر ألوان كل LED في خطوة واحدة من التسلسل ونحصل على المصفوفات الثلاثة للخطوة. لقد صنعت هذا البرنامج في LabView بسبب ضيق الوقت.
الخطوة 6: التجارب الأولى
قم بتحميل عدة خطوات في وحدة التحكم الدقيقة ونحصل على شيء مثل هذا: آسف على الجودة الرديئة لمقاطع الفيديو! لقد حددت الحد الأقصى لعدد خطوات التسلسل إلى 8 ، وقصرت PWM على 20٪ قفزات. يعتمد هذا القرار على نوع التحكم الذي أستخدمه ومقدار EEPROM الذي يمتلكه ATtiny2313. في هذه التجارب ، حاولت معرفة نوع التأثيرات التي يمكنني إجراؤها ، ويجب أن أقول إنني سعيد بالنتيجة!
الخطوة 7: التحكم في الوقت الحقيقي
كما هو مذكور في الخطوات السابقة ، أرغب في التواصل مع جميع المتحكمات الدقيقة التي تتحكم في مصابيح LED في غرفتي. لذلك استخدمت واجهة USART المتوفرة في ATtiny2313 وقمت بتوصيلها بجهاز الكمبيوتر الخاص بي. لقد صنعت أيضًا برنامجًا في LabView للتحكم في شريط LED. في هذا البرنامج ، يمكنني إخبار المتحكم الدقيق بطول التسلسل ولون كل LED والوقت بين خطوات التسلسل. شرح كيف يمكنني تغيير لون المصابيح وتحديد التسلسلات.
الخطوة 8: الاستنتاجات
أعتقد أنني كنت ناجحًا في هذا النهج الأول لمشروعي. أنا قادر على التحكم في 16 مصباح RGB LED بقليل من الموارد والقيود. من الممكن التحكم في كل LED بشكل منفصل ، وإنشاء أي تسلسل مرغوب فيه.
العمل المستقبلي:
إذا تلقيت ردود فعل إيجابية من الناس ، فقد أطور هذه الفكرة بشكل أكبر وأن أصنع مجموعة أدوات إلكترونية كاملة ، مع لوحات الدوائر المطبوعة وتعليمات التجميع.
بالنسبة للإصدار التالي الخاص بي ، سأقوم بما يلي: -تغيير وحدة التحكم الدقيقة إلى وحدة تحكم أخرى باستخدام ADC -تغيير MCP23016 لنوع آخر من التسلسلي-المتوازى-الخارج الذي يمكن أن يغرق أكثر من مصابيح LED -جعل برنامج مفتوح المصدر للتواصل مع المتحكم الدقيق و السيطرة على المصابيح - تطوير الاتصال بين عدة ميكروكنترولر.
هل لديك اي اقتراح او سؤال؟ او اترك تعليقا!
المتأهل للتصفيات النهائية في Let It Glow!
موصى به:
Arduino Nano - TSL45315 البرنامج التعليمي لمستشعر الضوء المحيط: 4 خطوات
Arduino Nano - TSL45315 البرنامج التعليمي لمستشعر الإضاءة المحيطة: TSL45315 هو مستشعر رقمي للضوء المحيط. إنه يقترب من استجابة عين الإنسان في ظل مجموعة متنوعة من ظروف الإضاءة. تحتوي الأجهزة على ثلاث أوقات تكامل قابلة للتحديد وتوفر إخراجًا مباشرًا يبلغ 16 بت لوكس عبر واجهة ناقل I2C. شارك الجهاز
Raspberry Pi - TSL45315 مستشعر الضوء المحيط برنامج جافا التعليمي: 4 خطوات
Raspberry Pi - TSL45315 مستشعر الإضاءة المحيطة برنامج Java التعليمي: TSL45315 هو مستشعر رقمي للضوء المحيط. إنه يقترب من استجابة عين الإنسان في ظل مجموعة متنوعة من ظروف الإضاءة. تحتوي الأجهزة على ثلاث أوقات تكامل قابلة للتحديد وتوفر إخراجًا مباشرًا يبلغ 16 بت لوكس عبر واجهة ناقل I2C. شارك الجهاز
Raspberry Pi - BH1715 مستشعر الضوء المحيط الرقمي Python التعليمي: 4 خطوات
Raspberry Pi - BH1715 برنامج Python الرقمي لمستشعر الضوء المحيط: BH1715 عبارة عن مستشعر رقمي للضوء المحيط بواجهة ناقل I²C. يتم استخدام BH1715 بشكل شائع للحصول على بيانات الإضاءة المحيطة لضبط طاقة الإضاءة الخلفية لشاشات الكريستال السائل ولوحة المفاتيح للأجهزة المحمولة. يوفر هذا الجهاز دقة 16 بت وميزة
Raspberry Pi - TSL45315 مستشعر الضوء المحيط بيثون تعليمي: 4 خطوات
Raspberry Pi - TSL45315 مستشعر الضوء المحيط Python تعليمي: TSL45315 هو مستشعر رقمي للضوء المحيط. إنه يقترب من استجابة عين الإنسان في ظل مجموعة متنوعة من ظروف الإضاءة. تحتوي الأجهزة على ثلاث أوقات تكامل قابلة للتحديد وتوفر إخراجًا مباشرًا يبلغ 16 بت لوكس عبر واجهة ناقل I2C. شارك الجهاز
Raspberry Pi - BH1715 مستشعر الضوء المحيط الرقمي Java تعليمي: 4 خطوات
Raspberry Pi - BH1715 Digital Ambient Light Sensor Java تعليمي: BH1715 هو مستشعر رقمي للضوء المحيط بواجهة ناقل I²C. يتم استخدام BH1715 بشكل شائع للحصول على بيانات الإضاءة المحيطة لضبط طاقة الإضاءة الخلفية لشاشات الكريستال السائل ولوحة المفاتيح للأجهزة المحمولة. يوفر هذا الجهاز دقة 16 بت وميزة