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

LEDura - ساعة LED أنالوج: 12 خطوة (مع صور)
LEDura - ساعة LED أنالوج: 12 خطوة (مع صور)

فيديو: LEDura - ساعة LED أنالوج: 12 خطوة (مع صور)

فيديو: LEDura - ساعة LED أنالوج: 12 خطوة (مع صور)
فيديو: برمجه منظم طاقه شمسية | شرح مفصل لمنظم شحن الطاقة الشمسية او دارة الفصل 2024, يوليو
Anonim
LEDura - ساعة LED تناظرية
LEDura - ساعة LED تناظرية
LEDura - ساعة LED تناظرية
LEDura - ساعة LED تناظرية
LEDura - ساعة LED تناظرية
LEDura - ساعة LED تناظرية

مشاريع تينكركاد »

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

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

يمكن وضع الساعة على المكتب أو طاولة السرير أو تعليقها من الحائط.

ملاحظة: الصور ليست بجودة المنظر في الواقع بسبب السطوع العالي.

الخطوة 1: كيف تقرأها؟

كيف تقرأها؟
كيف تقرأها؟

تحتوي الساعة على حلقتين - واحدة أصغر لعرض الساعات وأخرى أكبر لعرض الدقائق والثواني. تتوهج بعض مصابيح LED طوال الوقت - ما يسمى بالبوصلة التي تشير إلى مواضع الساعة الرئيسية. في حلقة الساعة يمثل الساعة 3 و 6 و 9 و 12 ، وفي حلقة الدقائق يمثل 15 و 30 و 45 و 0 دقيقة.

الخطوة الثانية: ماذا ستحتاج

ماذا ستحتاج
ماذا ستحتاج

المواد:

  • 1x Arduino Nano (يمكنك استخدام أي Arduino آخر أيضًا)
  • 1x DS3231 وحدة RealTimeClock
  • 1x حلقة LED قابلة للعنونة - 60 مصباحًا
  • 1x حلقة LED قابلة للعنونة - 24 مصباحًا
  • 2x أزرار (لا - فتح عادي)
  • 1x 100 كيلو أوم مقياس الجهد
  • مصدر طاقة 1 × 5 فولت (قادر على توصيل 1 أمبير)
  • موصل توريد 1x
  • بعض الأسلاك
  • 1x 10 كيلو أوم المقاوم
  • 1x المقاوم الضوئي
  • Prefboard (اختياري)
  • موصلات الأسلاك الطرفية (اختياري)
  • خشب بسمك 25 مم ، لا يقل حجمه عن 22 سم × 22 سم
  • 1 مللي متر حصيرة رقيقة من البلاستيك PVC مقاس 20 سنتيمتر x 20 xm

أدوات:

  • الأدوات الأساسية لبناء الإلكترونيات (لحام الحديد ، كماشة ، مفك البراغي ، …)
  • آلة الحفر
  • مسدس الغراء الساخن
  • ورق رملي وبعض ورنيش الخشب
  • آلة CNC (ربما يمتلكها بعض الأصدقاء)

الخطوة 3: مكونات الإلكترونيات - الخلفية

مكونات الإلكترونيات - الخلفية
مكونات الإلكترونيات - الخلفية
مكونات الإلكترونيات - الخلفية
مكونات الإلكترونيات - الخلفية
مكونات الإلكترونيات - الخلفية
مكونات الإلكترونيات - الخلفية

DS3231

يمكننا تحديد الوقت باستخدام Arduinos build في مذبذب وجهاز توقيت ، لكنني قررت استخدام وحدة مخصصة لساعة الوقت الحقيقي (RTC) ، والتي يمكنها تتبع الوقت حتى لو فصلنا الساعة عن مصدر الطاقة الخاص بها. تحتوي لوحة DS3231 على بطارية توفر الطاقة عند عدم توصيل الوحدة بمصدر الطاقة. كما أنه أكثر دقة في فترات زمنية أطول من مصدر ساعة Arduinos.

يستخدم DS3231 RTC واجهة I2C للتواصل مع وحدة التحكم الصغيرة - سهلة الاستخدام للغاية ونحتاج فقط إلى سلكين للتواصل معها. توفر الوحدة أيضًا مستشعر درجة الحرارة ، والذي سيتم استخدامه في هذا المشروع.

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

WS2812 حلقة LED

قررت استخدام حلقة 60 LED لتتبع الدقائق و 24 حلقة LED لساعات. يمكنك العثور عليها على Adafruit (حلقة neoPixel) أو بعض الإصدارات الرخيصة على eBay أو Aliexpress أو متاجر الويب الأخرى. هناك تنوع كبير بين شرائط LED القابلة للعنونة ، وإذا كانت هذه هي المرة الأولى التي تتلاعب بها ، فإنني أوصيك بقراءة بعض أوصاف الاستخدام - وإليك بعض الروابط المفيدة:

https://www.tweaking4all.com/hardware/arduino/adr…

https://randomnerdtutorials.com/guide-for-ws2812b…

يحتوي شريط LED القابل للعنونة على 3 موصلات: 5V و GND و DI / DO. الأولان مخصصان لتشغيل مصابيح LED ، وآخرهما للبيانات. كن حذرًا أثناء توصيل الحلقة بـ Arduino - يجب توصيل خط البيانات الخاص بك بمنفذ DI (data IN).

اردوينو

أنا أستخدم Arduino Nano لأنه صغير وكافٍ لهذا المشروع. يمكنك استخدام أي بطاقة أردوينو أخرى تقريبًا ، ولكن بعد ذلك يجب أن تكون حذرًا أثناء توصيل كل شيء بها. يمكن أن تكون الأزرار وحلقات LED على نفس المسامير ، لكن موصلات I2C (لوحدة RTC) قد تختلف من منصة إلى أخرى - تحقق من ورقة البيانات الخاصة بها.

الخطوة 4: الإلكترونيات - مزود الطاقة

إلكترونيات - مزود طاقة
إلكترونيات - مزود طاقة

يجب تزويد كلاً من شريطي Arduino و LED بمصدر طاقة 5 فولت حتى نعرف الجهد المطلوب. نظرًا لأن حلقات LED تستقطب قدرًا كبيرًا جدًا من الأمبيرات ، فلا يمكننا تشغيلها مباشرةً باستخدام Arduino ، الذي يمكنه تحمل 20 مللي أمبير بحد أقصى على خرجه الرقمي. من خلال قياساتي ، يمكن أن تصل حلقات LED معًا إلى 500 مللي أمبير. لهذا السبب اشتريت محولًا قادرًا على توفير ما يصل إلى 1A.

مع نفس مصدر الطاقة الذي نريد تشغيل Arduino و LEDs - هنا عليك توخي الحذر.

تحذير! كن حذرًا جدًا عند اختبار شريط LED - يجب عدم توصيل محول الطاقة بـ Arduino ، عندما يكون Arduino متصلًا أيضًا بجهاز الكمبيوتر باستخدام موصل USB (يمكنك إتلاف منفذ USB بالكمبيوتر الخاص بك).

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

الخطوة 5: الإلكترونيات - اللحام

إلكترونيات - لحام
إلكترونيات - لحام
إلكترونيات - لحام
إلكترونيات - لحام
إلكترونيات - لحام
إلكترونيات - لحام
إلكترونيات - لحام
إلكترونيات - لحام

عندما تقوم بتجميع جميع الأجزاء ، فقد حان الوقت لتجميعها معًا.

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

نصيحة: من الأسهل طباعة المخططات بحيث تكون أمامك أثناء اللحام. وتحقق مرتين من كل شيء قبل الاتصال بمصدر الطاقة.

الخطوة 6: البرنامج - الخلفية

اردوينو IDE

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

مكتبة

قررت استخدام مكتبة FastLED بدلاً من Adafruit الشهيرة. يحتوي على بعض وظائف الرياضيات الأنيقة التي يمكنك من خلالها القيام بتأثيرات رائعة (ممتاز للمطورين!). يمكنك العثور على المكتبة في مستودع GitHub الخاص بهم ، لكنني أضفت ملف.zip للإصدار الذي أستخدمه في الكود الخاص بي.

إذا كنت تتساءل عن كيفية إضافة مكتبة خارجية إلى Arduino IDE ، يمكنك التحقق من بعض الإرشادات التي تم إنشاؤها بالفعل

بالنسبة لوحدة الساعة ، استخدمت مكتبة Arduino لساعة الوقت الحقيقي DS3231 (RTC) (رابط) ، والتي يمكنك تثبيتها بسهولة في Arduino IDE. عندما تكون في IDE ، انقر فوق Sketch → Include library → Manage libraries … ثم قم بتصفية بحثك بالاسم أعلاه.

ملاحظة: لسبب ما لا يمكنني حاليًا إضافة ملفات.zip. يمكنك العثور على المكتبة في مستودع GitHub الخاص بي.

الخطوة 7: البرنامج - كود

البرمجيات - كود
البرمجيات - كود
البرمجيات - كود
البرمجيات - كود

بنية

يتكون التطبيق من 4 ملفات:

  • LEDclokc.ino هذا هو تطبيق Arduino الرئيسي ، حيث يمكنك العثور على وظائف للتحكم في الساعة بأكملها - تبدأ بالبادئة CLOCK_.
  • LEDclokc.h هنا يحدد اتصال الدبوس وبعض تكوينات الساعة.
  • ring.cpp و ring.h هنا هو الكود الخاص بي للتحكم في حلقات LED.

LEDclock.h

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

LEDclock.ino

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

عند الضغط على الزر 1 ، يتم رفع الوضع المتغير بمقدار 1 ، وفي حالة الضغط على الزر 2 ، يتم رفع النوع المتغير. نستخدم هذه المتغيرات لتحديد وضع الساعة الذي نريد رؤيته. إذا تم الضغط على كلا الزرين في نفس الوقت ، يتم استدعاء الوظيفة CLOCK_setTime () حتى تتمكن من تغيير وقت الساعة.

يقرأ الكود اللاحق قيمة مقياس الجهد ويخزنه في متغير - حيث يمكن لهذا المستخدم المتغير تغيير ألوان الساعة والسطوع وما إلى ذلك.

ثم هناك بيان حالة التبديل. هنا نحدد في أي ساعة الوضع هي حاليًا ، وبهذا الوضع ، يتم استدعاء الوظيفة المقابلة ، والتي تقوم بإعداد ألوان LEDs. يمكنك إضافة أوضاع الساعة الخاصة بك وإعادة كتابة الوظائف أو تعديلها.

كما هو موضح في مكتبة FastLED ، يجب عليك استدعاء الوظيفة FastLED.show () في النهاية ، والتي تحول مصابيح LED إلى اللون الذي قمنا بإعدادها عليه مسبقًا.

يمكنك العثور على أوصاف أكثر تفصيلاً بين أسطر التعليمات البرمجية

الكود الكامل مرفق أدناه في الملفات أدناه.

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

الخطوة 8: اصنع الساعة

اصنع الساعة
اصنع الساعة
اصنع الساعة
اصنع الساعة
اصنع الساعة
اصنع الساعة

إطار الساعة

لقد قمت ببناء إطار الساعة باستخدام آلة CNC وخشب بسمك 25 مم. يمكنك العثور على الرسم المرسوم في خوار ProgeCAD المرفق. فتحات حلقة LED أكبر قليلاً ، لأن المصنّعين يوفرون فقط قياسات القطر الخارجي - قد يختلف الجزء الداخلي كثيرًا … في الجزء الخلفي من الساعة ، هناك مساحة كبيرة للإلكترونيات والأسلاك.

حلقات PVC

نظرًا لأن مصابيح LED ساطعة جدًا ، فمن الجيد تشتيتها بطريقة ما. جربت أولاً باستخدام السيليكون الشفاف ، الذي يقوم بمهمة نشر ، لكنه فوضوي للغاية ومن الصعب جعله سلسًا في الأعلى. هذا هو السبب في أنني طلبت قطعة 20x20 سم من بلاستيك PVC "الحليب" وقمت بقطع حلقتين فيها باستخدام ماكينة CNC. يمكنك استخدام ورق الصنفرة لتنعيم الحواف حتى تنزلق الحلقات في الفتحات.

فتحات جانبية

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

الخطوة 9: ارسم في الخشب

ارسم في الخشب
ارسم في الخشب
ارسم في الخشب
ارسم في الخشب
ارسم في الخشب
ارسم في الخشب

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

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

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

حماية الخشب

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

الخطوة 10: Assamble

أسامبل
أسامبل
أسامبل
أسامبل
أسامبل
أسامبل

يضع التنوب الأزرار ومقياس الجهد في مواضعها - إذا كانت ثقوبك كبيرة جدًا ، يمكنك استخدام بعض الغراء الساخن لإصلاحها في مكانها. ثم ضع الشريط الدائري في فتحاته وقم بتوصيل أسلاكه بـ Arduino. قبل لصق حلقة LED في مكانها ، من الجيد التأكد من أن وحدات البكسل LED في المكان المناسب - متمركزة ومحاذاة مع الرسم. لهذا الغرض أضفت ما يسمى بوضع الصيانة الذي سيعرض جميع وحدات البكسل المهمة (0 ، 5 ، 10 ، 15 ، … في حلقة الدقائق و 3 ، 6 ، 9 و 12 في حلقة الساعة). يمكنك الدخول إلى هذا الوضع بالضغط مع الاستمرار على كلا الزرين ، قبل توصيل مصدر الطاقة بالموصل. يمكنك الخروج من هذا الوضع بالضغط على أي زر.

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

في النهاية ، أدخل بطارية خلية عملة معدنية في حاملها.

الخطوة 11: الترقية - مقاوم ضوئي

ترقية - مقاوم ضوئي
ترقية - مقاوم ضوئي
ترقية - مقاوم ضوئي
ترقية - مقاوم ضوئي
ترقية - مقاوم ضوئي
ترقية - مقاوم ضوئي

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

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

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

بعد المحاكاة حان الوقت لإضافة الميزة إلى الساعة. لقد قمت بحفر ثقب في وسط الساعة ، ولصق المقاوم للصور ، وقمت بتوصيله كما يمكن رؤيته على الدائرة وأضفت بضعة أسطر من الكود. في ملف LEDclock.h ، يجب عليك تمكين هذه الميزة بإعلان USE_PHOTO_RESISTOR كـ 1. يمكنك أيضًا تغيير سطوع الغرفة الذي ستعمل فيه الساعة على تعتيم مصابيح LED عن طريق تغيير قيمة CLOCK_PHOTO_TRESHOLD.

الخطوة 12: استمتع

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

لقد وجدت الإلهام في مشروع أنيق للغاية على الإنترنت. إذا قررت بناء الساعة بنفسك ، فتحقق منها أيضًا! (NeoClock و Wol Clock و Arduino Colour Clock) إذا قررت يومًا ما أن تحاول اتباع التعليمات ، آمل أن تجدها ممتعة كما فعلت.

إذا واجهت أي مشكلة أثناء عملية القيام بذلك ، فلا تتردد في طرح أي سؤال في التعليقات - سأحاول بكل سرور الإجابة عليه!

موصى به: