جدول المحتويات:
- الخطوة 1: فاتورة المواد
- الخطوة الثانية: النقش والنحت
- الخطوة الثالثة: الصنفرة وتطبيق الورنيش
- الخطوة 4: عمل الدائرة
- الخطوة الخامسة: تحميل البرنامج
- الخطوة 6: وضع المصابيح
- الخطوة 7: توصيل مصابيح LED
- الخطوة 8: توصيل لوحة الدوائر بمصابيح LED
- الخطوة 9: وضع الكرات
فيديو: ساعة مكتب ثنائية: 9 خطوات (مع صور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
تعتبر Binary Clocks رائعة وحصرية للشخص الذي يعرف الثنائي (لغة الأجهزة الرقمية). إذا كنت رجلًا تقنيًا ، فهذه الساعة الغريبة تناسبك. لذا ، اصنع واحدة بنفسك وحافظ على سرية وقتك!
ستجد الكثير من الساعات الثنائية من أنواع مختلفة على الإنترنت. حتى يمكنك شراء ساعة ثنائية من متجر على الإنترنت مثل amazon.com. لكن هذه الساعة مختلفة عن الجميع وهنا استخدمت لعب الرخام لإضفاء مظهر أنيق عليها.
قبل النزول يرجى مشاهدة الفيديو التوضيحي.
الخطوة 1: فاتورة المواد
مكونات الأجهزة
1. Arduino Pro Micro (اشترِ من aliexpress.com): هذا هو القلب الرئيسي للساعة ويقرأ الوقت من RTC ويقدم تعليمات لتشغيل مصابيح LED وفقًا لذلك. يمكنك استخدام Arduino Nano حتى Arduino Uno بدلاً من Pro Micro إذا كان الحجم لا يهمك.
2. DS3231 RTC Module (اشتري من aliexpress.com): يتتبع DS3231 RTC الوقت حتى عندما تنقطع الطاقة. على الرغم من أنه يمكن استخدام RTC الأخرى مثل DS1307 ، إلا أن DS3231 أكثر دقة.
3. MAX7219CNG LED Driver IC (شراء من aliexpress.com): Arduino لديها عدد محدود من المسامير. لذا ، إذا كنت ترغب في قيادة أطنان من مصابيح LED دون إضاعة دبابيس Arduino ، فإن MAX7219 هو المنقذ. يأخذ البيانات التسلسلية ويمكن أن يقود 64 LED بشكل مستقل.
4. 20 جهاز كمبيوتر شخصى الصمام الأزرق ، 5 مم (شراء من aliexpress.com): الأزرق أعطت أفضل نتيجة بالنسبة لي. يمكنك المحاولة بألوان أخرى.
5. 20 جهاز كمبيوتر شخصى لعب الرخام (شراء من aliexpress.com): تم استخدام حجم قياسي للعب الرخام. يجب أن يكون الرخام شفافًا لتمرير الضوء.
6. المقاوم 10K: يستخدم للتحكم في تيار قطعة MAX7219 IC. انظر ورقة البيانات لمعرفة القيمة الدقيقة لتيار شريحة مختلفة.
7. الأسلاك
8. النموذج الأولي لوحة ثنائي الفينيل متعدد الكلور (شراء من aliexpress.com): لقد استخدمت نموذجًا أوليًا للوحة ثنائي الفينيل متعدد الكلور لـ MAX7219 IC مع قاعدة IC. يمكنك أيضًا تصميم لوحة PCB المخصصة الخاصة بك.
أدوات الأجهزة
1. CNC 3018 PRO آلة النقش بالليزر الخشب CNC راوتر (شراء من aliexpress.com): تم استخدام آلة Theis DIY CNG للنحت على الخشب للرخام ومصابيح LED. هذه آلة ممتازة بسعر منخفض لأي صانع وهواة.
2. محطة اللحام (اشتر واحدة من aliexpress.com): بعض اللحام مطلوب للمشروع ومكواة لحام جيدة هي أداة لا بد من اقتنائها لدى صانع. 60W هو اختيار جيد لحام DIY.
3. قاطع الأسلاك (شراء من aliexpress.com)
4. قاطع طحن نهاية كربيد مطلي بالتيتانيوم لـ CNC (اشتري من aliexpress.com): يمكنك أيضًا تجربة الشيء المزود مع الجهاز. في هذه الحالة ، يجب إجراء بعض التغييرات على التصميم.
الخطوة الثانية: النقش والنحت
أخذت قطعة من خشب القيقب الناعم 165 × 145 × 18.8 مم لوضع مصابيح LED على مدار الساعة. في الجزء العلوي من كل مصباح ، سأضع رخامًا ويبلغ قطر رخام اللعب القياسي 15.5 مم. لذلك ، قمت بعمل فتحات 15.7 مم بعمق 7 مم. في وسط الحفرة ، قمت بعمل مثقاب 5 مم لوضع LED. كل النص مصنوع بعمق 2 مم. يمكنك زيادة أو تقليل عمق اختيارك. يمكنك أيضًا تجربة النقش بالليزر على النص.
تم إجراء التصميم الكامل بواسطة Easel من Inventables. Easel عبارة عن منصة برمجية قائمة على الويب تتيح لك التصميم والنحت من برنامج واحد بسيط ومعظم الميزات مجانية الاستخدام. ما عليك سوى تسجيل الدخول إلى النظام عن طريق إنشاء حساب أو استخدام Gmail.
Easel Pro هو برنامج سحابي قائم على العضوية يعتمد على برنامج Easel المجاني من Inventables. تعمل Easel و Easel Pro على تقليل الحواجز المرتبطة ببرامج تصنيع منتجات CAD و CAM المعقدة ، مما يسهل على المستخدمين إنتاج منتجات مادية.
باستخدام Easel ، يمكنك تصدير ملف التصميم بتنسيق G-code أو إعداد CNC الخاص بك مباشرةً من بيئة Easel وإرسال الأمر إلى CNC. في هذه الحالة ، تحتاج إلى تثبيت برنامج تشغيل Easel. يمكنك أيضًا استيراد رمز G تم إنشاؤه مسبقًا إلى Easel IDE وتعديله. لقد قمت بتضمين ملف التصميم طيه. يمكنك بسهولة تعديل التصميم وفقًا لاختيارك باستخدام Easel.
الخطوة الثالثة: الصنفرة وتطبيق الورنيش
يمكن أن يوفر الورنيش لمسة نهائية جميلة للمشاريع الخشبية واللوحات. قبل تطبيق الورنيش على الخشب ، قم بصنفرة القطعة الخاصة بك ونظف مساحة العمل الخاصة بك. يعطي الصنفرة مظهرًا ناعمًا ويجهز الخشب للورنيش. ضع الورنيش على عدة طبقات رفيعة ، واترك كل طبقة تجف تمامًا قبل الانتقال إلى الطبقة التالية. لتلميع اللوحة ، اتركها تجف تمامًا ثم قم بتنظيف الورنيش بعناية. تكفي طبقة واحدة للعديد من اللوحات ، لكن يمكنك إضافة طبقة إضافية طالما تركت الطبقة السابقة تجف تمامًا.
قبل تطبيق الورنيش ، تحتاج إلى إزالة أي عيوب وعيوب قبل تطبيق الورنيش. للقيام بذلك ، استخدم ورق صنفرة 100 حبيبة رملية للقطع غير المكتملة ، واعمل مع حبيبات الخشب. صنفرة بلطف حتى تصبح القطعة ناعمة. بعد تنظيف قطعة الخشب ، ضع الورنيش في منطقة جيدة التهوية.
الورنيش يحفظ الخشب من الغبار والرطوبة البيئية ولكنه قد يؤثر على لون الخشب.
الخطوة 4: عمل الدائرة
المكون الرئيسي للساعة هو لوحة متحكم Arduino Pro Mini ووحدة DS3231 RTC. اتصال Arduino Pro Mini ووحدة RTC بسيط للغاية. تحتاج إلى توصيل دبوس SDA الخاص بوحدة RTC بدبوس SDA الخاص بـ Arduino و SCL pin الخاص بوحدة RTC بدبوس SCL في Arduino. دبابيس SDA و SCL هي في الواقع A4 و A5 دبوس من Arduino على التوالي. تحتاج أيضًا إلى إنشاء اتصال أرضي مشترك بين وحدات Arduino و RTC. لقد استخدمت أسلاك التوصيل لإجراء التوصيلات.
العلاقة بين Arduino و DS3231 RTC:
اردوينو | DS3231 |
---|---|
SCL (A5) | SCL |
SDA (A4) | SDA |
5 فولت | VCC |
GND | GND |
لإظهار الساعة والدقيقة والثانية ، تتطلب ساعة ثنائية 20 مصباحًا. إذا كنت تريد إظهار التاريخ فإنه يتطلب المزيد. تحتوي لوحة Arduino على قيود على دبابيس GPIO. لذلك ، استخدمت برنامج تشغيل MAX7219CNG LED IC لقيادة أطنان من مصابيح LED باستخدام ثلاثة دبابيس فقط من لوحة Arduino.
محرك MAX7219 IC قادر على تشغيل 64 مصباح LED فرديًا أثناء استخدام 3 أسلاك فقط للتواصل مع Arduino ، والأكثر من ذلك ، يمكننا سلسلة محركات ومصفوفات متعددة مع الاستمرار في استخدام نفس الأسلاك الثلاثة.
يتم تشغيل مصابيح LED البالغ عددها 64 بواسطة 16 دبوس إخراج من IC. السؤال الآن هو كيف يكون ذلك ممكنا. حسنًا ، الحد الأقصى لعدد المصابيح التي تضيء في نفس الوقت هو في الواقع ثمانية. يتم ترتيب المصابيح على شكل مجموعة 8 × 8 من الصفوف والأعمدة. لذلك يقوم MAX7219 بتنشيط كل عمود لفترة قصيرة جدًا وفي نفس الوقت يقوم أيضًا بتشغيل كل صف. لذلك من خلال التبديل السريع بين الأعمدة والصفوف ، ستلاحظ العين البشرية ضوءًا مستمرًا فقط.
ينتقل VCC و GND من MAX7219 إلى دبابيس 5V و GND في Arduino وتنتقل المسامير الثلاثة الأخرى ، DIN و CLK و CS إلى أي دبوس رقمي في لوحة Arduino. إذا أردنا توصيل أكثر من وحدة واحدة ، فإننا نقوم فقط بتوصيل دبابيس الإخراج للوحة الفصل السابقة بدبابيس الإدخال للوحدة الجديدة. في الواقع ، هذه المسامير كلها متشابهة باستثناء أن دبوس DOUT في اللوحة السابقة يذهب إلى دبوس DIN باللوحة الجديدة.
العلاقة بين Arduino و MAX7219CNG:
اردوينو | ماكس 7219 |
---|---|
D12 | DIN |
D11 | CLK |
D10 | حمل |
GND | GND |
الخطوة الخامسة: تحميل البرنامج
البرنامج بأكمله مكتوب في بيئة اردوينو. تم استخدام مكتبتين خارجيتين للرسم. أحدهما لوحدة RTC والآخر لوحدة MAX7219 IC. قم بتنزيل المكتبات من الرابط وأضفها إلى Arduino IED قبل تجميع البرنامج.
برنامج التحميل في Arduino Pro Mini صعب بعض الشيء. ألق نظرة على البرنامج التعليمي إذا لم تستخدم Arduino Pro Mini من قبل:
/*
GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> * / # تضمين "Wire.h" # تضمين "DS3231.h" # تضمين "LedControl.h" / * الآن نحن بحاجة إلى LedControl للعمل معه. ***** لن تعمل أرقام التعريف الشخصي هذه على الأرجح مع جهازك ***** يتم توصيل دبوس 12 بـ DataIn pin 11 متصل بـ CLK pin 10 متصل بـ LOAD لدينا MAX72XX واحد فقط. * / DS3231 على مدار الساعة ؛ RTCDateTime دت ؛ LedControl lc = LedControl (12 ، 11 ، 10 ، 1) ؛ ثواني ، دقائق ، ساعات ؛ رقم البايت [10] = {B00000000 ، B01000000 ، B00100000 ، B01100000 ، B00010000 ، B01010000 ، B00110000 ، B01110000 ، B00001000 ، B01001000} ؛ إعداد باطل () {//Serial.begin(9600) ؛ / * MAX72XX في وضع توفير الطاقة عند بدء التشغيل ، يتعين علينا إجراء مكالمة تنبيه * / lc.shutdown (0 ، خطأ) ؛ / * اضبط السطوع على قيم متوسطة * / lc.setIntensity (0 ، 15) ؛ / * وامسح الشاشة * / lc.clearDisplay (0) ؛ //lc.setLed(0، row، col، true) ؛ // lc.setRow (0، 0، B11111111) ؛ // lc.setRow (0، 1، B11111111) ؛ // lc.setRow (0، 2، B11111111) ؛ // lc.setRow (0، 3، B11111111) ؛ // lc.setRow (0، 4، B11111111) ؛ // lc.setRow (0، 5، B11111111) ؛ // lc.setColumn (0، 2، B11111111) ؛ // lc.setColumn (0، 3، B11111111) ؛ // lc.setColumn (0، 4، B11111111) ؛ // lc.setColumn (0، 5، B11111111) ؛ // تهيئة DS3231 clock.begin () ؛ // تعيين وقت تجميع الرسم //clock.setDateTime(_DATE_ ، _TIME_) ؛ pinMode (5 ، INPUT_PULLUP) ؛ pinMode (6، INPUT_PULLUP) ؛ pinMode (7 ، INPUT_PULLUP) ؛ } قائمة int = 0 ، أعلى ، أسفل ؛ ساعات_واحدة int ؛ ساعات_تاعة int؛ دقيقة واحدة ؛ دقيقة_ دقيقة ؛ int seconds_one ؛ int seconds_ten؛ حلقة باطلة () {if (digitalRead (5) == 0) {delay (300) ؛ القائمة ++ ؛ إذا (القائمة> 3) القائمة = 0 ؛ } إذا (القائمة == 0) {dt = clock.getDateTime () ؛ ساعات = dt.hour ؛ الدقائق = dt.minute ؛ الثواني = dt.second ؛ إذا كانت (ساعات> 12) ساعة = ساعات - 12 ؛ إذا كانت (ساعات == 0) ساعات = 1 ؛ ساعات_واحد = ساعات٪ 10 ؛ ساعات_تين = ساعات / 10 ؛ minutes_one = دقيقة٪ 10 ؛ minutes_ten = دقائق / 10 ؛ ثواني_واحد = ثواني٪ 10 ؛ seconds_ten = ثواني / 10 ؛ lc.setRow (0، 0، number [seconds_one]) ؛ lc.setRow (0، 1، number [seconds_ten]) ؛ lc.setRow (0، 2، number [minutes_one]) ؛ lc.setRow (0، 3، number [minutes_ten]) ؛ lc.setRow (0، 4، number [hours_one]) ؛ lc.setRow (0، 5، number [hours_ten]) ؛ } if (menu == 1) {if (digitalRead (6) == 0) {delay (300)؛ ساعات ++ ؛ إذا كانت (ساعات> = 24) ساعة = 0 ؛ } إذا (digitalRead (7) == 0) {delay (300) ؛ ساعات--؛ إذا كانت (ساعات = 60) دقيقة = 0 ؛ } إذا (digitalRead (7) == 0) {delay (300) ؛ الدقائق--؛ إذا كانت (الدقائق <0) دقيقة = 0 ؛ } minutes_one = دقيقة٪ 10 ؛ minutes_ten = دقائق / 10 ؛ lc.setRow (0، 4، B00000000) ؛ lc.setRow (0، 5، B00000000) ؛ lc.setRow (0، 1، B00000000) ؛ lc.setRow (0، 0، B00000000) ؛ lc.setRow (0، 2، number [minutes_one]) ؛ lc.setRow (0، 3، number [minutes_ten]) ؛ } إذا (القائمة == 3) {clock.setDateTime (2020، 4، 13، hours، minutes، 01)؛ القائمة = 0 ؛ } //lc.setLed(0، row، col، false)؛ //lc.setLed(0، row، col، true)؛ //lc.setColumn(0، عمود، B10100000) ؛ //lc.setRow(0، 4، B11111111) ؛ //lc.setRow(0، row، (byte) 0) ؛ //lc.setColumn (0، عمود، (بايت) 0) ؛ // بالنسبة إلى الصفر البادئ ، انظر إلى مثال DS3231_dateformat // Serial.print ("البيانات الأولية:") ؛ // Serial.print (dt.year) ؛ Serial.print ("-") ؛ // Serial.print (dt.month) ؛ Serial.print ("-") ؛ // Serial.print (dt.day) ؛ Serial.print ("") ؛ // Serial.print (dt.hour) ؛ Serial.print (":") ؛ // Serial.print (dt.minute) ؛ Serial.print (":") ؛ // Serial.print (dt.second) ؛ Serial.println ("") ؛ // // تأخير (1000) ؛ }
الخطوة 6: وضع المصابيح
في هذه المرحلة ، سأضع جميع مصابيح LED في فتحات اللوح الخشبي. تظهر اتصالات المصابيح في التخطيطي. نظرًا لأننا سنستخدم برنامج تشغيل MAX7219 LED لقيادة مصابيح LED ، يجب توصيل جميع مصابيح LED في شكل مصفوفة. لذلك ، قمت بتوصيل دبابيس الأنود لجميع مصابيح LED في كل عمود معًا وجميع دبابيس الكاثود في كل صف معًا وفقًا للتخطيط. الآن ، دبابيس العمود لدينا هي في الواقع دبابيس أنود لمصابيح LED ودبابيس الصف هي في الواقع دبابيس كاثود لمصابيح LED.
لقيادة مصابيح LED التي تستخدم MAX7219 ، يجب توصيل دبوس الكاثود الخاص بمصباح LED بمسمار رقمي من IC ودبوس الأنود في الصمام إلى دبوس قطعة من IC. لذلك ، يجب توصيل دبابيس العمود الخاصة بنا بمسامير المقطع ويجب توصيل دبابيس الصف بدبوس الأرقام الخاص بـ MAX7219.
تحتاج إلى توصيل المقاوم بين دبوس ISET و VCC الخاص بـ MAX7219 IC وهذا المقاوم يتحكم في تيار دبابيس القطعة. لقد استخدمت المقاوم 10K للحفاظ على 20mA في كل دبوس قطعة.
الخطوة 7: توصيل مصابيح LED
في هذه المرحلة ، قمت بتوصيل جميع مصابيح LED بتنسيق مصفوفة عمود الصف. كنت بحاجة إلى استخدام بعض أسلاك التوصيل الإضافية لتوصيل مصابيح LED ولكن يمكنك إجراء الاتصال دون مساعدة من الأسلاك الإضافية إذا كانت خيوط المصابيح طويلة بما يكفي للمس بعضها البعض.
في هذا التكوين ، لا يلزم وجود المقاوم لأن MAX7219 سيهتم بالتيار. واجبك هو تحديد القيمة الصحيحة لمقاوم ISET وسحب دبوس ISET باستخدام هذا المقاوم. قبل وضع وتوصيل مصابيح LED ، سأقترح عليك التحقق من كل LED. لأن وضع مؤشر LED سيئ سيقتل الكثير من الوقت. في الخطوة التالية ، سنقوم بتوصيل أسلاك الصفوف والعمود بـ MAX ic.
الخطوة 8: توصيل لوحة الدوائر بمصابيح LED
لوحة الدوائر الخاصة بنا بما في ذلك RTC و Arduino و MAX7219 جاهزة لفترة طويلة وقمنا أيضًا بإعداد مصفوفة LED في المرحلة السابقة. الآن نحن بحاجة إلى ربط كل الأشياء معًا وفقًا للتخطيط. أولاً ، نحتاج إلى توصيل أسلاك الصفوف والعمود بـ MAX7219IC. تم ذكر الاتصال في التخطيطي. لجعل الأمر أكثر وضوحًا ، اتبع الجدول الموضح أدناه.
مصفوفة LED | MAX7219CNG |
---|---|
ROW0 | الرقم 0 |
ROW1 | الرقم 1 |
ROW2 | DIGIT2 |
ROW3 | DIGIT3 |
عمود 0 | سيجا |
عمود 1 | SEGB |
عمود 2 | SEGC |
عمود 3 | SEGD |
عمود 4 | SEGE |
عمود 5 | SEGF |
ROW0-> أعلى صف
COLUMN0 -> العمود الموجود في أقصى اليمين (SS COLUMN)
بعد إجراء الاتصال ، تحتاج إلى إصلاح لوحة PCB و Arduino بقطعة الخشب لتجنب قطع الاتصال. لقد استخدمت الغراء الساخن لإصلاح جميع الدوائر في مكانها. لتجنب أي ماس كهربائي ، استخدم كمية كبيرة من الغراء لإخفاء مفصل اللحام في الجانب السفلي من ثنائي الفينيل متعدد الكلور.
لجعل الساعة قابلة للاستخدام ، تحتاج إلى الاحتفاظ بخيار لضبط الوقت عند الحاجة. أضفت ثلاثة مفاتيح أزرار لضبط الوقت. واحد لتغيير الخيار واثنين لزيادة وإنقاص الساعة والدقيقة. تم وضع الأزرار في الزاوية اليمنى العليا بحيث يمكن الوصول إليها بسهولة.
الخطوة 9: وضع الكرات
هذه هي المرحلة الأخيرة من مشروعنا. تم الانتهاء من كل اتصال الدائرة. أنت الآن بحاجة إلى وضع الرخام في الجانب العلوي من الساعة الخشبية. لقد استخدمت الغراء الساخن لوضع الرخام. استخدم عصا صمغ بيضاء شفافة للغرض. لقد قمت بتطبيق الغراء الساخن في كل ثقب من الجانب العلوي وعلى الجزء العلوي من المصابيح قمت بوضع الرخام برفق في كل ثقب. ستؤدي إضافة الغراء بالتساوي إلى زيادة توهج المصباح. لقد استخدمت BLUE LED لساعتي. أعطتني أفضل نتيجة.
أعط القوة للساعة. إذا ظهر الوقت ثم تهنئة !!!
لقد فعلتها!
يتمتع!
المركز الثاني في مسابقة Make it Glow
موصى به:
ساعة ثنائية حقيقية مع مزامنة NTP: 4 خطوات
True Binary Clock with NTP Sync: ساعة ثنائية حقيقية تعرض الوقت من اليوم كمجموع من الكسور الثنائية ليوم كامل ، على عكس & quot؛ الساعة الثنائية & quot؛ التقليدية & quot؛ يعرض الوقت كأرقام عشرية مشفرة ثنائيًا تقابل الساعات / الدقائق / الثواني. Traditiona
ساعة منبه ثنائية أردوينو DIY: 14 خطوة (مع صور)
DIY Arduino Binary Alarm Clock: إنها الساعة الثنائية الكلاسيكية مرة أخرى! ولكن هذه المرة مع المزيد من الوظائف الإضافية! في هذا الدليل ، سأوضح لك كيفية إنشاء منبه ثنائي باستخدام Arduino يمكنه أن يعرض لك ليس الوقت فحسب ، بل التاريخ والشهر ، حتى مع متعة المؤقت والمنبه
ساعة منبه ثنائية تعتمد على اردوينو: 13 خطوة (مع صور)
المنبه الثنائي القائم على Arduino: مرحبًا ، أود اليوم أن أوضح لك كيفية إنشاء أحد أحدث مشاريعي ، وهو المنبه الثنائي. هناك الكثير من الساعات الثنائية المختلفة على الإنترنت ، ولكن قد تكون هذه في الواقع هي الأولى ، المصنوعة من شريط من مصابيح LED الملونة القابلة للعنونة ،
ساعة رخامية ثنائية: 9 خطوات (مع صور)
ساعة الرخام الثنائية: هذه ساعة بسيطة تعرض الوقت (ساعات / دقائق) في نظام ثنائي باستخدام مصابيح LED مخبأة أسفل كرات زجاجية ، بالنسبة لشخص عادي تبدو مثل مجموعة من الأضواء ، لكنك ستكون قادرًا على معرفة الوقت من خلال مجرد لمحة سريعة على هذه الساعة. هو - هي
ساعة ثنائية LED: 6 خطوات (مع صور)
ساعة LED الثنائية: هذه هي المراجعة الثانية لساعة LED الثنائية القائمة على الموافقة المسبقة عن علم. كان الإصدار الأصلي هو أول مشروع للموافقة المسبقة عن علم أحاول القيام به ، فقد استخدم PIC16F84A للقيام بكل من ضبط الوقت والتحكم في مصفوفة العرض ، وللأسف لم يحافظ على الوقت الكافي