
مرحبا بالجميع!
لقد وصل فصل الشتاء ، ولذا اضطررت إلى التحقق من العزل الحراري لبلدي
خارج منزل الإقامة . واتضح للتو أن السوق الصينية الشهيرة بدأت في بيع وحدات الكاميرا الحرارية الرخيصة. لذلك قررت أن تصنعه بنفسك وأن تبني شيئًا غريبًا ومفيدًا - واقي حراري للمنزل. لم لا؟ خاصة وأنني توت العليق تكمن في أي حال ... والنتيجة هي أسفل.
MLX90640. ما هذا؟
هذه مصفوفة كاميرا حرارية مع متحكم على متن الطائرة ، صُنعت من قبل شركة غير معروفة تدعى Melexis. المصفوفة 32 × 24 بكسل ، وهي ليست كثيرة ، ولكن بعد الاستيفاء ، يكفي أن تلاحظ الاتجاهات العامة.

يأتي المستشعر في نسختين ، والفرق الوحيد هو الحال وفو الكاميرا. يلاحظ نموذج A الأكثر ترتكز على العالم مع 110 درجة أفقيا و 75 رأسيا. نموذج B لديه 55 و 37.5 درجة على التوالي. تحتوي العلبة على أربعة مخرجات - اثنان من أجل الطاقة واثنان للتحدث إلى جهاز تحكم عبر I2C. يمكن العثور على ورقة البيانات
هنا .
ما هو GY-MCU90640 ، إذن؟
يقوم زملاؤنا الصينيون أيضًا بشحن رقاقة MLX90640 مع متحكم آخر على متنها (STM32F103) ، وربما لتسهيل التحكم في المصفوفة. الوحدة بأكملها تسمى GY-MCU90640 ، وقد كلفني ذلك حوالي 5000 روبل روسي (حوالي 80 دولارًا) في ديسمبر 2018. يبدو الأمر كما يلي:

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

لكن من أجل التصور أوصي بنموذج B أكثر "عيون النسر" ، لسبب واحد مهم للغاية. يمكن تشغيله في مكانه (يدويًا أو عبر محرك أقراص) لجعل الصور المدمجة أكثر تفصيلًا من دقة 32 × 24. لكنني لا أملك نموذجًا ، لذا سأتحدث لاحقًا عن نموذج A ذي الزاوية الأوسع.
ربط التوت بي
يمكننا التحكم في الكاميرا الحرارية بطريقتين:
- اختصر الدبابيس "SET" على اللوحة واستخدم بروتوكول I2C للتحكم في متحكم MLX90640 مباشرة
- اترك المسامير واستخدام وحدة التحكم STM32F103 من خلال RS-232 أو واجهة مشابهة.
إذا قمت بالرمز في C ++ ، فمن الأفضل أن تتجاهل وحدة التحكم الإضافية ، وتختصر الدبابيس وتستخدم واجهة برمجة تطبيقات الشركة المصنعة ، الموجودة
هنا .
يمكن لبيثيون المتواضعين أيضًا استخدام الخيار الأول. يبدو أن هناك اثنين من مكتبات Python (
هنا و
هنا ) ، لكن لم ينجح أي منهما.
يمكن ل Pythonists المتقدمين كتابة برنامج تشغيل جهاز التحكم الخاص بهم نظريًا. تشرح ورقة البيانات كيفية استخراج إطار منها. لكن سيتعين عليك وصف جميع إجراءات المعايرة يدويًا ، والتي أجدها صعبة للغاية. لذلك اعتدت الخيار 2. اتضح أنه معقد قليلاً ، لكن لا يزال من الممكن التحكم فيه.
بفضل البراعة الصينية (أو الحظ) ، اتضح أن تكوين الإخراج على اللوحة مريح للغاية:

كل ما كنت بحاجة إليه هو إدخال اللوحة في منفذ Raspberry. تحتوي اللوحة على محول 5V-3V ، وبالتالي فإن مخرجات Rx و Tx الحساسة لـ Pi ليست في أي خطر.
أود أيضًا أن أضيف أنه يمكنك توصيله بشكل مشابه أثناء استخدام الخيار 1 ، ولكن عليك أن تكون شديد الحذر والبراعة في اللحام. يجب تثبيت اللوحة على الجانب الآخر من Pi (مثال في صورة الرأس).
البرمجيات
يقدم السوق الصيني الشهير هذا البرنامج المهيب للوصول إلى GY-MCU90640:

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

جيثب تبين أن اللوحة تفهم 6 أوامر أساسية ، بما في ذلك واحد لطلب الإطار الحالي عبر منفذ COM.
كل بكسل من المصفوفة هو في الأساس قراءة لدرجة حرارة الكائن. قيمة درجة الحرارة هي في درجة مئوية مضروبة في 100 (عدد 2 بايت). يوجد أيضًا وضع خاص عندما ترسل اللوحة إطارات إلى Pi تلقائيًا 4 مرات في الثانية.
النص الكامل لاستقبال الصور الحرارية:"""MIT License Copyright (c) 2019 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.""" import serial, time import datetime as dt import numpy as np import cv2
النتائج
يقوم البرنامج باستقصاء المصفوفة الحرارية وإخراج الإطارات إلى وحدة التحكم الخاصة بالشاشة المتصلة ، 4 مرات في الثانية ، وهو ما يكفي لعدم الشعور بالكثير من الانزعاج. للتصور يستخدم حزمة OpenCV. عندما تضغط على S ، يتم تحميل "خرائط الحرارة" من الكاميرا كملفات JPG إلى مجلد البرنامج النصي.

من أجل رؤية أفضل ، قمت أيضًا بعرض التطبيق على الحد الأدنى والحد الأقصى لدرجة الحرارة داخل الإطار. لذلك ، من خلال النظر في خريطة الحرارة ، يمكننا تقدير درجة حرارة الأجسام الأكثر حرارةً وبرودة (ضمن درجة ، عادةً ما تكون في الجانب العلوي) ، في حدود 20-40 درجة. Ctrl + C يخرج البرنامج النصي.

يعمل البرنامج النصي نفسه على Raspberry Pi Zero W و Pi 3 B +. قمت بتثبيت خادم VNC على هاتفي الذكي ، لذلك ، فمن خلال حمل Pi المتصل ببنك طاقة بهاتف ذكي يدعم VNC ، يمكننا الحصول على كاميرا جيب حرارية تحفظ الصور. قد لا تكون مريحة للغاية ، لكنها تقوم بهذه المهمة.
بعد التمهيد الأول ، قد يعرض درجة الحرارة القصوى بشكل غير صحيح ، وفي هذه الحالة ، يجب أن تؤدي إعادة التشغيل فقط المهمة.
هذا عن ذلك اليوم. يمكن اعتبار التجربة ناجحة. يمكنك بالتأكيد إجراء مسح حراري للمنزل باستخدام هذا الجهاز. إذا كان شخص ما يمكن أن يأتي مع استخدامات أخرى لهذا ، يرجى الكتابة في التعليقات.
أسبوع عمل سعيد وأراك قريباً!
محدث: لقد طُلب مني في التعليقات أخذ لقطة من المنزل من الخارج. ها هو ذا. انتهت الصور ليست غنية بالمعلومات بسبب انخفاض التباين في درجات الحرارة. الصورتان العلويتان هما المنزل بأكمله من زاويتين. الصورتان السفليتان هما نوافذ مختلفة.

كان التغيير الوحيد الذي أدليت به للرمز هو نطاق درجة الحرارة: من +20 ... + 40 إلى -10 ... + 5.