جدول المحتويات:
- الخطوة 1: احصل على الأشياء الخاصة بك
- الخطوة 2: قص اللوحة الأمامية والخلفية
- الخطوة 3: قم بإنهاء اللوحة الخلفية
- الخطوة 4: اصنع لوحة LED
- الخطوة 5: عمل دليل خفيف
- الخطوة 6: اصنع إطار الزر
- الخطوة 7: لحام ثنائي الفينيل متعدد الكلور الرئيسي
- الخطوة 8: قم بتجميع الساعة
- الخطوة 9: قم بتحميل الكود وقم بمعايرة مستشعر الضوء
- الخطوة 10: مقدمة سريعة للنظام الثنائي
- الخطوة 11: استخدام المنبه الثنائي
- الخطوة 12: فهم الكود (اختياري)
- الخطوة 13: الكلمات الأخيرة
فيديو: ساعة منبه ثنائية تعتمد على اردوينو: 13 خطوة (مع صور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
بواسطة Basement Engineering تابع المزيد من المؤلف:
حول: مرحبًا ، اسمي جان وأنا صانع ، أحب بناء وإنشاء الأشياء وأنا أيضًا جيد جدًا في إصلاح الأشياء. نظرًا لأنني أعتقد أنني أحببت دائمًا إنشاء أشياء جديدة وهذا ما أواصل القيام به حتى … المزيد عن هندسة الطوابق السفلية »
مهلا،
اليوم أود أن أوضح لكم كيفية بناء أحد أحدث مشاريعي ، المنبه الثنائي الخاص بي.
هناك الكثير من الساعات الثنائية المختلفة على الإنترنت ، ولكن قد تكون هذه في الواقع هي الأولى ، المصنوعة من شريط من مصابيح LED الملونة القابلة للعنونة ، والتي تتميز أيضًا بوظيفة التنبيه وأزرار اللمس ، لضبط أشياء مثل الوقت واللون.
من فضلك لا تدع المظهر المعقد لها يخيفك. مع القليل من الشرح ، فإن قراءة النظام الثنائي ليست في الواقع صعبة كما تبدو. وإذا كنت ترغب في تعلم شيء جديد ، أود مساعدتك في القيام بذلك لاحقًا.
دعني أخبرك قليلاً عن القصة وراء هذا المشروع:
لقد خططت في الأصل لبناء ساعة "عادية" ، تستخدم مصابيح LED كما هي ، لكن لم يكن لدي ما يكفي من مصابيح LED في متناول اليد.
سوو ، ماذا تفعل عندما تريد عرض الوقت بأقل عدد ممكن من مصابيح LED؟
أنت تصبح ثنائيًا ، وهذا بالضبط ما فعلته هنا.
هذه الساعة هي الإصدار الثالث من نوعها. لقد أنشأت نموذجًا أوليًا بسيطًا جدًا بعد أن أصابتني فكرة المشروع وأخذته إلى Maker Faire في هانوفر ، لأرى ما يفكر فيه الناس بشأنه. أثناء وجودي هناك ، تلقيت الكثير من التعليقات الإيجابية والمثيرة للاهتمام وكذلك أفكار التحسين.
نتيجة كل تلك الأفكار وساعات من التفكير ، والترقيع والبرمجة ، هو هذا المنبه الصغير المثير للاهتمام إلى حد ما ، والذي يحتوي على العديد من الميزات أكثر من الإصدار 1.0 واليوم سوف نمر في كل خطوة من خطوات عملية البناء ، لذلك يمكنك بسهولة بناء واحدة بنفسك.
يوجد أيضًا مقطع فيديو مفصل للغاية على Youtube ، في حالة عدم رغبتك في قراءة كل شيء.
الخطوة 1: احصل على الأشياء الخاصة بك
فيما يلي قائمة صغيرة بجميع المكونات والأدوات التي ستحتاجها لبناء ساعتك الثنائية.
الإلكترونيات:
- 18 مصباح Ws2811 LED (على سبيل المثال Neopixels) على شريط 60 LED لكل متر (ebay)
- اردوينو نانو (مع معالج ATMega328) (إيباي)
- 1307 RTC module (ebay)
- 4 أزرار تعمل باللمس بالسعة (إيباي)
- حساس درجة الحرارة الرقمي bs18b20 (ebay)
- LDR (موقع ئي بأي)
- مكبر صوت كمبيوتر محمول / هاتف ذكي أو جرس بيزو
- 2222A NPN الترانزستور (أو شيء مشابه)
- رؤوس الذكور
- رؤوس أنثى بزاوية (ebay)
- 1 كيلو أوم المقاوم
- 4 ، 7 كيلو أوم المقاوم
- 10 كيلو أوم المقاوم
- الأسلاك
- 7 × 5 سم للنماذج الأولية PCB 24x18 فتحات (ebay)
- سلك فضي (سلك مجوهرات) (باي)
- محول USB صغير 90 درجة (ebay)
مواد اخرى
- غلاف الفينيل
- مسامير رأس شفة 4 × 45 مم M4 (ebay)
- غسالات معدنية 32X م 4
- 4X m4 قفل الجوز
- 28X m4 الجوز
- 4X 10mm m3 النحاس PCB المواجهة (ebay)
- برغي 8X 8mm m3 (ebay)
- ورقة الألمنيوم
- صفيحة 2 مم من الأكريليك الحليبي
- ورقة 2 مم من الأكريليك الشفاف
- ورقة 3 مم من MDF
- شريط مزدوج
أدوات
- كبل USB صغير
- كمبيوتر يقوم بتشغيل Arduino IDE
- 3 ، 5 مم مثقاب
- 4 ، 5 مم مثقاب
- حافر كهربائي
- سكين القطع
- منشار التأقلم
- ايون اللحام
- مقص قطع المعادن
- ملف
- ورق رملي
القوالب (الآن بأبعاد)
- بي دي إف
- قرعة مكتب ليبر
الشفرة
- اسكتشات
- مكتبة الأزرار
- مكتبة الموقت
- مكتبة Jukebox
- تم تعديل RTClib
- مكتبة Adafruit Neopixel
- مكتبة التحكم في درجة الحرارة اردوينو
الخطوة 2: قص اللوحة الأمامية والخلفية
أول قطعة سنقوم بصنعها هي اللوحة الأمامية المصنوعة من الأكريليك. نحدد المكان الذي نريد أن تذهب إليه تخفيضاتنا ، مع الأخذ في الاعتبار أننا نريد القليل من التسامح مع الصنفرة. ثم نقوم بكشط الأكريليك بسكين القطع. بعد أن فعلنا ذلك من 10 إلى 20 مرة ، لدينا أخدود. يمكننا بعد ذلك وضع البستان على حافة طاولة وثني الأكريليك حتى ينكسر.
بعد قطع اللوحة الأمامية بالحجم ، قمنا بقص اللوحة الخلفية من قطعة من MDF. يمكننا استخدام منشار المواجهة الخاص بنا لهذا الغرض ولكن سكين القطع يعمل أيضًا. علينا فقط تثبيت MDF على قطعة خردة من الخشب وكشطها بسكين القطع حتى تمر الشفرة ونحصل على قطعتين فرديتين.
الآن نقوم بتجميع اللوحين معًا ورمل كل جانب لتحقيق محاذاة مثالية.
بعد الانتهاء من ذلك ، قمنا بقص القالب الأول ووضعناه على اللوحين باستخدام بعض الأشرطة والبدء في حفر الثقوب المحددة.
نقوم أولاً بحفر ثقب 4 ، 5 مم في كل زاوية من الزوايا الأربع. نظرًا لأن الأكريليك هش جدًا ولا نريد أن ينكسر ، سنبدأ بقطعة صغيرة ونعمل في طريقنا حتى نصل إلى قطر الفتحة المطلوب. ثم نستخدم القالب لرمل الزوايا بالشكل الصحيح.
الخطوة 3: قم بإنهاء اللوحة الخلفية
في الوقت الحالي ، يمكننا وضع اللوحة الأمامية جانبًا وإلصاق القالب الثاني على اللوحة الخلفية ، حيث نحتاج إلى استخدام مثقاب 3 ، 5 مم لحفر الثقوب من أجل مواجهاتنا المكونة من 4 ثنائي الفينيل متعدد الكلور ، بالإضافة إلى 4 فتحات تحدد الحواف للنافذة الخلفية الصغيرة.
ثم نستخدم منشار المواجهة لقص النافذة وتنعيم الحواف بملف. أنت أيضًا لا تريد أن تنسى حفر الفتحة الخاصة بكابل USB الصغير (سمعت عن صانع غير مركّز جدًا ، يميل إلى القيام بمثل هذه الأشياء: D).
نظرًا لأننا انتهينا الآن من قطع اللوحة الخلفية ، يمكننا المضي قدمًا في لفها بغلاف من الفينيل. نحن ببساطة نقطع قطعتين إلى الحجم الصحيح ونطبق الجزء الأول على جانب واحد. ثم قطعنا الحافات وحررنا النافذة. يمكن أن يساعد مجفف الشعر في إظهار كل الثقوب مرة أخرى ، حتى نتمكن من قطعها أيضًا. بعد القيام بنفس الشيء للجانب الآخر ، نستخدم نموذجنا التالي وتقنية الكشط والكسر الخاصة بنا لإنشاء نافذة أكريليك صغيرة للوحة الخلفية لدينا.
الخطوة 4: اصنع لوحة LED
نأتي الآن إلى أهم ما يميز هذا المشروع ، بالمعنى الحرفي للكلمة. لوحة LED.
نستخدم مقص القطع المعدني الخاص بنا لقص قطعة من الصفائح المعدنية مقاس 12 ، 2 سم × 8 سم. كن حذرًا أثناء القيام بذلك ، لأن المقص يخلق حوافًا حادة جدًا. سنقوم بتنعيم هذه الملفات مع بعض ورق الصنفرة. ثم نضيف القالب التالي لحفر ثقوب للبراغي والأسلاك.
حان الوقت لإعداد مصابيح LED الفعلية.
أولاً ، قمنا بتقطيعها إلى ثلاثة شرائح كل منها 6 مصابيح LED. تأتي بعض شرائط LED بطبقة رقيقة جدًا من اللصق أو لا تحتوي على مادة لاصقة على الإطلاق ، لذلك سنقوم بإلصاق شرائطنا على قطعة من الشريط ذي الوجهين ونقطعها إلى الحجم بسكين. سيؤدي ذلك إلى جعله يلتصق باللوحة المعدنية ، وعلى الرغم من أن هذا ليس حلاً احترافيًا ، إلا أنه سيعزل الوسادات النحاسية عن السطح المعدني تحتها.
قبل أن نلصق الشرائط فعليًا على اللوحة ، نقوم بتنظيفها بالكحول. أثناء إرفاق مصابيح LED ، يتعين علينا التأكد من وضعها في المكان المناسب وكذلك في الاتجاه الصحيح. تشير الأسهم الصغيرة الموجودة على شريط LED إلى الاتجاه الذي تنتقل فيه البيانات عبر الشريط.
كما ترى في الصورة الخامسة ، يأتي خط البيانات الخاص بنا من الزاوية اليسرى العلوية للوحة ، ويمر عبر الشريط الأول على طول الطريق إلى الجانب الأيمن ، ثم يعود إلى بداية الشريط التالي على اليسار وما إلى ذلك.. لذا يجب أن تشير جميع الأسهم إلى الجانب الأيمن.
دعونا نقوم بتسخين أيون اللحام الخاص بنا ونضع بعض القصدير على الوسادات النحاسية ، وكذلك على الأسلاك الخاصة بنا. يتم توصيل خطوط البيانات كما وصفت للتو ، بينما نقوم ببساطة بتوصيل وسادات الشريط الموجب والناقص بالتوازي.
بعد توصيل الشرائط بالأسلاك ، نستخدم سكيننا لرفع نهايات كل شريط بعناية أثناء الضغط على LED لأسفل ، بحيث لا يزالون يشيرون إلى الأعلى. ثم نضع بعض الغراء الساخن تحتها لعزل مفاصل اللحام.
بعد الانتهاء من ذلك ، نضيف بعض دبابيس الرأس إلى الأسلاك التي تنتقل إلى PCB. يجب أن يبلغ طول هذه الأسلاك حوالي 16 سم. للتأكد من أن اللوحة المعدنية لا تقصر أي شيء ، نستخدم مقياس متعدد لقياس المقاومة بين جميع المسامير. إذا أظهر أي شيء أعلى من 1 كيلو أوم ، فكل شيء على ما يرام.
الآن يمكننا توصيله بـ Arduino ، وإجراء اختبار حبلا والاستمتاع بالألوان.
الخطوة 5: عمل دليل خفيف
إذا وضعنا لوحة LED خلف الأكريليك الحليبي مباشرةً ، فقد يصبح من الصعب جدًا التمييز بين مصابيح LED الفردية. هذا سيجعل قراءة ساعتنا أكثر صعوبة مما هي عليه بالفعل.
لحل هذه المشكلة ، سنجعل أنفسنا دليلًا صغيرًا للضوء. لهذا قمنا ببساطة بقطع قطعة أخرى من MDF ، بنفس حجم اللوحة الأمامية. ثم نضيف إليه قالبًا آخر ونحفر ثمانية عشر ثقبًا 3 ، 5 مم لمصابيح LED ، بالإضافة إلى أربعة فتحات 4 ، 5 مم للمسامير الموجودة فيه. يمكننا بعد ذلك تثبيته على اللوحة الأمامية واستخدام بعض ورق الصنفرة لمحاذاة الاثنين.
كما ترى في الصورة الأخيرة ، يبدو الضوء أكثر تركيزًا الآن.
الخطوة 6: اصنع إطار الزر
مكون الضميمة الأخير ، الذي سنقوم بصنعه ، هو إطار الزر.
نحن ، مرة أخرى ، نقطع قطعة من MDF بالحجم الصحيح ونضيف إليها قالبًا ، ثم نحفر جميع الثقوب اللازمة ونستخدم منشار المواجهة الخاص بنا ، لقطع القسم الأوسط.
من المفترض أن يحتفظ إطارنا بأزرار اللمس الأربعة ومستشعر الضوء ومكبر الصوت الصغير في مكانه. قبل أن نتمكن من إرفاقها بالإطار ، قمنا بقص قطعتين من قطع الغطاء الأصغر من MDF. ثم نلصق مكوناتنا بالغراء الساخن على تلك الأغطية ونضيف إليها أسلاكًا.
يتم توصيل وسادات الطاقة لزر اللمس بشكل متوازٍ ، بينما يحصل كل خط إخراج على سلك فردي. هذه أيضًا لحظة جيدة لاختبار ما إذا كانوا جميعًا يعملون. نظرًا لأن مستشعر الضوء يحتاج إلى 5 فولت على جانب واحد ، يمكننا ببساطة توصيله بأزرار الإنذار لوحة VCC ولحام سلك بالساق الأخرى.
بعد تجهيز الألواح ، نقطع جوانب الإطار لإفساح المجال لهم ولأسلاكهم.
ثم نقوم بإزالة غبار الخشب من جميع القطع بواسطة مكنسة كهربائية ونغطيها بغلاف من الفينيل.
نستخدم السكين الدقيق لإزالة قطع الفينيل ، مباشرة فوق المناطق الحساسة من وحدات اللمس الخاصة بنا. باستخدام بعض الأشرطة ذات الوجهين ، يمكننا بدلاً من إرفاق الأزرار الخاصة بنا إلى MDF. لقد صنعت الأزرار من الإسفنج المطاطي ، مما يمنحها ملمسًا لطيفًا وناعمًا ، ولكن يمكنك استخدام أي مادة غير معدنية تريدها.
على الإطار ، نستخدم السكين الخاص بنا لتحرير جزء صغير من MDF مرة أخرى ، مما يمنحنا سطحًا قويًا للالصقة الساخنة. ثم يمكننا أخيرًا لصق المكونات على جوانب إطارنا.
الخطوة 7: لحام ثنائي الفينيل متعدد الكلور الرئيسي
دعنا نترك الإطار كما هو الآن وننتقل إلى PCB. يمكنك رؤية تخطيط ثنائي الفينيل متعدد الكلور في الصورة الأولى.
نبدأ بوضع المكونات ذات أدنى ملف تعريف على لوحة الدائرة. أصغر المكونات هي الجسور السلكية ، والتي تذكرتها بعد فوات الأوان ، لذلك بدأت بالمقاومات. نحن نلحم مكوناتنا في مكانها وننتقل إلى المجموعة الأعلى التالية من المكونات.
بعد ذلك لدينا دبابيس رأس أنثى. لتوفير بعض المساحة ولتتمكن من توصيل إلكترونياتنا من الجانب ، نقوم بتركيبها بزاوية 90 درجة.
لا تتناسب الترانزستورات حقًا مع تباعد الفتحات البالغ 2 ، 54 مم لثنائي الفينيل متعدد الكلور ، لذلك نستخدم كماشة لدينا لثني أرجلهم بعناية إلى الشكل الموضح في الصورة الثانية. نقوم أولاً بلحام إحدى أرجلهم في مكانها وقلب PCB حولها. ثم نقوم بإعادة تسخين مفصل اللحام واستخدام إصبعنا أو زوج من الكماشة لوضع المكون بشكل صحيح. الآن يمكننا لحام الساقين الأخريين في مكانهما.
بعد كل المكونات الصغيرة ، نقوم بلحام Arduino ووحدة الساعة في الوقت الحقيقي. لا تتناسب وحدة RTC أيضًا مع تباعد الفتحات جيدًا ، لذلك سنقوم فقط بتجهيز الجانب ، الذي يحتوي على 7 وسادات لحام مع دبابيس رأس. علاوة على ذلك ، نضع بعض الشريط اللاصق تحته لمنع حدوث أي قصر في الدائرة.
نظرًا لأن جميع مكوناتنا ملحومة في مكانها ، فقد حان الوقت الآن لإجراء التوصيلات على الجانب الآخر من اللوحة. لهذا سنقوم بإخراج سلكنا غير المعزول. يمكن استخدام زوج من الكماشة لتقويمها. ثم نقطع السلك إلى قطع أصغر ونلحمه في ثنائي الفينيل متعدد الكلور.
لإجراء اتصال ، نقوم بتسخين مفصل اللحام وإدخال السلك. ثم نحتفظ بأيون اللحام عليها ، حتى تصل إلى درجة الحرارة المناسبة ويقوم اللحام بإرفاقها ونحصل على مفصل يشبه الموجود في الصورة. إذا لم نقم بتسخين السلك ، فقد ينتهي بنا الأمر بمفصل بارد ، والذي سيبدو مشابهًا للمثال الآخر ولا يعمل جيدًا. يمكننا استخدام قاطع الأسلاك الخاص بنا ، لدفع السلك لأسفل أثناء اللحام والتأكد من وضعه بشكل مسطح على PCB. في مسارات الاتصال الأطول ، نقوم بلحامها بلوحة واحدة كل 5 إلى 6 فتحات حتى نصل إلى الزاوية أو المكون التالي.
في الزاوية ، قمنا بقطع السلك فوق النصف الأول من وسادة اللحام ولحام نهايته. ثم نأخذ قطعة سلك جديدة ونمضي من هناك بزاوية قائمة.
إن إجراء هذه الوصلات السلكية الفارغة أمر صعب للغاية ويتطلب بعض المهارة ، لذلك إذا كنت تفعل ذلك لأول مرة ، فمن المؤكد أنها ليست فكرة سيئة أن تمارسها على قطعة خردة من ثنائي الفينيل متعدد الكلور ، قبل محاولة القيام بذلك على جهاز حقيقي.
بعد أن ننتهي من اللحام ، نتحقق من التوصيلات مرة أخرى ونتأكد من أننا لم ننتج أي دوائر قصيرة. ثم يمكننا وضع PCB داخل إطار الزر واستخدامه كمرجع لأطوال أسلاك الإطار الضرورية. ثم نقطع هذه الأسلاك إلى الطول المناسب ونضيف إليها دبابيس رأس ذكرية.
يتم دمج جميع التوصيلات 5V والأرضية لأزرار اللمس معًا في موصل 2pin ، وتحصل أسلاك الإخراج الأربعة على موصل 4pin وخط مستشعر الضوء بالإضافة إلى سلكي مكبرين مدمجين في موصل ثلاثي السنون. لا تنسَ وضع علامة على جانب واحد من كل مقبس وموصل باستخدام شارب ، أو بعض الشريط اللاصق ، حتى لا تقوم بتوصيلهما عن طريق الخطأ بطريقة خاطئة.
الخطوة 8: قم بتجميع الساعة
بعد ذلك ، عدت إلى اللوحة الأمامية وقمت بتطبيق ملصق بعناية ، مصنوع من رقائق طابعة ليزر شفافة ، كلمسة نهائية.
على الرغم من أنني قمت بتطبيقه بحذر شديد ، إلا أنني لم أتمكن من الحصول على نتيجة خالية من الفقاعات ، والتي للأسف يمكن رؤيتها بوضوح عند الفحص الدقيق. لا يلتصق الرقاقة أيضًا بالزوايا جيدًا ، لذلك لا يمكنني حقًا أن أوصي بهذا الحل.
من المحتمل أن يتم ذلك باستخدام ملصق أفضل ، أو إذا كنت جيدًا في الرسم ، فيمكنك إضافة الأرقام باستخدام أداة حادة.
الآن لدينا جميع المكونات ويمكننا تجميع ساعتنا.
نبدأ بوضع دليل الضوء واللوحة الأمامية معًا. بعد إدخال جميع البراغي الأربعة ، نقوم بمحاذاة اللوحين ثم إحكام ربطهما. يأتي بعد ذلك زوج من المكسرات لوحة الإضاءة ، حيث يتعين علينا إلقاء نظرة على الاتجاه. يجب أن يكون الكابل في الأعلى.
القطعة الثالثة هي إطار الزر. ضع في اعتبارك أنه عند النظر من الجانب الأمامي ، يجب أن يكون مكبر الصوت على الجانب الأيمن من الساعة. اسحب كابل لوحة LED الخاصة بك عبر منتصف الإطار ، قبل تثبيته في مكانه.
الآن نضع التجميع الأمامي وننتقل إلى اللوحة الخلفية. في الصورة ، يمكنك أيضًا رؤية مهايئ USB الصغير المصغر بزاوية 90 درجة. لقد قمت بربطك بمحول مناسب ، لذلك لن تضطر إلى التعامل مع هذا النوع من الفوضى. يمكنك ببساطة توصيل المحول وتشغيل الكابل من خلال فتحة في اللوحة الخلفية.
نأخذ مسامير M3 وفواصل PCB الخاصة بنا لإصلاح النافذة الصغيرة. من المهم إحكام ربط المسامير بحرص ، لأننا لا نريد إتلاف الأكريليك الخاص بنا. ثم نأخذ PCB الخاص بنا ، ونقوم بتوصيل المحول الخاص بنا ولفه على الفواصل. يجب أن يكون جانب المكون مواجهًا للنافذة ، بينما يواجه منفذ USB في Arduino الجزء السفلي من الساعة.
ثم نقوم بتوصيل جميع الموصلات من المجموعة الأمامية ، مع مراعاة القطبية والضغط بعناية على جميع الأسلاك في الساعة. يمكننا بعد ذلك إغلاقها باللوحة الخلفية وشد صواميل القفل الأربعة المتبقية.
في النهاية ، تريد أن يكون لديك غسالة على كل جانب من كل لوحة ، بينما يتم وضع موجه الضوء خلف اللوحة الأمامية مباشرة. لدينا صامولة واحدة بين دليل الضوء ولوحة led واثنتين أخريين ، تفصلها عن إطار الزر. يمكنك أيضًا رؤية ذلك في الصورة الأخيرة.
نظرًا لأنني استخدمت مسامير قصيرة بطول 40 مم ، فلدي فقط 3 صواميل تبقي اللوحة الخلفية والإطار منفصلين. باستخدام البراغي الصحيحة مقاس 45 مم ، يمكنك إضافة صمولة أخرى هنا ، بالإضافة إلى حلقة أو اثنتين إضافيتين. في نهاية التجميع ، لدينا صامولة القفل ، بحيث يبقى كل شيء في مكانه.
الخطوة 9: قم بتحميل الكود وقم بمعايرة مستشعر الضوء
حان الوقت لتحميل الكود الخاص بنا.
أولاً نقوم بتنزيل جميع الملفات الضرورية وفك ضغطها. ثم نفتح مجلد مكتبات Arduino الخاصة بنا ونُسقط جميع المكتبات الجديدة فيه.
نفتح الآن رسم معايرة مستشعر الضوء ، والذي سيوفر لنا القيم الساطعة والمظلمة لوظيفة التعتيم التلقائي للساعة. نقوم بتحميله وفتح الشاشة التسلسلية واتباع التعليمات التي تظهر على الشاشة.
بعد الانتهاء من ذلك ، نفتح الكود الفعلي للساعات الثنائية ونستبدل القيمتين بالقيمتين اللتين قمنا بقياسهما للتو.
نغلق جميع النوافذ الأخرى ، ونقوم بتحميل الكود على ساعتنا وننتهي.
حان الوقت للعب مع أداتنا الجديدة.
الخطوة 10: مقدمة سريعة للنظام الثنائي
قبل أن نمضي قدمًا ، أود أن أجيب على السؤال الوحيد الذي ربما يكون قد خطر ببالك بالفعل ،
"كيف في العالم تقرأ هذه الساعة؟"
حسنًا ، لهذا أود أن أقدم لكم مقدمة قصيرة عن النظام الثنائي.
نحن جميعًا على دراية بالنظام العشري ، حيث يمكن أن يحتوي كل رقم على 10 حالات مختلفة ، تتراوح من 0 إلى 9. في النظام الثنائي ، يمكن أن يحتوي كل رقم على حالتين فقط ، إما 1 أو 0 لهذا السبب يمكنك استخدام شيء بسيط مثل المصطلح عرض رقم ثنائي.
لعرض الأرقام التي تكون أكبر من 9 في النظام العشري ، نضيف المزيد من الأرقام. كل رقم يأتي مع مضاعف معين. يأتي الرقم الأول من اليمين بمضاعف 1 ، والرقم التالي هو 10 والآخر 100. مع كل رقم جديد ، يكون المضاعف أكبر بعشر مرات من الرقم السابق. فنحن نعلم أن العدد الثاني الذي يوضع رقمًا واحدًا إلى اليسار يمثل العدد 20. بينما رقمين إلى اليسار ، فإنه يمثل 200.
في النظام الثنائي ، يأتي كل رقم أيضًا مع مضاعف. ومع ذلك ، نظرًا لأن كل رقم يمكن أن يكون له حالتان مختلفتان فقط ، فإن كل مضاعف جديد أكبر بمرتين من الرقم السابق. وبالمناسبة ، تسمى الأرقام الثنائية بت. لذلك دعونا نلقي نظرة على مثالنا الأول ، إذا وضعنا 1 في الموضع الأدنى ، فسيكون 1 بسيطًا ، لكن إذا وضعناه في الموضع الأعلى التالي ، حيث يكون المضاعف 2 ، فإنه يمثل الرقم 2 في النظام الثنائي.
ماذا عن المثال الأكثر تعقيدًا في الجزء السفلي من الصورة. البت الثالث والأول قيد التشغيل. للحصول على الرقم العشري الذي يتم تمثيله هنا ، نقوم ببساطة بإضافة قيم البتتين. إذن 4 * 1 + 1 * 1 أو 4 + 1 يعطينا الرقم 5.
يُشار إلى 8 بتات على أنها بايت ، لذلك دعونا نرى الرقم الذي نحصل عليه إذا ملأنا بايتًا كاملاً بالبايت.1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 أي 255 وهي أعلى قيمة يمكن أن تمتلكها بايت واحد.
بالمناسبة ، بينما في النظام العشري ، دائمًا ما يأتي الرقم الذي يحتوي على أكبر مضاعف أولاً ، لديك طريقتان لكتابة رقم في النظام الثنائي. تسمى هاتان الطريقتان بالبايت الأقل أهمية أولاً (LSB) والأكثر أهمية أولاً (MSB). إذا كنت تريد قراءة رقم ثنائي ، فعليك معرفة أي من التنسيقين يتم استخدامه. نظرًا لأنها أقرب إلى النظام العشري ، تستخدم ساعتنا الثنائية متغير MSB.
دعنا نعود إلى مثالنا في العالم الحقيقي. كما هو موضح في الصورة السادسة ، تحتوي ساعتنا على 4 بتات لعرض الساعة. من لدينا 6 بتات للدقيقة وأيضًا 6 بتات للثانية. علاوة على ذلك ، لدينا بت واحد صباحًا / مساءً.
حسنًا ، أخبرني ما هو الوقت في الصورة السادسة ، ثم انتقل إلى الصورة السابقة.. ….
في قسم الساعات ، لدينا 2 + 1 وهو 3 ويكون الجزء المسائي قيد التشغيل لذا فهو المساء. بعد الدقيقة 32 + 8 ، أي 40. بالنسبة للثواني لدينا 8 + 4 + 2 وهي 14. لذا فهي 3:40:14 مساءً أو 15:40:14.
تهانينا ، لقد تعلمت للتو قراءة ساعة ثنائية. بالطبع يستغرق الأمر بعض الوقت لتعتاد عليه وفي البداية سيكون عليك جمع الأرقام معًا ، في كل مرة تريد أن تعرف فيها الوقت ، ولكن على غرار الساعة التناظرية بدون قرص ، تعتاد على أنماط LED المنتهية زمن.
وهذا جزء مما يدور حوله هذا المشروع ، حيث يأخذ شيئًا مجردًا مثل النظام الثنائي إلى العالم الحقيقي والتعرف عليه بشكل أفضل.
الخطوة 11: استخدام المنبه الثنائي
الآن نريد أخيرًا اللعب مع الساعة ، لذلك دعونا نلقي نظرة سريعة على عناصر التحكم.
يمكن للبرنامج التمييز بين نقرة زر واحدة ونقرة مزدوجة ونقرة طويلة. لذلك يمكن استخدام كل زر لإجراءات متعددة.
يؤدي النقر المزدوج على الزر لأعلى أو لأسفل إلى تغيير وضع ألوان LED. يمكنك الاختيار بين أوضاع ألوان مختلفة ثابتة وباهتة بالإضافة إلى وضع درجة الحرارة. إذا كنت في أحد أوضاع الألوان الثابتة ، فإن الضغط على الزر لأعلى أو لأسفل يغير اللون. في وضع التلاشي ، تعمل نقرة واحدة على تغيير سرعة الرسوم المتحركة.
لتعيين وضع باهتة ، انقر نقرًا مزدوجًا على زر موافق. تشير لوحة LED إلى الوضع المحدد من خلال الوميض عدة مرات.
- مرة واحدة لا يعني باهتة.
- مرتين تعني أن السطوع يتحكم فيه مستشعر الضوء.
- ثلاث مرات وينطفئ مؤشر LED تلقائيًا بعد 10 ثوانٍ من عدم النشاط.
- يتم الجمع بين أربع مرات وكلا الوضعين الباهت.
سيؤدي الضغط لفترة طويلة على زر موافق إلى الانتقال إلى وضع ضبط الوقت ، حيث يمكنك استخدام السهمين لأعلى ولأسفل لتغيير الرقم. نقرة واحدة على زر موافق تنقلك من الساعات إلى الدقائق ، بنقرة واحدة أخرى ويمكنك ضبط الثواني. بعد ذلك ، نقرة أخيرة تحفظ الوقت الجديد. إذا دخلت إلى وضع ضبط الوقت ، يمكنك ببساطة الانتظار لمدة 10 ثوانٍ وستتركه الساعة تلقائيًا.
كما هو الحال مع زر موافق ، يتيح لك الضغط لفترة طويلة على زر التنبيه ضبط المنبه. يؤدي النقر المزدوج على زر التنبيه إلى تنشيط التنبيه أو إلغاء تنشيطه.
إذا كانت الساعة ترن ، يمكنك النقر مرة واحدة على زر التنبيه ، لإرساله إلى وضع السكون لمدة 5 دقائق أو الضغط عليه ، لإلغاء تنشيط المنبه.
كانت هذه جميع الوظائف التي قامت بها الساعة حتى الآن. قد أضيف المزيد في المستقبل يمكنك الحصول عليه ، إذا قمت بتنزيل أحدث إصدار من البرنامج الثابت.
الخطوة 12: فهم الكود (اختياري)
أعلم أن الكثير من الناس لا يحبون البرمجة كثيرًا. لحسن الحظ بالنسبة لهؤلاء الأشخاص ، ليست هناك حاجة إلى معرفة برمجية لبناء واستخدام هذه الساعة الثنائية. لذلك إذا كنت لا تهتم بجانب البرمجة ، يمكنك ببساطة تخطي هذه الخطوة.
ومع ذلك ، إذا كنت مهتمًا بجزء الترميز ، أود أن أقدم لك نظرة عامة على البرنامج.
سيكون شرح كل التفاصيل الصغيرة لرمز الساعات أمرًا تعليميًا بحد ذاته ، لذلك سأبقيها بسيطة من خلال شرح البرنامج بطريقة موجهة للكائنات.
في حال كنت لا تعرف ما يعنيه ذلك ، فإن البرمجة الموجهة للكائنات (OOP) هي مفهوم لمعظم لغات البرمجة الحديثة مثل C ++. يسمح لك بتنظيم وظائف ومتغيرات مختلفة في ما يسمى بالفئات. الفئة عبارة عن قالب يمكنك من خلاله إنشاء كائن واحد أو أكثر. يحصل كل عنصر من هذه الكائنات على اسم ومجموعة من المتغيرات الخاصة به.
على سبيل المثال ، يستخدم رمز الساعة عدة كائنات MultiTouchButton مثل زر التنبيه. هذه كائنات من فئة MultiTouchButton ، والتي تعد جزءًا من مكتبة Button الخاصة بي. الشيء الرائع في هذه الأشياء هو أنه يمكنك التفاعل معها على غرار كائنات العالم الحقيقي. على سبيل المثال ، يمكننا التحقق مما إذا كان زر الإنذار قد تم النقر عليه مرتين عن طريق استدعاء alarmButton.wasDoubleTapped (). علاوة على ذلك ، يتم إخفاء تنفيذ هذه الوظيفة بشكل جيد في ملف مختلف ولا داعي للقلق بشأن كسرها ، عن طريق تغيير أي شيء آخر في التعليمات البرمجية الخاصة بنا. يمكن العثور على دخول سريع إلى عالم البرمجة الشيئية على موقع Adafruit.
كما ترى في الرسم أعلاه ، يحتوي برنامج الساعات على مجموعة من الكائنات المختلفة.
لقد تحدثنا للتو عن كائنات الزر ، والتي يمكنها تفسير إشارات الإدخال على أنها نقرة أو نقرة مزدوجة أو ضغطة طويلة.
صندوق الموسيقى ، كما يوحي اسمه ، يمكن أن يُحدث ضوضاء. لها عدة ألحان يمكن عزفها من خلال مكبر صوت صغير.
يقوم كائن binaryClock بإدارة الوقت وإعدادات التنبيه ، بالإضافة إلى مراقبة التنبيه. علاوة على ذلك ، تحصل على الوقت من وحدة rtc وتحولها إلى مخزن معلومات ثنائي للوحة ledPanel.
يقوم ColorController بتغليف جميع وظائف تأثير اللون ويوفر ColorBuffer للوحة ledPanel. كما أنه يحفظ حالته في Arduinos EEProm.
باهتة يعتني سطوع الساعات. لها أوضاع مختلفة يمكن للمستخدم التنقل خلالها. يتم أيضًا حفظ الوضع الحالي في EEProm.
تدير لوحة ledPanel مخازن مختلفة لقيمة اللون وقيمة السطوع والحالة الثنائية لكل LED. عندما يتم استدعاء وظيفة pushToStrip () ، فإنها تراكب تلك وترسلها إلى شريط LED.
جميع الكائنات "متصلة" من خلال main (الملف الذي يحتوي على وظائف الإعداد والحلقة) ، والذي يتضمن فقط وظيفتين لأداء 3 مهام أساسية.
- تفسير مدخلات المستخدم - إنها تحصل على المدخلات من كائنات الأزرار الأربعة وتضعها في منطق. يتحقق هذا المنطق من الحالة الحالية للساعة لتحديد ما إذا كانت الساعة في الوضع الطبيعي ، أو ضبط الوقت أو وضع الرنين واستدعاء وظائف مختلفة من الكائنات الأخرى وفقًا لذلك.
- إدارة الاتصال بين الكائنات - يسأل باستمرار كائن binaryClock ، إذا كان لديه معلومات جديدة متاحة أو إذا كان التنبيه رنينًا (). إذا كانت تحتوي على معلومات جديدة ، فإنها تحصل على مخزن المعلومات من binaryClock وترسلها إلى كائن ledPanel. إذا كانت الساعة ترن ، فإنها تبدأ في تشغيل صندوق الموسيقى.
- تحديث الكائنات - يحتوي كل عنصر من كائنات البرنامج على إجراء تحديث ، يتم استخدامه لأشياء مثل التحقق من المدخلات أو تغيير ألوان LED. يجب استدعاء هؤلاء بشكل متكرر في وظيفة الحلقة حتى تعمل الساعة بشكل صحيح.
يجب أن يمنحك ذلك فهمًا عامًا لكيفية عمل الأجزاء الفردية من التعليمات البرمجية معًا. إذا كان لديك المزيد من الأسئلة المحددة ، يمكنك ببساطة أن تسألني.
نظرًا لأن Code الخاصة بي بعيدة كل البعد عن الكمال ، سأقوم بتحسينها في المستقبل ، لذلك قد تتغير بعض الوظائف. الشيء الرائع في OOP هو أنه سيظل يعمل بطريقة مشابهة جدًا ولا يزال بإمكانك استخدام الرسم لفهمه.
الخطوة 13: الكلمات الأخيرة
أنا سعيد لأنك واصلت القراءة حتى هذه النقطة. هذا يعني أن مشروعي لم يكن مملًا جدًا:).
لقد وضعت الكثير من العمل في هذه الساعة الصغيرة والمزيد من العمل في جميع الوثائق والفيديو ، لتسهيل الأمر عليك ، لإنشاء المنبه الثنائي الخاص بك. آمل أن جهدي كان يستحق كل هذا العناء ويمكنني أن أجمعك بفكرة رائعة لمشروعك القادم في عطلة نهاية الأسبوع أو على الأقل أعطيك بعض الإلهام.
أحب أن أسمع رأيك حول الساعة في التعليقات أدناه:).
على الرغم من أنني حاولت تغطية كل التفاصيل ، ربما فاتني شيء أو اثنين. لذلك لا تتردد في السؤال ، إذا كانت هناك أية أسئلة متبقية.
كما هو الحال دائمًا ، شكرًا جزيلاً على القراءة والسعادة.
الوصيف في مسابقة LED 2017
موصى به:
ساعة منبه ذكية: ساعة منبه ذكية مصنوعة من Raspberry Pi: 10 خطوات (مع صور)
المنبه الذكي: ساعة منبه ذكية مصنوعة من Raspberry Pi: هل سبق لك أن أردت ساعة ذكية؟ إذا كان الأمر كذلك ، فهذا هو الحل المناسب لك! لقد صنعت Smart Alarm Clock ، هذه ساعة يمكنك تغيير وقت التنبيه وفقًا لموقع الويب. عندما يرن المنبه ، سيصدر صوت (صفارة) وسيصدر مصباحان
ساعة منبه ثنائية أردوينو DIY: 14 خطوة (مع صور)
DIY Arduino Binary Alarm Clock: إنها الساعة الثنائية الكلاسيكية مرة أخرى! ولكن هذه المرة مع المزيد من الوظائف الإضافية! في هذا الدليل ، سأوضح لك كيفية إنشاء منبه ثنائي باستخدام Arduino يمكنه أن يعرض لك ليس الوقت فحسب ، بل التاريخ والشهر ، حتى مع متعة المؤقت والمنبه
ساعة منبه مع اردوينو: 13 خطوة (مع صور)
صفعة المنبه مع Arduino: لا أعرف عنك ، لكن المنبه البسيط غير قادر على إيقاظي. أحتاج إلى ضوء وصوت وحتى صفعة خفيفة حتى أستيقظ. لا يوجد منبه يروق لي ، لذلك قررت أن أجعل نفسي واحدًا يستحق إيقاظي ، على الرغم من أنه يبدو أنه المنبه أنا
Dotter - طابعة نقطية ضخمة تعتمد على اردوينو: 13 خطوة (مع صور)
Dotter - طابعة نقطية ضخمة قائمة على Arduino: مرحبًا ، مرحبًا بكم في هذه التعليمات :) أنا صانع Nikodem Bartnik يبلغ من العمر 18 عامًا. لقد صنعت الكثير من الأشياء ، الروبوتات ، والأجهزة خلال 4 سنوات من صنعها. لكن ربما يكون هذا المشروع هو الأكبر عندما يتعلق الأمر بالحجم. كما أعتقد أنه مصمم بشكل جيد للغاية ،
ساعة منبه بإضاءة ليد مع منبه أغنية قابل للتخصيص: 7 خطوات (مع صور)
منبه LED لشروق الشمس مع منبه الأغاني القابل للتخصيص: حافزي هذا الشتاء واجهت صديقتي الكثير من المتاعب عند الاستيقاظ في الصباح ويبدو أنها تعاني من SAD (الاضطراب العاطفي الموسمي). حتى أنني لاحظت مدى صعوبة الاستيقاظ في الشتاء لأن الشمس لم تأت