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

طاولة قهوة LED تفاعلية من اردوينو: 6 خطوات (مع صور)
طاولة قهوة LED تفاعلية من اردوينو: 6 خطوات (مع صور)

فيديو: طاولة قهوة LED تفاعلية من اردوينو: 6 خطوات (مع صور)

فيديو: طاولة قهوة LED تفاعلية من اردوينو: 6 خطوات (مع صور)
فيديو: 8 Incredible Smart Coffee Table You Must See | Smart Table Furniture 2024, يوليو
Anonim
Image
Image
طاولة قهوة LED تفاعلية من اردوينو
طاولة قهوة LED تفاعلية من اردوينو

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

تتكون مستشعرات القرب من الثنائيات الضوئية وبواعث الأشعة تحت الحمراء. تستخدم بواعث الضوء الأشعة تحت الحمراء (التي لا تستطيع العين البشرية رؤيتها) لتسليط الضوء من على الطاولة ، وتتلقى الصمامات الثنائية الضوئية ضوء الأشعة تحت الحمراء المنعكس عن الجسم. كلما زاد الضوء المنعكس (كلما اقترب الجسم) ، زاد تذبذب الجهد القادم من الصمامات الثنائية الضوئية. يستخدم هذا كمؤشر لتحديد العقدة التي يجب أن تضيء. العقد عبارة عن مجموعة من المصابيح ws2812b ومستشعر القرب.

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

اللوازم

  1. ws2812b لمبات LED -
  2. مزود طاقة 5 فولت -
  3. أي Arduino استخدمته 2560 -
  4. الثنائيات الضوئية
  5. بواعث الأشعة تحت الحمراء
  6. 10 مقاومات أوم
  7. 1 مقاومات موهم
  8. مكثفات 47 بيكو فاراد
  9. معددات CD4051B
  10. سجلات التحول SN74HC595
  11. صفائف دارلينجتون ULN2803A
  12. أي ركيزة لاستخدامها كلوحة كبيرة للمصابيح ، استخدمت لوحًا مركبًا من الورق من مستودع المنزل

الخطوة 1: قم بإنشاء اللوحة وأدخل المصابيح

قم بإنشاء اللوحة وأدخل المصابيح
قم بإنشاء اللوحة وأدخل المصابيح
قم بإنشاء اللوحة وأدخل المصابيح
قم بإنشاء اللوحة وأدخل المصابيح
قم بإنشاء اللوحة وأدخل المصابيح
قم بإنشاء اللوحة وأدخل المصابيح
قم بإنشاء اللوحة وأدخل المصابيح
قم بإنشاء اللوحة وأدخل المصابيح

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

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

الخطوة الثانية: فهم الدائرة

افهم الدائرة
افهم الدائرة
افهم الدائرة
افهم الدائرة
افهم الدائرة
افهم الدائرة

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

يمكن العثور على كود PCB الذي يحتوي على مشروع KiCad وملفات gerber هنا: https://github.com/tmckay1/interactive_coffee_tabl… ، في حال كنت ترغب في طلب PCB بنفسك وإنشاء مشروع مماثل. لقد استخدمت NextPCB لإنشاء اللوحات.

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

الدائرة الثانية تعمل على بواعث الأشعة تحت الحمراء. تستخدم هذه الدائرة سجل التحول للتحكم في مجموعة دارلينجتون التي ترسل الطاقة إلى بواعث الأشعة تحت الحمراء. سجل التحول عبارة عن دائرة متكاملة قادرة على إرسال إشارات عالية ومنخفضة إلى دبابيس متعددة من كمية صغيرة فقط من المسامير. في حالتنا ، نستخدم سجل التحول SN74HC595 الذي يمكن التحكم فيه من خلال 3 مدخلات ، ولكنه يتحكم في ما يصل إلى 8 مخرجات. تكمن فائدة استخدام هذا مع اردوينو في أنه يمكنك ربط ما يصل إلى 8 سجلات تحويل متتالية (يمكن لـ arduino التعامل مع ما يصل إلى 8 منهم فقط). هذا يعني أنك تحتاج فقط إلى 3 دبابيس من اردوينو لتشغيل وإيقاف 64 بواعث IR. تمكّنك مصفوفة دارلينجتون من تشغيل جهاز من مصدر خارجي إذا كانت إشارة الإدخال عالية ، أو إيقاف تشغيل الطاقة لهذا الجهاز إذا كانت إشارة الإدخال منخفضة. لذلك في مثالنا ، نستخدم مصفوفة دارلينجتون ULN2803A ، والتي تسمح لمصدر طاقة خارجي 5 فولت بتشغيل وإيقاف ما يصل إلى 8 بواعث الأشعة تحت الحمراء. نستخدم المقاوم 10 أوم مع بواعث الأشعة تحت الحمراء في سلسلة للحصول على أقصى قوة من بواعث الأشعة تحت الحمراء.

تستخدم الدائرة الثالثة معدد إرسال لتلقي مدخلات متعددة من الثنائيات الضوئية ، وترسل الإخراج في إشارة بيانات. المضاعف هو جهاز يستخدم لأخذ مدخلات متعددة تريد القراءة منها ، ويحتاج فقط إلى عدد قليل من المسامير للقراءة من تلك المدخلات. يمكنه أيضًا القيام بالعكس (demultiplex) ، لكننا لا نستخدمه لهذا التطبيق هنا. لذلك في حالتنا ، نستخدم معدد إرسال CD4051B لاستقبال ما يصل إلى 8 إشارات من الصمامات الثنائية الضوئية ، ونحتاج فقط إلى 3 مدخلات للقراءة من تلك الإشارات. بالإضافة إلى ذلك ، يمكننا توصيل ما يصل إلى 8 معددات إرسال (يمكن لـ arduino التعامل مع ما يصل إلى 8 منها فقط). هذا يعني أن اردوينو يمكنه القراءة من 64 إشارة ضوئية من 3 دبابيس رقمية فقط. يتم توجيه الثنائيات الضوئية إلى منحاز عكسي ، مما يعني أنه بدلاً من توجيهها في الاتجاه الطبيعي مع توصيل السلك الموجب بمصدر الجهد الموجب ، فإننا نخصص الرصاص السالب لمصدر الجهد الموجب. يؤدي هذا إلى تحويل الصمامات الثنائية الضوئية بشكل فعال إلى مقاومات ضوئية ، والتي تتغير في المقاومة اعتمادًا على كمية الضوء التي تتلقاها. نقوم بعد ذلك بإنشاء مقسم جهد لقراءة جهد يعتمد على المقاومة المتغيرة للديودات الضوئية عن طريق إضافة مقاوم عالي المقاومة 1 Mhms إلى الأرض. هذا يسمح لنا بتلقي جهد أعلى وأقل من اردوينو اعتمادًا على كمية ضوء الأشعة تحت الحمراء التي تتلقاها الثنائيات الضوئية.

لقد تابعت معظم هذا التصميم من شخص آخر قام بهذا هنا: https://www.instructables.com/Infrared-Proximity-S… في هذا التصميم أضافوا أيضًا مكثف 47pF ، كما نفعل نحن ، على الجانب الآخر من المقاوم 1 MOhm تستخدم لإنشاء مقسم الجهد مع الثنائيات الضوئية. كان السبب في إضافته هو أنه كان يقوم بتقلب بواعث الأشعة تحت الحمراء وإيقافها بإشارة PWM والقيام بذلك أدى إلى انخفاض صغير في الجهد من الصمامات الضوئية عندما تم تشغيل بواعث الأشعة تحت الحمراء على الفور. هذا جعل الثنائيات الضوئية تغير المقاومة حتى عندما لا تتلقى المزيد من ضوء الأشعة تحت الحمراء من كائن لأن بواعث الأشعة تحت الحمراء تشترك في نفس مصدر الطاقة 5 فولت مثل الثنائيات الضوئية. تم استخدام المكثف للتأكد من عدم وجود انخفاض في الجهد عند تشغيل وإيقاف بواعث الأشعة تحت الحمراء. لقد خططت في الأصل للقيام بهذه الإستراتيجية نفسها ، ولكن نفد الوقت لاختبارها ، لذا بدلاً من ذلك تركت بواعث الأشعة تحت الحمراء تعمل دائمًا. أرغب في تغيير هذا في المستقبل ، ولكن حتى أقوم بإعادة تصميم الكود والدائرة ، فقد تم تصميم PCB الآن بحيث يتم تشغيل مصابيح الأشعة تحت الحمراء في جميع الأوقات ، واحتفظت بالمكثفات على أي حال. لا تحتاج إلى مكثف إذا كنت تستخدم تصميم ثنائي الفينيل متعدد الكلور ، لكنني سأقدم إصدارًا آخر من ثنائي الفينيل متعدد الكلور يقبل إدخالًا إضافيًا إلى سجل الإزاحة الذي سيسمح لك بتعديل بواعث الأشعة تحت الحمراء وإيقاف تشغيلها. سيوفر هذا الكثير من استهلاك الطاقة.

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

فيما يلي بعض الموارد التي اتبعتها للنماذج الأولية:

  • https://lastminuteengineers.com/74hc595-shift-regi…
  • https://techtutorialsx.com/2016/02/08/using-a-uln2…
  • https://tok.hakynda.com/article/detail/144/cd4051be…

الخطوة 3: أسلاك اللحام بالعقدة

أسلاك اللحام إلى العقدة
أسلاك اللحام إلى العقدة
أسلاك اللحام إلى العقدة
أسلاك اللحام إلى العقدة
أسلاك اللحام إلى العقدة
أسلاك اللحام إلى العقدة
أسلاك اللحام إلى العقدة
أسلاك اللحام إلى العقدة

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

الخطوة 4: قم بتلحيم مكونات PCB وإرفاقها باللوحة

جندى مكونات PCB وأرفقها باللوحة
جندى مكونات PCB وأرفقها باللوحة
جندى مكونات PCB وأرفقها باللوحة
جندى مكونات PCB وأرفقها باللوحة
جندى مكونات PCB وأرفقها باللوحة
جندى مكونات PCB وأرفقها باللوحة

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

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

نظرًا لأن لدي 8 صفوف من المصابيح ws2812b و 12 عمودًا ، انتهى بي الأمر بسبعة صفوف و 11 عمودًا من العقد (إجمالي 77 عقدة). الفكرة هي استخدام جانب واحد من ثنائي الفينيل متعدد الكلور لعمود واحد من العقد والجانب الآخر للعمود الآخر. لذلك نظرًا لأن لدي 11 عمودًا ، كنت بحاجة إلى 6 مركبات ثنائي الفينيل متعدد الكلور (آخر واحد يحتاج فقط إلى مجموعة واحدة من المكونات). نظرًا لأنني جعلت الأسلاك قصيرة جدًا ، لم أتمكن من توصيل سوى 55 عقدة و 11 عمودًا و 5 صفوف. يمكنك أن ترى في الصورة ، لقد ارتكبت خطأ وقمت بلحام الأسلاك الخام باللوحة ، وهو أمر سيكون جيدًا إذا كانت الأسلاك رفيعة بدرجة كافية ، لكن في حالتي كانت سميكة جدًا. هذا يعني أن نهايات الأسلاك المتوترة قريبة جدًا من بعضها البعض لكل مدخل باعث الأشعة تحت الحمراء ومدخلات الثنائي الضوئي ، لذلك كان هناك الكثير من التصحيح يحدث من كل تقصير الأسلاك. في المستقبل ، سأستخدم الموصلات لتوصيل PCB بالأسلاك الموجودة على اللوحة لتجنب القصور وتنظيف الأشياء.

نظرًا لأن Arduino يمكنه فقط سلسلة أقحوان تصل إلى 8 سجلات تحويل ومضاعفات ، فقد قمت بإنشاء سلسلتين منفصلتين ، واحدة تشغل أول 8 أعمدة والأخرى تأخذ الأعمدة الثلاثة المتبقية. ثم قمت بعد ذلك بإرفاق كل سلسلة بثنائي ثنائي الفينيل متعدد الكلور يحتوي على مُضاعِفين فقط ، حتى أتمكن من قراءة كل سلسلة من إشارات بيانات مُضاعِف الإرسال من هذين المُعَدِّدَيْن إلى اردوينو. كان هذان المعددان مقيدان أيضًا بالسلاسل. هذا يعني أنه كان هناك ما مجموعه 16 إشارة خرج ومدخلان تناظريان مستخدمان في اردوينو: إشارة خرج واحدة للتحكم في المصابيح ws2812b ، و 3 إشارات خرج للسلسلة الأولى من سجلات التحول ، و 3 إشارات خرج للسلسلة الأولى من معددات الإرسال ، 3 إشارات خرج للسلسلة الثانية من سجلات التحول ، و 3 إشارات خرج للسلسلة الثانية من معددات الإرسال ، و 3 إشارات خرج لمضاعفي الإرسال اللذين يجمعان كل إشارة بيانات ثنائية الفينيل متعدد الكلور ، وأخيراً مدخلين تناظريين لكل إشارة بيانات من مجموعتي مضاعفات الإرسال.

الخطوة 5: راجع الكود

ملاحظة: بالإضافة إلى الكود التفاعلي أدناه ، استخدمت مكتبة تابعة لجهة خارجية لإنتاج الرسوم المتحركة لمصابيح ws2812b. يمكنك أن تجد ذلك هنا:

يمكنك العثور على الكود الذي استخدمته هنا:

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

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

الخطوة 6: قم بتشغيل Arduino

قم بتشغيل Arduino!
قم بتشغيل Arduino!
قم بتشغيل Arduino!
قم بتشغيل Arduino!
قم بتشغيل Arduino!
قم بتشغيل Arduino!

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

موصى به: