

مرحبًا بالجميع وتمتع بيوم أو مساء جميل. هذه المرة سوف أشارك التعليمات الخاصة بإعداد ساعة غرفة باستخدام ميزان حرارة. سيكون مركز الحوسبة للساعة Attiny85 ، يتم تجميعه على لوحة من Digispark. لعرض الساعة - شاشة Oled. مقياس الحرارة - ds18b20 المعروف. للحصول على الطاقة ، نأخذ ليثيوم أيون 18650 (يمكن الحصول عليها من بطارية قديمة من كمبيوتر محمول). وإضافة عرض لمستوى البطارية. كما هو الحال في جميع ساعاتي السابقة ، سنفعل بدون وحدة RTC (ساعة الوقت الحقيقي).
نجمع كل ما هو ضروري:
- Digispark Attiny85 (إصدار USB مصغر)
- ds18b20 (في علبة بلاستيكية)
- شاشة Oled بدقة 128 × 64 ، I2C
- 2 قطعة 18650 بطارية أو بطارية كمبيوتر محمول Li-ion قديمة
- المقاومات (3.3 kΩ ، 4.7 kΩ ، 10 kΩ)
- بلاستيك رقيق (للإسكان)
- توصيل الأسلاك بألوان مختلفة
- مبرمج ISP (أو أي اردوينو الرسوم)
- زر
- موصلات دوبونت 2.54 مم "أم" و "أب"
- سكين القرطاسية ، الشريط على الوجهين ، الشريط الكهربائي ، المصهور
- كل شيء للحام (لحام الحديد ، الصنوبري ، اللحيم)
حالة الخطوة الأولى.
ستصنع علبة الساعة المستقبلية من البلاستيك الرقيق. يمكنك شراء ورقة من هذا البلاستيك في متجر متخصص أو طلب على aliexpress. أو يمكنك (لا تنتظر ولا تنظر) للذهاب إلى المكتب الكتابي وشراء مجلد ورقي بلاستيكي بلونك المفضل. أبعاد الساعة المستقبلية: العرض - 40 مم ، السمك - 30 مم ، الارتفاع - 70 مم. وفقًا للرسم البياني أدناه ، قمنا بقص مسح ضوئي من البلاستيك:
نقطع على طول خطوط سميكة ، والانحناء بلطف على طول الخطوط الرفيعة. نقطع المستطيل في المنتصف باستخدام سكين كتابي ، هذه نافذة للعرض. ونتيجة لذلك ، نحصل على مسح من البلاستيك:

ننتقل إلى Attiny.
الخطوة 2 Attiny + Oled.
كما قلت ، في قلوبنا محلية الصنع سيكون Attiny 85. من الأفضل شراء هذه الشريحة ، ملحومة على الفور إلى اللوحة مع منظم الجهد والحزام. Digispark Attiny85 مناسب تمامًا. اختر الإصدار الذي يحتوي على micro-USB على اللوحة. تعديلات أخرى على اللوحة لن تناسب الحجم. يحدث أن يتم بيع هذه اللوحة مع موصلات Dupon "الذكور" ملحومة بالفعل. إذا كان الأمر كذلك ، لحام جميع الموصلات. نجمع الأسلاك الملونة. نحتاج 10 سم بألوان مختلفة. نحن نلحمهم في Attiny ونكتب أي السلك الذي يتوافق مع الاستنتاج. يجب لحام الأسلاك P0 و P2 في سلكين. مطلوب الزوج الثاني لتوصيل شاشة Oled. نحصل على ما يلي:

كتبت الرسم البياني التالي على السلك:

الشاشة صغيرة (لتتناسب مع وحدة التحكم) ، لكنها تبدو جميلة. OLED (الصمام الثنائي العضوي الباعث للضوء) هو عرض رسومي. لا يوجد ضوء خلفي ، وبدلاً من ذلك ، فإن كل بكسل هو LED مستقل. أحجام الشاشات - 0.96 بوصة.القرار 128x64. متصل عبر حافلة I2C. يستخدم سلكين فقط للتواصل مع Attiny. تأتي بألوان مختلفة ، تختار حسب ذوقك. أحببت اللون الأزرق مع شريط أصفر في الأعلى. نتصرف على غرار ديسبارك. إذا كانت هناك موصلات ملحومة - لحامها. اللحيم ، في الوقت الراهن ، فقط أسلاك الكهرباء:

كن حذرًا عند اللحام ، لا تتلف الكبل بمكواة لحام على الشاشة:

نقوم بتوصيل الألواح باستخدام شريط مزدوج الوجهين:

نقوم بلحام شاشة Digispark Attiny و Oled معًا وفقًا للمخطط (قد تختلف ألوان الأسلاك ، والشيء الرئيسي هو عدم العبث بالاستنتاجات):

للراحة والنظام نجمع كل الأسلاك معا. يمكنك لفها بشريط كهربائي حتى لا تخلط بينها:

في نهاية جميع الأسلاك ، نعلق موصل Dupont "الأنثوي" ، وأدخله في العوازل وقم بلفه معًا بشريط كهربائي لعمل الموصل. نقوم أيضًا بتسجيل دبوس الموصل:

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

عند اللصق ، انتبه إلى أن الشاشة حتى:

الخطوة 3 الطاقة.
من أجل القوة ، سنستخدم عنصرين Li-ion. اكتب 18650. يمكنك شراؤها بشكل منفصل. في هذه الحالة ، قم بلحامها بالتوازي وعزل وإخراج الموصل للاتصال والشحن اللاحق:

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

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

من الأفضل اللحام على منصات الاتصال:

الصق هذا الزوج في الجزء الخلفي من الساعة:

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


أو استخدم
R1 تأخذ قيمة اسمية قدرها 10 كيلو أوم. ثم R2 نحصل على 3.55 KOhm ، وهو الأقرب المناسب من القيم القياسية 3.3 KOhm ، ونأخذها. يتم إجراء القياسات بين الجهد الداخلي و GND ، لذلك يتم لحام المقاوم 3.3 KΩ إلى الطرح ، و 10 KΩ إلى زائد. نضع المقاومات على البطارية ، نسحب السلك من الفاصل.

نقوم بعزل جميع جهات الاتصال لتجنب حدوث ماس كهربائي:

سيتم توصيل السلك من المقسم بـ PB4.
الخطوة 5 قياس درجة الحرارة.
المكمل الممتاز للساعة هو قياس درجة حرارة الغرفة. سنستخدم مستشعر درجة الحرارة المدمج DS18B20. للعمل معها ، يلزم سلك واحد فقط (مفيد جدًا عند استخدام Attiny 85). يتم إجراء جميع القياسات بنفسه ، ولا يزعج جهاز التحكم المركزي (Attiny 85 لديه ذاكرة ممتازة وقليل جدًا) ، نحتاج فقط إلى إعطاء الأوامر والحصول على النتائج. هناك العديد من المخططات المختلفة لتوصيل هذا المستشعر ، سنستخدم الخيار الأمثل لهذه الحالة ، في رأيي.باستخدام طاقة خارجية ومقاوم 4.7 كيلو أوم:

لحام الأسلاك الصغيرة ، وربط الموصلات

السلك من مستشعر DQ متصل بـ PB 3.
زر الخطوة 6.
لدينا القليل من الاستنتاجات ، ولكن هناك العديد من المتطلبات للساعات. سنستخدم زرًا واحدًا لضبط الوقت. لا يمكننا الاعتماد على المزيد. لحام الأسلاك إلى الزر ، جهة اتصال واحدة منه إلى GND. دمج مع مستشعر درجة الحرارة لدينا:

جهة الاتصال الثانية من الزر متصلة بـ PB 1.
الخطوة 7 إعداد بيئة التطوير
لمزيد من العمل مع الرسم ، وكذلك تحريره وملئه ، نحتاج إلى Arduino IDE. قم بتنزيل هذا البرنامج من:
أضف الآن الدعم لـ Attiny 85 يوم الأربعاء. افتح Arduion IDE وتابع السير على المسار:
ملف - إعدادات - إدراج "عناوين URL إضافية لمدير اللوحات" الرابط:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
انقر فوق OK.
انتقل إلى:
أدوات - مجلس - مدير المجالس يدخل Attiny وانقر على "attiny by David A. Mellis". انقر فوق "تثبيت" واترك القهوة.
والآن عن المكتبات. يحتاجون إلى اثنين:
للعمل مع شاشة Oled
التحكم بمستشعر درجة الحرارة
بعد تنزيل هذه الأرشيفات ، قم بتفريغها في مجلد "المكتبات" ، الذي يسهل العثور عليه من خلال الذهاب في مسار التثبيت لـ Arduino IDE.
مبرمج الخطوة 8.
Digispark Attiny 85 لوحة رائعة. مصممة للاتصال بجهاز كمبيوتر USB. ويمكن برمجته من خلاله. لكن Attiny يستخدم برنامج USB ، والذي بدوره يستهلك 2 كيلوبايت من 8 كيلوبايت من الذاكرة. هذا لا يناسبنا ، وبالتالي سنومض Attiny 85 من خلال واجهة ISP. وهنا نحتاج إلى مبرمج ISP. إذا لم يكن هناك - لا يهم. خذ اردوينو. في حالتي ، اردوينو UNO:

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

الاتصال كما يلي:
D11 - P0
D12 - P1
D13 - P2
D10 - P5
لا تنسى عناية التغذية.
الخطوة 9 قم بتحرير الرسم وملءه.
تنزيل رسم
قبل الملء ، تحتاج إلى تعديل الرسم.
يعمل المستشعر المتكامل ds18b20 ، كما ذكرنا سابقًا ، باستخدام بروتوكول One Wire. يحتوي كل مستشعر على عنوان 64 بت الفريد الخاص به. تحتاج إلى العثور على عنوان المستشعر الخاص بك وكتابته في رسم تخطيطي. افتح Arduino IDE ، واتبع المسار:
ملف - أمثلة - درجة حرارة دالاس - OneWireSearch.
املأ الرسم في Arduino. افتح شاشة المنفذ. يجب أن ترى عناوين جميع أجهزة الاستشعار المتصلة وقراءات درجة الحرارة الخاصة بها. نكتب عنوانك. افتح الرسم الخاص بي وقم بتغيير العنوان إلى عنوانك الخاص في السطر:
بايت addr [8] = {0x28، 0xFF، 0x75، 0x4E، 0x87، 0x16، 0x5، 0x63} ؛
لضبط تقدم الساعة ، استخدم الثابت التالي:
if (micros () - prevmicros & gt؛ [b] 497000 [/ b])
كلما كانت هذه القيمة أكبر ، كانت الساعة أبطأ.
للتحكم ، يتم عرض الثواني على الشاشة:
OzOled.printNumber ((long) sek، 0، 7)؛ // ثواني إخراج لضبط دقيق
علق على هذا الخط لإزالة الثواني.
الآن نقوم بتوصيل المبرمج أو Arduino كمبرمج ، حدد com-port ، حدد لوحنا في قائمة Tools واضبط المعلمات التالية:
المجلس: Attiny 25/45/85
المعالج: Attiny 85
الساعة: داخلي 16
ثم اختر في نفس القائمة:
أدوات - مبرمج - "Arduino as ISP".
وأخيرًا:
رسم - تحميل عبر المبرمج
الخطوة 10 التجميع النهائي والإطلاق.
أوقف تشغيل المبرمج وقم بتوصيل المستشعر والطاقة والزر:

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


