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

Wort-Uhr: 5 خطوات
Wort-Uhr: 5 خطوات

فيديو: Wort-Uhr: 5 خطوات

فيديو: Wort-Uhr: 5 خطوات
فيديو: ЖЕНСКАЯ ГРУДЬ - ПОМОЩЬ за 5 секунд 2024, شهر نوفمبر
Anonim
نبتة عهر
نبتة عهر

مرحبا سويا!

سيكون هذا أول تعليمات لي ، وإذا كان لديك أي أفكار حول كيفية تحسينه أو تسهيل الفهم ، فلا تتردد في الاتصال بي!

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

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

دعنا نبدأ…

الخطوة 1: التخطيطي

التخطيطي
التخطيطي

التخطيطي مستقيم للأمام وإذا كانت الصورة سيئة للقراءة ، فهناك ملف PDF أيضًا.

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

يمكنك استخدام أي مصدر طاقة تيار مستمر للساعة بأقل من 40 فولت ، ولكن يجب عليك بعد ذلك اختيار القيمة المناسبة لـ C7. يجب أن يكون معدل الفولتية على الأقل ضعف جهد الدخل وتذكر أنك تولد حرارة في LM7805 لذا يجب أن تحاول الحفاظ على جهد الدخل عند أدنى مستوى ممكن لأن كل شيء آخر هو مجرد إهدار للطاقة. أفضل ملاءمة بين 9 فولت و 12 فولت تيار مستمر.

لا تهتم بقطبية مصدر الطاقة الخاص بك … تعمل الدائرة P-channel MOSFET (Q1) كحماية قطبية زائفة ولن تعمل الساعة ولن تتعرض لأي ضرر. يمكنك التحقق من ذلك على مصباح LED "الطاقة" D22 إذا تم تركيبه.

على الجانب الأيمن من التخطيطي توجد سجلات الإزاحة التسلسلية المتوازية. قررت استخدامها لأنني لم أرغب في استخدام الموافقة المسبقة عن علم ضخمة مع الكثير من منافذ الإدخال / الإخراج. كنت أرغب في استخدام واحدة أصغر وكان لا يزال لدي بعض 16F1829 في المنزل لذا كان الخيار واضحًا بالفعل. يتم توفير البيانات (IN_1 و IN_2 و IN_3) بواسطة PIC (انظر قسم الكود أدناه) و REGISTER_CLK أيضًا. للتبسيط في الكود الخاص بي وتخطيط PCB ، استخدمت اثنين من 74HC164 للساعات والأخيرة لـ "المنطق".

في الزاوية اليسرى العليا توجد الموافقة المسبقة عن علم وجميع الأجزاء الضرورية. لقد استخدمت الساعة الداخلية لذلك لا حاجة إلى مذبذب. ثلاثة مقاومات فقط لـ SCL و SDA و MCLR. بالنسبة لحقيقة أنني استخدمت 32 كيلو هرتز كمؤشر على "الثواني الدقيقة" ، فليس هناك حاجة لتردد دقيق ومستقر تمامًا للموافقة المسبقة عن علم.

في المنتصف يوجد DS3231 بحد أدنى للأجزاء الخارجية. في الواقع ، لقد استخدمت فقط مدخلات SDA و SCL للاتصال عبر I²C وإخراج 32 كيلو هرتز كمرجع ساعة خارجي لـ Timer1 من PIC16F1829. بالنسبة لهذا الإخراج ، تقول ورقة البيانات إنها مقاومة سحب خارجية مطلوبة. المخرجات الأخرى التي لم أستخدمها في هذا المشروع وتركتها غير متصلة.

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

الخطوة 2: التخطيط

تخطيط
تخطيط
تخطيط
تخطيط
تخطيط
تخطيط

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

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

يمكنك أن ترى المكان في الصورتين ثلاثية الأبعاد التي صنعتها من KiCAD.

إذا كنت مهتمًا … فمن الممكن تصدير KiCAD PCB إلى Eagle ومن ثم يكون من السهل جدًا بناء السكن ، لأن لديك مرجعًا من PCB.

الخطوة 3: "منطق" "Wort-Uhr"

كان الجزء الأكبر في هذا المشروع هو رمز الموافقة المسبقة عن علم …

في البداية إيجاد "منطق" الوقت المنطوق في اللغة الألمانية وترجمته إلى رمز.

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

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

بالنسبة للترميز ، استخدمت MPLABX باعتباره IDE المفضل لدي.

الخطوة 4: مقتطفات التعليمات البرمجية

مقتطفات الشفرة
مقتطفات الشفرة
مقتطفات الشفرة
مقتطفات الشفرة

لن أنشر الكود الخاص بي هنا ، ولكن إذا كنت تنوي كتابة الكود الخاص بك ، فسأعطيك بعض التلميحات حول ما "تعثرت" أثناء التطوير …

أولاً - ملء "السجل":

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

رمز ملء السجلات في الصورة أعلاه. كما ترى ، أقوم بملء جميع السجلات الثلاثة بالتوازي ، لذا أحتاج إلى 3 دبابيس من PIC للبيانات ودبوس واحد لـ CLK. يستحوذ 74HC164 على البيانات الجديدة حول الانتقال عند خط CLK من 0 إلى 1.

باقي الكود هو أساسًا عناصر تعتمد على الموافقة المسبقة عن علم ، "الوقت المنطوق" - المنطق والتعامل مع الاتصالات والأزرار. يتم توفير الاتصال بشكل أساسي بواسطة Microchip MPLABX لأنني استخدمت وحدة MSSP.

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

كما لاحظت ، هناك طريقتان "للحفاظ على الوقت على المسار الصحيح" مع هذا التنفيذ.

  1. يمكنك قراءة الوقت الفعلي للخروج من DS3231
  2. يمكنك "عد الثواني" في الموافقة المسبقة عن علم نفسها ومزامنة الوقت مع DS3231 من وقت لآخر

الأمر متروك لك وكلتا الطريقتين عمليتان ومباشرتان. لقد استخدمت الخيار الأول والوقت المتزامن فقط عند ضبط الوقت من خلال الأزرار (وقت الكتابة إلى DS3231) أو كل 24 ساعة (وقت القراءة من DS3231) ، لأنني أردت تنفيذ المزيد من المنطق بنفسي. أقوم أيضًا بتشغيل ساعتي أثناء الليل (23:00 حتى 05:00) لذلك كان ذلك أسهل قليلاً في رأيي.

الخطوة الخامسة: السكن

أخيرًا وليس آخرًا ، حان الوقت لإلقاء نظرة سريعة على السكن.

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

مرفق يمكنك العثور على ملفات STL إذا كنت تريد استخدامها.

آمل أن تساعدك هذه التعليمات عند بناء "Wort-Uhr" الخاصة بك. إذا كانت لا تزال هناك "أسئلة مفتوحة" ، فلا تتردد في الاتصال بي. أفضل طريقة للتعليق أدناه ، لأنك قد لا تكون الشخص الوحيد الذي لديه سؤال محدد.

موصى به: