» إلكترونيات » اردوينو »محطة الطقس على مدار الساعة في اردوينو

مشاهدة محطة الطقس على اردوينو

مشاهدة محطة الطقس على اردوينو

مساء الخير ، ما زلت أفعل اردوينو في وقت فراغه ، وهذه المرة كتب تعليمات لتصنيع محطة أرصاد جوية صغيرة. ستعمل كساعة مع تاريخ وتظهر درجات حرارة داخل وخارج الغرفة. بصفتنا وحدة التحكم الرئيسية ، سنستخدم Arduino UNO ، ولكن لوحة أخرى مع Atmega328p على متنها ستفعل. للعرض نستخدم شاشة الرسم WG12864B. نقوم أيضًا بتوصيل مستشعرين درجة حرارة ds18b20. واحد بالداخل ، نخرج الثاني للخارج. دعنا نبدأ.

في عملية التصنيع محلية الصنع سنحتاج إلى:

- Arduino UNO (أو أي لوحة أخرى متوافقة مع Arduino)
- شاشة WG12864B الرسومية
- مستشعر درجة حرارة ds18b20 ، 2 جهاز كمبيوتر شخصى
- مزود طاقة 6-12 فولت
- المقاومات 4.7 كوم 0.25 وات ، 2 قطعة.
- المقاومات 100 أوم 0.25 وات
- حجرة بطارية لأربع بطاريات AAA "وردية"
- صندوق من خرطوشة وحدة التحكم SEGA
- شريط كهربائي
- توصيل الأسلاك
- لوحة الدوائر
- أزرار
- سكين القرطاسية
- لحام الحديد
- اللحيم ، الصنوبري
- شريط مزدوج الجوانب

الخطوة 1 تحضير WG12864B3.
قد يخشى أولئك الذين لم يعملوا مع الشاشات من قبل عدد كبير من التعديلات ، التي تبدو متشابهة ، للشاشات. سأشرح قليلا. تعمل معظم الشاشات من هذا النوع على شرائح ks0107 / ks0108. يمكن تقسيم جميع الشاشات إلى 4 أنواع:

الخيار أ: HDM64GS12L-4 ، Crystalfontz CFAG12864B ، Sparkfun LCD-00710CM ، NKC Electronics LCD-0022 ، WinStar WG12864B-TML-T

الخيار ب: HDM64GS12L-5، Lumex LCM-S12864GSF، Futurlec BLUE128X64LCD، AZ Displays AGM1264F، Displaytech 64128A BC، Adafruit GLCD، DataVision DG12864-88، Topway LM12864LDW، Digitron SG1286464-YY-Digitron SG1286464-YY

الخيار C: شركة Shenzhen Jinghua Displays Co Ltd. جم 12864

الخيار D: Wintek-Cascades WD-G1906G و Wintek-GEN / WD-G1906G / KS0108B و Wintek / WD-G1906G / S6B0108A و TECDIS / Y19061 / HD61202 و Varitronix / MGLS19264 / HD61202

يبدوان متشابهين تقريبا. ولكن لديهم دبابيس اتصال مختلفة. اخترت ، وأوصيك ، WG12864B3 V2.0 ، ولكن إذا ظهرت الشاشة بشكل مختلف ، أو لم يكن لديك في متناول اليد ، يمكنك بسهولة معرفة ذلك باستخدام الجدول:


خصائص موجزة:


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


بالنسبة للتوصيل التسلسلي ، الذي سنستخدمه ، يكون المخطط كما يلي:

WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - + 5 فولت
4 (RS) - 10
5 (R / W) - 11
6 (ه) - 13
15 (PSB) - GND
19 (BLA) - عبر 100 أوم المقاوم - + 5V
20 (BLK) - GND


لضبط التباين ، يجب أن يكون مقياس الجهد على الشاشة. هناك شاشات بدونها ، لكنها الآن نادرة:


هناك حاجة إلى المقاوم 100 أوم بحيث لا يحرق جهد 5 فولت الثنائيات الخلفية عن طريق الخطأ.


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


قص الفيلم الشفاف أعلى الصندوق حتى لا يتبقى أي قطع:


ثم ، باستخدام سكين كتابي ، اقطع نافذة بحجم 37x69 للشاشة.


على الجانب العكسي ، على طول حافة القطع ، نلصق شريطًا مزدوج الوجه ، ويفضل أن يكون أسود:


قم بإزالة الورق الواقي من الشريط اللاصق ، وقم بلصق الشاشة عليه:


من الخارج يجب أن يبدو مثل هذا:


أسفل الشاشة ، أيضًا على شريط مزدوج الوجه ، نقوم بربط Arduino ، مما يجعل القواطع الأولية لمنفذ USB ومقبس الطاقة:


يجب إجراء القواطع لمآخذ Arduino على جانبي الصندوق بحيث يمكن إغلاقها بحرية:


الخطوة 3 أجهزة استشعار درجة الحرارة.
سنستخدم مستشعرات درجة الحرارة الرقمية DS18B20. باستخدامها نحصل على دقة قياس رائعة ، الخطأ لا يزيد عن 0.5 درجة مئوية ، في نطاق درجة حرارة واسعة -55 ... + 125 درجة مئوية. بالإضافة إلى ذلك ، يقوم المستشعر الرقمي بإجراء جميع الحسابات بنفسه ، ويستقبل Arduino ببساطة قراءات جاهزة. عند توصيل هذا المستشعر ، لا تنسى مقاومة السحب ، 4.7 كيلو أوم ، بين جهات اتصال DQ و VDD. العديد من خيارات الاتصال ممكنة أيضًا. مع القوة الخارجية ، في رأيي الخيار الأفضل ، سوف نستخدمها:


إذا كنت تريد ، يمكنك استخدام وضع الطاقة الطفيلية:


أو خيار غذائي طفيلي محسن:


مع أي مصدر طاقة ، يتم توصيل المستشعرات بالتوازي:


سنضع مستشعر قياس درجة الحرارة على لوحة صغيرة مع زرين ، سنستخدمهما لضبط وقت وتاريخ الساعة:


السلك المشترك من كلا الزرين متصل بـ GND ، السلك من الزر الأول متصل بـ A0 ، من الثاني إلى A1.
اربط بشريط على الوجهين بجوار Arduino:


من الأفضل اختيار المستشعر ، الذي من المفترض أن يتم وضعه خارج الغرفة ، في غلاف معدني مقاوم للغبار والرطوبة:


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

السلك من ناقل بيانات DQ لكلا الحساسين متصل بالطرف 5 من Arduino.
Vdd - +5 اردوينو.
GND - GND اردوينو.


الخطوة 4 الطاقة.
بالنسبة للطاقة ، يمكنك استخدام مصدر طاقة بجهد 6 إلى 12 فولت. في نهاية سلك توهج الطاقة ، قم بلحام القابس المناسب لمقبس الطاقة Arduino:


أو يمكنك وضع حجرة بطارية لأربع بطاريات "AAA" و "وردي" في العلبة. وربط السلك الموجب من المقصورة إلى Vin Arduino والناقص إلى GND.

الخطوة 5 تجهيز بيئة البرمجة.
تحتاج أولاً إلى تنزيل Arduino IDE وتثبيته باستخدام الموقع الرسمي

وكذلك إضافة إلى المكتبتين المطلوبتين للرسم التخطيطي. OneWire - مطلوب للتواصل مع أجهزة استشعار ds18b20:
onewire.rar [16.75 كيلوبايت] (التنزيلات: 34)


U8glib - يستخدم لعرض المعلومات على الشاشة:
u8glib.rar [906.95 كيلوبايت] (التنزيلات: 46)


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

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

بايت addr1 [8] = {0x28 ، 0xFF ، 0x75 ، 0x4E ، 0x87 ، 0x16 ، 0x5 ، 0x63} ؛ // العنوان الداخلي
بايت addr2 [8] = {0x28، 0xFF، 0xDD، 0x14، 0xB4، 0x16، 0x5، 0x97} ؛ // عنوان المستشعر الخارجي


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

//u8g.setPrintPos (44، 50) ؛ u8g.print (sek) ؛ // اطبع ثواني للتحقق من صحة الدورة


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

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

إذا كان (micros () - prevmicros & gt؛ 494000) {// التغيير لآخر للتعديل كان 500،000


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

ard_tic_tak_wg12864b_2_x_term_serial.rar [3.2 كيلوبايت] (التنزيلات: 90)

وظيفة أم جمال؟
مجموع الناخبين: ​​19
8
8.3
7.7

أضف تعليقًا

    • ابتسميبتسمxaxaحسنًالا أعرفياهونيا
      رئيسهالصفرأحمقنعمنعم نعمعدوانيسر
      آسفارقصرقص 2رقص 3العفومساعدةالمشروبات
      توقفالأصدقاءجيدجيدصفارة الحكمإغماءلسان
      دخانالتصفيقصرخةيعلنمشتقعدم الإشارةتنزيل
      الحرارةغاضبتضحك 1mdaاجتماعالمسكسلبي
      not_iالفشارمعاقبةاقرأتخويفيخيفبحث
      ساخرشكرا لكهذاtoclclumnikحادتوافق
      سيءالنحلblack_eyeblum3استحىتباهىالملل
      للرقابةإرضاءسر 2تهددانتصاريونظارة شمس
      صدمةتنفسههههساداهلا وسهلاكروتويya_za
      ya_dobryiالمساعدne_huliganne_othodiحمىحظرقريب
3 تعليق
المؤلف
لسوء الحظ ، لا أعرف نظائر العرض أرخص.
وكلما زادت الميزانية ، من الممكن استبدال هذا العرض ، نظروا من 500 روبل.؟
بالنسبة إلى denyushki ، يمكنك شراء محطة طقس جاهزة بالفعل ، مع إشارة إلى درجة الحرارة ليس فقط ، ولكن أيضًا الضغط والرطوبة ، ومع إشارة إلى اتجاه تغيير القيم المقاسة! ابتسم
مساء الخير وكلما زادت الميزانية ، من الممكن استبدال هذا العرض ، نظروا من 500 روبل.؟
شكرا لك!

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

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