» إلكترونيات » اردوينو »ساعات Oled في Attiny85

ساعات Oled في Attiny85

مساء الخير ومرة ​​أخرى أنا مع ألعابي. اليوم أقدم لكم تعليمات لصنع ساعات صغيرة ولكن لطيفة مع مستشعر درجة حرارة الغرفة.
ساعات Oled في Attiny85


قائمة بما نحتاج إليه:
- Digispark Attiny85
- شاشة Oled 128x64 I2C
- مستشعر درجة حرارة ds18b20
- المقاوم 4.7 كوم 0.25 وات
- مبرمج ISP أو اردوينو مجلس البرامج الثابتة Digispark Attiny85
- قرص بلاستيكي مع مشبك ورق أو ورقة بلاستيكية رقيقة
- الأسلاك
- وصلات دوبونت 2.54 مم "انثى"
- ازرار 2 قطعة.
- لوحة دائرة صغيرة أو تقليم صغير
- لحام الحديد
- اللحيم ، الصنوبري
- مقص
- سكين كتابي
- مسدس غراء ساخن
- غراء ساخن

الخطوة 1 اختيار المكونات.
بصفتنا وحدة التحكم الرئيسية ، سنستخدم Digispark Attiny85. هناك عدة أنواع منها. نحتاج إلى لوحة مزودة بموصل USB صغير. البقية لن تتناسب مع علبة الساعة.

للعرض ، نحتاج إلى شاشة Oled 128x64 I2C. تأتي بألوان مختلفة: الأبيض والأزرق والأزرق والأصفر. ألفت انتباهكم! يعني مصطلح "لونين" في وصف أو عنوان هذه الشاشة شريطًا من لون واحد في أعلى الشاشة واللون الثاني في الشاشة المتبقية بالكامل ، وليس القدرة على عرض لونين مع هذه الشاشة! تعرض جميع الشاشات من هذا النوع لونًا واحدًا فقط ، أو في الأعلى شريط بلون واحد في الأسفل - آخر. مثل ، على سبيل المثال ، الذي سأستخدمه. الشريط أعلاه أصفر ، وبقية الشاشة زرقاء. يمكنك اختيار أي لون تريده.
نحتاج أيضًا إلى مستشعر درجة الحرارة المدمج DS18B20. لم يتم اختياره عن طريق الصدفة. أولاً ، يتواصل DS18B20 مع وحدة التحكم الدقيقة عبر خط اتصال أحادي السلك باستخدام بروتوكول واجهة 1-Wire. في حالتنا ، هذا مهم ، لأن استنتاجات Attiny85 بدون جهاز استشعار قليلة. ثانيًا ، هذا المستشعر عبارة عن رقم ، أي أنه يأخذ جميع القياسات نفسها وينقل ببساطة بيانات درجة الحرارة دون إنفاق موارد الحوسبة في Attiny85.

أما بالنسبة للبقية ، أعتقد أنه لن تكون هناك أسئلة ، لذلك دعنا ننتقل إلى تصنيع القضية.

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


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



يجب أن تكون النتيجة كما يلي:


في هذه الحالة جاهز. لا يزال بإمكانك قطع الغطاء الخلفي من نفس البلاستيك ، لكن هذا اختياري.

الخطوة 3 نحن اللحيم.
قضيتنا صغيرة ، وعلينا أن نحشر الكثير هناك. لذلك ، نأخذ قطعة من لوحة الدائرة لا يزيد حجمها عن 2.8 × 2.8 مم ولحام في زرين ، ومستشعر ds18b20 ، ومقاوم والعديد من جهات الاتصال. وفق المخطط التالي:


ليس من الضروري لحام الأسلاك مباشرة إلى Attiny ، نظرًا لأنه من الضروري فصل كل شيء عن البرامج الثابتة. يجب أن تكون النتيجة شيء من هذا القبيل:



الأزرار مطلوبة لضبط الوقت. يمكن الحصول على الطاقة من منفذ USB للكمبيوتر. الجمع بين الجمع والطرح ، على التوالي:


إذا كنت ترغب في الاستغناء عن الأسلاك ، فأنت بحاجة إلى العثور على بطارية ليثيوم أيون صغيرة. إليك واحد ، على سبيل المثال:


تناسب هذه البطارية داخل العلبة. من الضروري فقط تقديم استنتاجات لشحن البطارية.

الخطوة 4 إعداد المبرمج.
يمكن برمجة Digispark Attiny85 من خلال موصل USB الصغير الموجود على اللوحة ، باستخدام Arduino IDE كبيئة برمجة. ولكن في نفس الوقت ، يجب عليك التضحية بـ 2 كيلوبايت من الذاكرة من أجل برنامج bootloader. يحتوي Attiny 85 على إجمالي 8 كيلوبايت فلاش. لا يتناسب الرسم الخاص بي مع أداة تحميل التشغيل ، لذلك أحتاج إلى البرمجة من خلال مبرمج ISP. ليس لدي مثل هذا المبرمج ، ولكن هناك لوحة Arduino Uno ، والتي سأستخدمها كمبرمج. إذا كان لديك مبرمج ISB ، يمكنك تخطي هذا العنصر. افتح Arduino IDE واملأ رسمنا المسمى ArduinoISP في Arduino Uno. يمكنك العثور عليه مثل هذا الملف - أمثلة - Arduino ISP. يبدأ الرسم بتلميح حول كيفية توصيل Arduino بجهاز التحكم القابل للبرمجة. بدلاً من Arduino Uno ، يمكن أن يكون هناك أي لوحة Arduino أخرى.
// 10: إعادة ضبط الرقيق
// 11: وزارة الشؤون الاجتماعية
// 12: MISO
// 13: SCK


مخطط اتصال Digispark Attiny85:
اردوينو UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5


الخطوة 5 تجهيز بيئة البرمجة.
لتحرير البرامج الثابتة وملء الرسم في Attiny 85 ، تحتاج إلى إعداد ليس فقط المبرمج ، ولكن أيضًا بيئة البرمجة نفسها. للقيام بذلك ، قم بتثبيت Arduino IDE من موقع Arduino.cc الرسمي ، وقم أيضًا بتثبيت الوظيفة الإضافية Attiny للمتحكمات الدقيقة من خلال Boards Manager.

قم بتشغيل Arduino IDE ، ثم File - Settings - في حقل عناوين URL الإضافية لـ Boards Manager ، والصق الرابط:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json


انقر فوق "موافق" (يمكنك إدخال عدة ارتباطات مفصولة بفاصلة في هذا الحقل). الأدوات التالية - لوحة - مدير المجالس في حقل المرشح ، أدخل Attiny وانقر على "attiny by David A. Mellis". انقر فوق تثبيت وانتظر حتى ينتهي التنزيل. الآن في قائمة الأدوات ، حدد:
المجلس - Attiny 25/45/85
المعالج - Attiny 85
الساعة - داخلية 16
وحدد المنفذ التسلسلي الذي يتصل به مبرمج ISP أو Arduino كمبرمج.
لقد جربت العديد من المكتبات المختلفة للعمل مع الشاشة. في رأيي الأكثر ملاءمة والعمل على Attiny85: TinyOzOLED.
سيدنا الصغير. rar [15.99 كيلوبايت] (التنزيلات: 477)


يحتاج مستشعر درجة الحرارة إلى مكتبة OneWire.
onewire.rar [16.75 كيلوبايت] (التنزيلات: 263)


قم بتثبيت هاتين المكتبتين. يمكنك تثبيت مكتبات الطرف الثالث مباشرة في بيئة البرمجة. بدون تفريغ الأرشيفات التي تم تنزيلها ، في Arduino IDE ، حدد قائمة Sketch - Connect Library. في أعلى القائمة المنسدلة ، حدد عنصر مكتبة إضافة .Zip. في مربع الحوار الذي يظهر ، حدد المكتبة التي تريد إضافتها. افتح قائمة Sketch - Connect Library مرة أخرى. سترى مكتبة جديدة في أسفل القائمة المنسدلة. الآن يمكن استخدام المكتبة في البرامج. لا تنس إعادة تشغيل Arduino IDE بعد كل هذا.إذا لم يساعد ذلك ، فقط قم بفك ضغط الأرشيفات في مجلد "المكتبات" الموجود في المجلد مع تثبيت Arduino IDE.

الخطوة 6 قم بتحرير الرسم وملءه.
يعمل مستشعر درجة الحرارة وفقًا لبروتوكول One Wire وله عنوان فريد لكل جهاز - رمز 64 بت. موارد الاهتمام لا تكفي للبحث عن هذا الرمز في كل مرة. لذلك ، يجب عليك أولاً توصيل المستشعر بأي لوحة Arduino ، وملء الرسم الموجود في ملف - أمثلة - درجة حرارة دالاس - قائمة OneWireSearch. بعد ذلك ، قم بتشغيل الأدوات - مراقب المنفذ. يجب أن يجد Arduino مستشعرنا ، ويكتب عنوانه وقراءات درجة الحرارة الحالية. نقوم بنسخ أو كتابة عنوان جهاز الاستشعار الخاص بنا. افتح الرسم Attiny85_Oled_SPI_Term_2 ، ابحث عن السطر:

بايت addr [8] = {0x28، 0xFF، 0x75، 0x4E، 0x87، 0x16، 0x5، 0x63} ؛ 


نكتب عنوان المستشعر الخاص بك بين الأقواس ، ونستبدل عنوان المستشعر الخاص بي. بعد ذلك ، قم بتوصيل Attiny بالمبرمج أو Arduino كمبرمج (هذا موضح في الخطوة 4) واملأ الرسم التخطيطي. يبقى لفصل المبرمج وتوصيل كل شيء وفقًا للمخطط في 3 خطوات. يتحول التجميع إلى شيء من هذا القبيل:


الشاشة صغيرة ، من المستحيل وضع الوقت ودرجة الحرارة بحيث تكون مرئية. لذلك ، تغير الساعة الوقت بقراءة درجة الحرارة كل 10 ثوانٍ.
attiny85_oled_spi_term_2.rar [2.33 كيلوبايت] (التنزيلات: 574)

Attiny 85
مجموع الناخبين: ​​118
9.3
10
8.7

أضف تعليقًا

    • ابتسميبتسمxaxaحسنًالا أعرفياهونيا
      رئيسهالصفرأحمقنعمنعم نعمعدوانيسر
      آسفارقصرقص 2رقص 3العفومساعدةالمشروبات
      توقفالأصدقاءجيدجيدصفارة الحكمإغماءلسان
      دخانالتصفيقصرخةيعلنمشتقعدم الإشارةتنزيل
      حرارةغاضبتضحك 1mdaاجتماعالمسكسلبي
      not_iالفشارمعاقبةاقرأتخويفيخيفبحث
      ساخرشكرا لكهذاtoclclumnikحادتوافق
      سيءالنحلblack_eyeblum3استحىتباهىالملل
      للرقابةإرضاءسر 2تهددانتصاريونظارة شمس
      صدمةتنفسههههساداهلا وسهلاكروتويya_za
      ya_dobryiالمساعدne_huliganne_othodiحمىحظرقريب
13 التعليقات
فسلاف
شكرا شكرا!
المؤلف
مساء الخير لم أستخدم المكتبة من Digispart. لديهم محمل إقلاع كبير جدًا ، جنبًا إلى جنب مع رسم الساعة غير المناسب. استخدمت مكتبة TinyOzOLED. ليس لديها الروسية. بشكل عام ، مع Attiny 85 ، من الصعب وجود ذاكرة قليلة جدًا.
فسلاف
مدروس جيدا وفعل ، عيب صغير واحد - النقوش في Aglitsky. هل يمكن ببساطة استبدالها بالروسية ، أم أنه من الصعب على Digispark القيام بذلك؟
المؤلف
مساء الخير تستهلك الساعات في الوقت الفعلي مساحة كافية ، ولن تتناسب مع هذه الحالة.
حسنًا .. لماذا لا تضع ساعة في الوقت الحقيقي بدلاً من مستشعر درجة الحرارة؟
المؤلف
نصيحة أخرى ، يتم توصيل LED بجهاز Digispar Attiny 85 P1 ، إذا كنت تستخدم هذا الدبوس ، ففكر في وجوده. لقد أطلقت على هذا الصمام الثنائي على لوحتي ، لأنه في رأيي يتدخل فقط.
المؤلف
مساء الخير ليست هناك حاجة للقيام بسحب مع المقاوم ، حيث يتم تضمين التعليق المدمج في Attiny في الرسم. خذ الحمالة وحاول مرة أخرى.
يمكنك أيضًا تجربة رسم آخر من ساعاتي الأخرى ، ولديهم نفس وحدة التحكم والشاشة ، ويتم التكوين باستخدام زر واحد:
https://arm.imdmyself.com/14217-chasy-s-termometrom-na-attiny.html
ضيف الرومانية
يوم جيد. شكرا لك على الفكرة والعمل. فقط يدي ليست مثل ذلك ، أو أنا لا أفهم. لا تعمل أزرار إعداد الوقت بشكل طبيعي. لقد جربت كل من skech الخاصة بي وبلدي ، في بلدي فقط أضيف وضع دبوس أزرار الإدخال ، وسحبت من 10k إلى 5V. وفي ذلك وفي ذلك الزر لم يفهم كيف يضغط للتغيير. أو أواجه تأخيرات أو حدث خطأ في الأزرار ، الساعة المعتادة.
شاشة باردة. لكن شره. ذاكرة الوصول العشوائي يأكل كثيرا.
أنت سيد! ضغط في تينكو 85 مثل.
المؤلف
أنت على حق ، مطبعي ، 2.8 × 2.8 سم
اقتباس: maxim0512
لم يعد مناسبًا للقضية.
حسب المنطقة ، يمكنك مائة مرة أكثر مما اقترحته.
المؤلف
لم يعد مناسبًا للقضية. يوجد زران فقط ، ومقاوم ومستشعر درجة حرارة. كل شيء مناسب.
... لوحة الدوائر المشذبة لا تزيد عن 2.8 × 2.8 مم
لن يكون كافيا. )))

ننصحك بقراءة:

تسليمها للهاتف الذكي ...