جدول المحتويات:
- الخطوة 1: الأشياء التي ستحتاجها
- الخطوة الثانية: بناء الدوائر الكهربائية
- الخطوة 3: دقق في المعاملات
- الخطوة 4: البرامج الثابتة
- الخطوة 5: تطبيق الهاتف الذكي
- الخطوة 6: الضميمة
- الخطوة 7: إعدادات الكمبيوتر وتكوين Bluetooth
- الخطوة 8: الخاتمة
فيديو: ميزان حرارة بلوتوث: 8 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
يوضح هذا التوجيه تفاصيل صنع مقياس حرارة بسيط ثنائي القناة باستخدام مجسات الثرمستور 100K ووحدة Bluetooth وهاتف ذكي. وحدة Bluetooth عبارة عن LightBlue Bean تم تصميمها لتبسيط تطوير تطبيق Bluetooth Low Energy باستخدام بيئة Arduino المألوفة لبرمجة الوحدة.
بعد التعثر لفترة من الوقت في محاولة معرفة كيفية الحصول على بيانات درجة الحرارة من وحدة Bluetooth إلى جهاز iPhone الخاص بي ، وجدت تطبيقًا يسمى EvoThings والذي سهّل جانب تطوير التطبيق للمشروع إلى حد كبير. ليس لدي جهاز Mac (صادم أعلم!) مما يحد من قدرتي على تطوير تطبيق iPhone ، وليس لدي الوقت لفك تشفير أدوات Microsoft الجديدة التي تدعم بوضوح تطوير الأنظمة الأساسية لنظامي التشغيل iOS و Android. لقد قمت بالعديد من تطبيقات نمط HTML5 ولكن الطريقة الوحيدة للحصول على بيانات Bluetooth هي من خلال المكونات الإضافية لـ Cordova والتي بدت وكأنها تمثل تحديًا أكثر مما كان لدي وقت من أجله. يوفر EvoThings مجموعة سهلة الاستخدام للغاية من الأدوات التي حولت تحدي Bluetooth إلى iPhone إلى نزهة. وأنا أحب الكعكة!
بشكل عام ، وجدت أن الجمع بين Lightblue Bean و EvoThings يمثل حلاً عمليًا للغاية مع استثمار لوقت قصير.
الخطوة 1: الأشياء التي ستحتاجها
لقد استخدمت مسبار الثرمستور المتاح تجاريًا لقناة واحدة لأنني أردت إغلاق الثرمستور للغطس في السوائل. بالنسبة للقناة الثانية ، صنعت مسبارًا أساسيًا من الثرمستور ، وسلك قياس 26 ومقبس سماعة رأس 3.5 مم. أنت حر في استخدام أي مقاييس حرارية تريدها ويمكنك صنع مجساتك الخاصة من الإيبوكسي الموصّل حرارياً والقش البلاستيكي / أدوات تحريك القهوة على سبيل المثال. ما يلي هو ما استخدمته - وليس المقصود أن تكون قائمة إلزامية!
المعدات
- 1 × 100K مجسات الثرمستور. الموديل Extech TP890. هذه متوفرة بشكل شائع على موقع ئي باي والأمازون.
- مقابس استريو 2 × 2.5 مم تتطابق مع قابس 2.5 مم في مجسات Extech. لقد قمت بمسح مقابس مقاس 3.5 مم من جهاز كمبيوتر قديم ، لذا قمت بقطع القابس عن مسبار Extech واستبدله بمقابس مقاس 3.5 مم. يجب تجنب ذلك بمجرد استخدام مقابس 2.5 مم ، أو استخدام قابس محول استريو 2.5 مم إلى 3.5 مم جاهز للاستخدام.
- 100K حبة الثرمستور بالإضافة إلى 26 سلك قياس بالإضافة إلى قابس استريو 3.5 مم إذا كنت تريد عمل مسبار خاص بك. إذا لم يكن كذلك ، فقم بشراء مسبار Extech ثانٍ!
- 1 × Lightblue Bean بواسطة Punch Through Designs. هذه وحدة Bluetooth قابلة للبرمجة كلوحة تطوير Arduino. الوحدة باهظة الثمن نوعًا ما ولكنها تزيل الكثير من التعقيد. إنهم يديرون حملة Kickstarter للجيل القادم من الأجهزة التي قد تستحق الدراسة.
- مقاومات 2 × 1 / 4W 100K تستخدم لتقسيم الجهد المرجعي للثرمستورات. لقد استخدمت مقاومات بنسبة 5٪ ولكن المقاومات ذات التحمل العالي تكون عمومًا أقل حساسية لدرجة الحرارة وستوفر أداءً أفضل. 1٪ هي قيمة تحمل جيدة لهذا.
- لحام الحديد ولحام
- قواطع للأسلاك وبعض الأطوال الصغيرة من 26 أو 28 سلك ربط قياس.
البرمجيات والبرامج الثابتة
- لبرمجة Bean ، ستحتاج إلى تطبيق Bean Loader. لقد استخدمت windows ، لذا فإن جميع الروابط ستكون خاصة بـ Windows. كل ما تحتاجه لبدء استخدام Bean بما في ذلك تفاصيل Arduino متاح من موقع LightBlueBean
- يتوفر منضدة EvoThings لتطبيق الهاتف الذكي هنا. تتوفر جميع وثائق "البدء" هناك أيضًا. إنه موثق جيدًا.
الخطوة الثانية: بناء الدوائر الكهربائية
الثرمستور هو مقاوم يعتمد على درجة الحرارة. يحتوي مسبار Extech على معامل درجة حرارة سالب مما يعني أنه مع زيادة درجة الحرارة ، تقل المقاومة. تقاس قيمة المقاومة بدائرة بسيطة تخلق مقسمًا للجهد مع وجود الثرمستور في أحد الأرجل ، ومقاوم ثابت 100 كيلو في الطرف الآخر. يتم تغذية الجهد المقسم في قناة الإدخال التناظري على Bean وأخذ عينات في البرنامج الثابت.
لبناء الدائرة ، قمت بفحص مقابس الصوت مقاس 3.5 مم من جهاز كمبيوتر قديم مكسور. تم استخدام مقياس متعدد لتحديد النقطتين على ثنائي الفينيل متعدد الكلور التي تتوافق مع الطرف والشريط الأول للمسبار. تم لحام الأسلاك بمقابس الصوت و Bean كما هو موضح في الصور. تم تعليق مقابس الصوت في منطقة النموذج الأولي لـ Bean باستخدام شريط مزدوج الجوانب. الشريط الذي استخدمته هو شريط لاصق من فئة السيارات مما يخلق رابطة قوية جدًا بين أجزاء السحب.
الخطوة 3: دقق في المعاملات
كما هو شائع مثل مسبار Extech ، لم يتم نشر معاملات Steinhart-Hart في أي مكان يمكن أن أجده. لحسن الحظ ، هناك آلة حاسبة على الإنترنت ستحدد المعاملات من 3 قياسات لدرجة الحرارة تقدمها.
ما هو الإجراء الأساسي الذي استخدمته للوصول إلى المعاملات. لن تكسب أي نقاط للأناقة ولكنها جيدة بما يكفي لتجعلك تقول +/- 1 درجة دقيقة (إبهام كلي من جانبي)…. اعتمادًا على دقة مقياس الحرارة المرجعي والمقياس المتعدد بالطبع! جهاز القياس المتعدد الخاص بي هو وحدة تجارية رخيصة بدون اسم اشتريتها منذ سنوات عديدة عندما كان المال شحيحًا. لا يزال المال شحيحًا وما زال يعمل!
للمعايرة ، نحتاج إلى ثلاث قراءات مقاومة من 3 درجات حرارة.
- قرب التجمد عن طريق إضافة الثلج إلى كوب من الماء والتقليب حتى تستقر درجة الحرارة. بمجرد الاستقرار ، استخدم جهاز القياس المتعدد لتسجيل مقاومة المسبار ومقياس الحرارة المرجعي لتسجيل درجة الحرارة.
- الآن ضع المجس في كوب من الماء في درجة حرارة الغرفة ، واسمح للمسبار بالتساوي مع درجة حرارة الماء وتسجيل درجة الحرارة على مقياس الحرارة المرجعي وقراءة المقاومة على جهاز القياس المتعدد.
-
ضع المسبار في كوب من الماء الساخن وسجل المقاومة.
درجة حرارة مقاومة 5.6 218 ك 21.0 97.1 ك 38.6 43.2
هذه العملية برمتها عبارة عن حالة دجاجة وبيضة لأنك تحتاج إلى مقياس حرارة معاير لتسجيل درجة الحرارة وعدة أمتار معايرة لتسجيل المقاومة. ستؤدي الأخطاء هنا إلى عدم دقة قياسات درجة الحرارة التي تجريها ولكن لأغراضي ، +/- درجة واحدة أكثر مما أحتاجه.
ينتج عن إدخال هذه القيم المسجلة في حاسبة الويب ما يلي:
يتم توصيل المعاملات (A و B و C) في معادلة Stenhart-Hart لردع درجة الحرارة عن قيمة مقاومة العينة. يتم تعريف المعادلة على أنها (المصدر: wikipedia.com)
حيث T = درجة الحرارة في كلفن
A و B و C هي معاملات معادلة Steinhart-Hart التي نحاول تحديدها R هي المقاومة عند درجة الحرارة T
سيقوم البرنامج الثابت بإجراء هذا الحساب.
الخطوة 4: البرامج الثابتة
يتم أخذ عينات من الفولتية الحرارية وتحويلها إلى درجة حرارة وإرسالها عبر البلوتوث إلى تطبيق EvoThings الذي يعمل على الهاتف الذكي.
لتحويل الجهد إلى قيمة مقاومة داخل الفول ، يتم استخدام معادلة خطية بسيطة. يتم توفير اشتقاق المعادلة كصورة. بدلاً من تحويل قيمة العينة إلى جهد ، نظرًا لأن كلاً من ADC والجهد الداخلي يُشار إليهما إلى نفس جهد البطارية ، يمكننا استخدام قيمة ADC بدلاً من الجهد. بالنسبة لـ 10bit Bean ADC ، سينتج عن جهد البطارية الكامل قيمة ADC تبلغ 1023 لذلك نستخدم هذه القيمة كـ Vbat. تعتبر القيمة الفعلية للمقاوم المقسم اعتبارًا مهمًا. قم بقياس القيمة الفعلية لمقاوم مقسم 100K واستخدم القيمة المقاسة في المعادلة لتجنب مصدر خطأ غير ضروري بسبب تحمل المقاوم.
بمجرد حساب قيمة المقاومة ، يتم تحويل قيمة المقاومة إلى درجة حرارة باستخدام معادلة Steinhart-Hart. تم وصف هذه المعادلة بالتفصيل على ويكيبيديا.
نظرًا لأن لدينا مجسين ، فمن المنطقي تغليف وظيفة المسبار في فئة C ++.
يتضمن الفصل معاملات معادلة Steinhart-Hart وقيمة مقاومة الحاجز الاسمية والمنفذ التناظري الذي يتصل به الثرمستور. طريقة واحدة ، درجة الحرارة () ، تحول قيمة ADC إلى قيمة مقاومة ثم تستخدم معادلة Steinhart-Hart لتحديد درجة الحرارة في كلفن. تطرح القيمة المعادة الصفر المطلق (273.15 كلفن) من درجة الحرارة المحسوبة لتوفير القيمة بالدرجة المئوية.
تتضح قوة Lightblue Bean في حقيقة أن جميع وظائف Bluetooth يتم تنفيذها بشكل أساسي في سطر واحد من التعليمات البرمجية التي تكتب قيم درجة الحرارة التي تم أخذها في منطقة بيانات الصفر على ذاكرة Bluetooth.
Bean.setScratchData (TEMPERATURE_SCRATCH_IDX، (uint8_t *) & temperature [0]، 12)؛
يتم تمثيل كل قيمة درجة حرارة مأخوذة بواسطة عوامة تشغل 4 بايت. يمكن أن تستوعب منطقة بيانات التسويد 20 بايت. نحن نستخدم 12 منهم فقط. توجد 5 مناطق لبيانات الخدش ، لذا يمكنك نقل ما يصل إلى 100 بايت من البيانات باستخدام بيانات التسويد.
التدفق الأساسي للأحداث هو:
- تحقق لمعرفة ما إذا كان لدينا اتصال Bluetooth
- إذا كان الأمر كذلك ، فخذ عينات من درجات الحرارة واكتبها في منطقة بيانات التسويد
- نم 200 مللي ثانية وكرر الدورة.
في حالة عدم الاتصال ، يضع البرنامج الثابت شريحة ATMEGA328P في وضع السكون لفترة طويلة. دورة النوم مهمة للحفاظ على الطاقة. تنتقل شريحة ATMEGA328P إلى وضع الطاقة المنخفضة وتبقى هناك حتى تنقطع بواسطة وحدة Bluetooth LBM313. سينشئ LBM313 مقاطعة لتنبيه ATMEGA328P في نهاية فترة السكون المطلوبة ، أو عند إجراء اتصال Bluetooth بـ Bean. يتم تمكين وظيفة WakeOnConnect عن طريق استدعاء Bean.enableWakeOnConnect (صواب) بشكل صريح أثناء الإعداد ().
من المهم ملاحظة أن البرنامج الثابت سيعمل مع أي تطبيق عميل BLE. كل ما يحتاجه العميل هو تجريد بايتات درجة الحرارة من بنك بيانات التسويد وإعادة تجميعها في أرقام الفاصلة العائمة للعرض أو المعالجة. كان أسهل تطبيق عميل بالنسبة لي هو استخدام EvoThings.
الخطوة 5: تطبيق الهاتف الذكي
تطبيق نموذج Evo Things قريب جدًا مما أحتاجه مع بذل جهد بسيط فقط لإضافة عناصر عرض إضافية لإكمال جهاز قياس درجة الحرارة المكون من 3 قنوات.
تم توثيق التثبيت والتشغيل الأساسي لمنصة EvoThings جيدًا على موقع Evo Things على الويب ، لذلك لا توجد قيمة لتكرار ذلك هنا. كل ما سأغطيه هنا هو التغييرات المحددة التي أجريتها على نموذج الكود الخاص بهم لعرض 3 قنوات لمعلومات درجة الحرارة ، المستخرجة من منطقة بيانات خدش Bluetooth.
بعد تثبيت EvoThings Workbench ، ستجد مثال Lightblue Bean هنا (على أجهزة الكمبيوتر التي تعمل بنظام Windows 64 بت):
ThisPC / Documents / EvothingsStudio_Win64_1. XX / Examples / Lightblue-bean-basic / app
يمكنك استبدال ملفات index.html و app.js بالملفات المرفقة بهذه الخطوة. التغييرات التي تم إجراؤها على ملف jacascript تستخرج قيم درجة حرارة النقطة العائمة الثلاث من منطقة بيانات التسويد ، وحتى HTML الداخلي للعناصر الجديدة التي تم إنشاؤها في ملف HTML.
دالة onDataReadSuccess (بيانات) {
var temperatureData = جديد Float32Array (بيانات) ؛
var bytes = new Uint8Array (بيانات) ؛
var temperature = temperatureData [0] ؛
console.log ('قراءة درجة الحرارة:' + درجة الحرارة + 'C') ؛
document.getElementById ('temperatureAmbient'). innerHTML = temperatureData [0].toFixed (2) + "C °"؛
document.getElementById ('temperature1'). innerHTML = temperatureData [1].toFixed (2) + "C °"؛
document.getElementById ('temperature2'). innerHTML = temperatureData [2].toFixed (2) + "C °"؛
}
الخطوة 6: الضميمة
العلبة عبارة عن صندوق بسيط مطبوع ثلاثي الأبعاد. لقد استخدمت Cubify Design لإنشاء التصميم ولكن أي برنامج نمذجة ثلاثية الأبعاد سيكون كافياً. يتم إرفاق ملف STL لك لطباعة الملف الخاص بك. إذا اضطررت إلى القيام بذلك مرة أخرى ، فسوف أجعل الجدران أثخن قليلاً مما هي عليه الآن ، وأغير تصميم المشبك الذي يثبت اللوحة في مكانها. تنكسر المقاطع بسهولة لأن الضغط موجود في مستوى smae مثل الطبقات المطبوعة ثلاثية الأبعاد ، وهو الاتجاه الأضعف للأجزاء المطبوعة ثلاثية الأبعاد. الجدران رفيعة جدًا لذا فإن آلية المفاجئة تكون على الجانب الضعيف قليلاً. لقد استخدمت شريطًا شفافًا لإبقاء الصندوق مغلقًا لأن الجدران كانت واهية للغاية - ليست أنيقة ولكنها تعمل!
الخطوة 7: إعدادات الكمبيوتر وتكوين Bluetooth
تتم دورة إنشاء البرامج الثابتة وتحميلها لـ Bean عبر البلوتوث. يمكن أن يكون هناك اتصال Bluetooth نشط واحد فقط في كل مرة. يتوفر Bean Loader من متجر تطبيقات Windows
الدورة الأساسية التي أستخدمها للإقران والاتصال (والإصلاح وإعادة الاتصال عندما تسوء الأمور) هي كما يلي: من لوحة التحكم ؛ / إعدادات Bluetooth ، يجب أن ترى الشاشة التالية:
في النهاية ستبلغ النوافذ "جاهز للإقران". في هذه المرحلة ، يمكنك النقر فوق أيقونة Bean وبعد بضع ثوانٍ ، سيطالبك Windows بإدخال رمز مرور. رمز المرور الافتراضي للوحدة هو 00000
إذا تم إدخال رمز المرور بشكل صحيح ، فسيعرض Windows أن الجهاز متصل بشكل صحيح. يجب أن تكون في هذه الحالة حتى تتمكن من برمجة Bean.
بمجرد إقرانك وتوصيلك ، استخدم Bean Loader لتحميل البرنامج الثابت إلى الفول. لقد وجدت أن هذا فشل في كثير من الأحيان ويبدو أنه مرتبط بقرب جهاز الكمبيوتر الخاص بي. حرك حبة الفول حتى تجد موقعًا يناسبك. هناك أوقات لا يعمل فيها شيء وسوف يقترح Bean Loader إعادة إقران الجهاز. عادةً ما يؤدي إجراء عملية الاقتران مرة أخرى إلى استعادة الاتصال. يجب عليك "إزالة الجهاز" قبل إعادة الاقتران.
عملية Bean Loader بسيطة وموثقة جيدًا على موقعهم. مع فتح Bean Loader ، اختر عنصر القائمة "Program" لفتح مربع حوار للاستعراض إلى ملف Hex المقدم في خطوة البرنامج الثابت لهذه التعليمات.
بمجرد تحميل البرنامج الثابت ، أغلق Bean Loader بحيث يتم قطع الاتصال بين Bean Loader وجهاز Bean. يمكنك الحصول على اتصال واحد فقط في كل مرة. افتح الآن طاولة عمل EvoThings وابدأ عميل EvoThings على الهاتف الذكي أو الجهاز اللوحي.
عند النقر فوق الزر "تشغيل" ، سيقوم عميل EvoThings تلقائيًا بتحميل صفحة html لميزان الحرارة. انقر فوق الزر Connect للاتصال بـ Bean وسترى درجات الحرارة معروضة. النجاح!
الخطوة 8: الخاتمة
إذا تم بناء كل شيء وتكوينه بشكل صحيح ، فيجب أن يكون لديك نظام عمل يسمح لك بمراقبة درجات الحرارة باستخدام مجسين ، بالإضافة إلى مراقبة درجة حرارة مستشعر BMA250 على لوحة تطوير Bean. هناك المزيد الذي يمكن القيام به مع EvoThings - لقد خدشت السطح للتو لذا أترك هذه التجربة لك! شكرا للقراءة! إذا ساءت الأمور ، اترك التعليقات وسأساعدك حيثما أمكن ذلك.
موصى به:
ميزان حرارة مضيء - ضوء حديقة فيتامين فيتامين (eNANO De Jardin): 6 خطوات
ترمومتر مضيء - ضوء حديقة فيتامين (eNANO De Jardin): ضوء حديقة فيتامين مع اردوينو نانو ومستشعر درجة الحرارة BMP180. سيكون لضوء الحديقة الخاص بنا قوة سرية: سيكون قادرًا على الإشارة إلى درجة الحرارة الخارجية عن طريق رمز اللون و يومض. عملها كالتالي: إنها
IOT ThermoGun - ميزان حرارة ذكي لقياس درجة حرارة الجسم بالأشعة تحت الحمراء - Ameba Arduino: 3 خطوات
IOT ThermoGun - ميزان حرارة ذكي يعمل بالأشعة تحت الحمراء للجسم - Ameba Arduino: مع استمرار COVID-19 في إحداث فوضى على مستوى العالم ، مما تسبب في آلاف الوفيات ، والملايين في المستشفى ، فإن أي جهاز طبي مفيد مطلوب بشكل كبير ، خاصة الأجهزة الطبية المنزلية مثل ميزان الحرارة غير المتصل بالأشعة تحت الحمراء ؟؟ . عادة ما يكون مقياس الحرارة المحمول قيد التشغيل
استخدام الهاتف الذكي كمقياس حرارة لا يلامس / ميزان حرارة محمول: 8 خطوات (بالصور)
استخدام الهاتف الذكي كمقياس حرارة غير متصل / ميزان حرارة محمول: قياس درجة حرارة الجسم بدون تلامس / بدون تلامس مثل مسدس حراري. لقد أنشأت هذا المشروع لأن Thermo Gun الآن مكلف للغاية ، لذلك يجب أن أحصل على بديل لصنع DIY. والغرض من ذلك هو إصدار الميزانية المنخفضة. العرض MLX90614Ardu
ميزان حرارة يعمل بالأشعة تحت الحمراء لا يلامس من أردوينو - ميزان حرارة قائم على الأشعة تحت الحمراء باستخدام Arduino: 4 خطوات
ميزان حرارة يعمل بالأشعة تحت الحمراء لا يلامس من أردوينو | ميزان حرارة قائم على الأشعة تحت الحمراء باستخدام Arduino: مرحبًا يا رفاق في هذه التعليمات ، سنقوم بعمل مقياس حرارة بدون تلامس باستخدام اردوينو. نظرًا لأن درجة حرارة السائل / الصلب في بعض الأحيان تكون مرتفعة جدًا أو منخفضة ومن ثم يصعب الاتصال بها وقراءتها درجة الحرارة ثم في هذا المشهد
RuuviTag و PiZero W و Blinkt! ميزان حرارة قائم على منارة بلوتوث: 3 خطوات (بالصور)
RuuviTag و PiZero W و Blinkt! مقياس حرارة قائم على منارة Bluetooth: يصف هذا التوجيه طريقة لقراءة بيانات درجة الحرارة والرطوبة من RuuviTag باستخدام Bluetooth مع Raspberry Pi Zero W ولعرض القيم بالأرقام الثنائية على Pimoroni blinkt! pHAT أو باختصار: كيف نبني دولة