جدول المحتويات:
- الخطوة 1: فكرة مختصره للمشروع
- الخطوة 2: العناصر المستخدمه للمشروع
- الخطوة 3: تشغيل باللوح الافتراضي
- الخطوة 4: تصميم PCB
- الخطوة 5: الخطوه ما قبل الاخيره
- الخطوة السادسة: الخطوة الاخيره
- الخطوة 7: الكود مع شرحها
فيديو: قياس درجة الحرارة: 7 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
هو قياس درجه الحراره باستخدام الكاميرا االحراريه
الخطوة 1: فكرة مختصره للمشروع
في ظل الازمه والجائحه التي يمربها العالم اجمع في محاربه الكوفيد 19 ونسأل الله السلامه والعافيه للجميع وارحم من توفاه الله
فمشروعنا يحتوى على 5 عناصر اساسيه ، وهي كاميرا تقيس الحراراه ، تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه وشاشه يعطي نتائج درجه الحراره أمام الكاميرا أمام الكاميرا يراوينو ميجا
الخطوة 2: العناصر المستخدمه للمشروع
1: شاشه TFT لعرض حراره الجسمه وهي متصله م عالكاميرا الحراريه التي تظهر ايضا درجه الحراره
2 شاشه LCD وضعنا الشاشه لعرض درجه الحراره رقميا لكي تظهر الحراره رقميا
3 حساس المسافه: وذلك اذا استشعر حساس المسافه جسم من امامه مباشرة احتساب درجه الحراره عن طريق الكاميرا الكاميراه
4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية من طريق الشاشه.
5 اردوينو ميجا
الخطوة 3: تشغيل باللوح الافتراضي
التست بورد: هو لوح بلستيكي مسطح الشكل يضم بداخليه نقاط معدنيه متصله على شكل صفوف واعمده تستخدم الدوائر الالكترونيه
وظيفة التست بورد باختصار:…
الخطوة 4: تصميم PCB
تصميم PCB مهم في حال اردت ان المشروع
ال PCB باختصار:..هي لوح مسطح.
الخطوة 5: الخطوه ما قبل الاخيره
بعد ما تمت عمليه الطباعه والتحميض و التخريم وتسجيل الاسلاك بالشكل اللائق يكون الشكل الخرجي اصغر ممكن وشكل متناقس وجميل
الخطوة السادسة: الخطوة الاخيره
الخطوة الاخيره و هي التاكد من المشروع بالشكل المطلوب بعد أن تم وضعه في الصندوق في الشكل المناسب و متناسق
الخطوة 7: الكود مع شرحها
ال سي دي و SD
**************************************************** ** ** ***************************** هذه مكتبة لكاميرا AMG88xx GridEYE 8x8 IR
يصنع هذا الرسم كاميرا حرارية بدقة 64 بكسل مع مستشعر وشاشة 128x128 tft
مصمم فقطًا للعمل مع اندلاع Adafruit AMG88 -
تستخدم هذه المستشعرات I2C للتواصل. عنوان I2C للجهاز هو 0x69
تستثمر Adafruit الموارد الموارد في هذا الكود المصدر ، يرجى دعم أجهزة Adafruit والمصدر المفتوح عن طريق شراء المنتجات من Adafruit!
بقلم دين ميلر للصناعات Adafruit. ترخيص BSD ، تضمين نص في نص يصنف في إعادة توزيع **************************************** * ***************** ******************************* / // هذه المكتبات استدعاءها في بداية الكود عملية كتابة الكود # تضمين // مكتبة الرسومات الأساسية # تضمين // مكتبة خاصة بالأجهزة # تضمين # تضمين # تضمين # تضمين // تضمن # تضمين
// هذه تعريفات لأماكن اتصال الحساسات بالأردوينو #define TFT_CS 53 // رقاقة حدد لشاشة TFT #define TFT_RST 9 // يمكنك أيضًا توصيل هذا بإعادة تعيين Arduino // في الحالة ، اضبط هذا # تعريف الدبوس على 0! #define TFT_DC 8 #define trig 12 # تعريف صدى 11 كاردبين int = 10 ؛
اللون الأزرق الأزرق // المبرمجين للمستقيم (سيكون أزرق على الشاشة) #define MINTEMP 22
الشاشة باللون الأحمر // المدى العالي للمستشعر (سيكون أحمر على الشاشة) # تعريف MAXTEMP 34
// هذا الأمر يقوم بتعريفه SR04 sr04 = SR04 (echo ، trig) ؛
عناصر الصورة ، حجمه الأبرز // هذا الأمر ، يقوم بتعقب ذلك ، كريستال_ I2C lcd (0x27 ، 16 ، 2) ؛ // قاسية عمق عنوان LCD على 0x27 لعرض 16 حرفًا وخطين // LiquidCrystal LCD (27 ، 28 ، 29 ، 30 ، 31 ، 32) ؛
ملف الملف ؛
يتم حفظ المسافة فيه مسافة طويلة
0xDEA0 ، 0xDE80 ، 0xDE80 ، 0xE660 ، 0xE640 ، 0xE620 ، 0xE600 ، 0xE5E0 ، 0xE5C0 ، 0xE5A0 ، 0xE580 ، 0xE560 ، 0xE540 ، 0xE520 ، 0xE500 ، 0xE4E ، 0x20 ، 0xE4C0 ، E4A0 ، 0x20 0xEB00 ، 0xEAE0 ، 0xEAC0 ، 0xEAA0 ، 0xEA80 ، 0xEA60 ، 0xEA40 ، 0xF220 ، 0xF200 ، 0xF1E0 ، 0xF1C0 ، 0xF1A0 ، 0xF180 ، 0F160 ، 0xF1 ، 0xF180 ، 0F160 ، 0xF1 ، 0xF180 ، 0F160 ، 0xF1 ، 0xF180 ، 0F160 ، 0xF1 ، 0xF180 ، 0F160 ، 0xF1 ، 0xF180 ، 0F160 ، // هذا الأمر يقوم بتعقبه Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS ، TFT_DC ، TFT_RST) ؛ 0xE5A0 ، 0xE580 ، 0xE560 ، 0xE540 ، 0xE520 ، 0xE500 ، 0xE4E0 ، 0xE4C0 ، 0xE4A0 ، 0xE480 ، 0xE460 ، 0xEC40 ، 0xEC20 ، 0xEC00 ، 0xEBE0 ، 0xEBC0 ، 0xEBA0 ، 0xEB80 ، 0xEB ، 0x00 ، 0xEA40 ، 0xF220 ، 0xF200 ، 0xF1E0 ، 0xF1C0 ، بتعريف 0xF1A0 ، 0xF180 ، هذا 0xF160 ، 0xF140 ، 0xF100 ، 0xF0E0 ، 0xF0C0 ، 0xF0A0 ، 0xF080 ، 0xF060 ، 0xF0 الأمر 40 ، 0xF020 ، 35F0800 ، يكتب (TFT_CS ، TFT_DC ، TFT_RST) ؛ 0xE5A0 ، 0xE580 ، 0xE560 ، 0xE540 ، 0xE520 ، 0xE500 ، 0xE4E0 ، 0xE4C0 ، 0xE4A0 ، 0xE480 ، 0xE460 ، 0xEC40 ، 0xEC20 ، 0xEC00 ، 0xEBE0 ، 0xEC20 ، 0xEC00 ، 0xEBE0 ، 0xEBC0 ، 0xEBA0 ، 0xEB80 ، 0x00 ، 0xF220 ، 0xF200 ، 0xF1E0 ، 0xF1C0 ، 0xF1A0 ، 0xF180 ، 0xF160 ، 0xF140 ، 0xF100 ، 0xF0E0 ، 0xF0C0 ، 0xF0A0 ، 0xF080 ، 0xF060 ، 0xF040 ، 0xF020 ، // tfrt35 ، AdafftT_35 ؛ ، 0xEB60 ، 0xEB40 ، 0xEB20 ، 0xEB00 ، 0xEAE0 ، 0xEAC0 ، 0xEAA0 ، 0xEA80 ، 0xEA60 ، 0xEA40 ، 0xF220 ، 0xF200 ، 0xF1E0 ، 0xF1C0 ، 0xF1A0 ، 0xF180 ، 0xF160 ، 0 xF140 ، 0 xF0100 ، 0xF160 ، 0 xF140 ، 0 xF0100 ، 0xF160 ، 0 xF140 ، 0 xF0100 ، 0xF160 ، 0 xF140 ، 0 xF0100 ، 0xF800 ،} ؛ // هذا الأمر يقوم بتعقبه Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS ، TFT_DC ، TFT_RST) ؛ ، 0xEB60 ، 0xEB40 ، 0xEB20 ، 0xEB00 ، 0xEAE0 ، 0xEAC0 ، 0xEAA0 ، 0xEA80 ، 0xEA60 ، 0xEA40 ، 0xF220 ، 0xF200 ، 0xF1E0 ، 0xF1C0 ، 0xF1A0 ، 0xF180 ، 0xF160 ، 0 xF140 ، 0 xF0100 ، 0xF160 ، 0 xF140 ، 0 xF0100 ، 0xF160 ، 0 xF140 ، 0 xF0100 ، 0xF160 ، 0 xF140 ، 0 xF0100 ، 0xF800 ،} ؛ // هذا الأمر يقوم بتعقبه Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS ، TFT_DC ، TFT_RST) ؛
// هذا الأمر يقوم بتعريف عنصر الكاميرا الحرارية Adafruit_AMG88xx amg ؛
// هذه متغيرات الكاميرا الحرارية لتحديد موعد وقت طويل بدون توقيع ؛ البكسل العائم [AMG88xx_PIXEL_ARRAY_SIZE] ؛ uint16_t displayPixelWidth ، displayPixelHeight ؛
// هذا التابع بدء تشغيل عند بدء تشغيل عند الأردوينو الإعداد باطل () {// هذا الأمر يقوم بفتح منفذ تسلسلي بين الأردوينو والبدء في الأخطاء وعرض البيانات التي تلقيها من الحساسات Serial.begin (9600) ؛
المسلسل 1.begin (9600) ؛ ////////////////////////////////////////////////////// //// //// ////////// // هذه الأوامر التي تنقل البيانات //////////////////////// ////// ////////////////////////////// ////////// lcd.init () ، lcd.init () ، اضاءه خلفيه ال سى دى () ؛ ////////////////////////////////////////////////////// //// //// //////////
// هذا الأمر يقوم بعرض جملة على شاشة الكمبيوتر توضح أن الكاميرا الحرارية Serial.println (F ("الكاميرا الحرارية AMG88xx!")) ؛
////////////////////////////////////////////////////// //// //// ////////// // هذه الأوامر التي تقوم برفع الشاشة وعرض طولها وعرضها ///////////////////// //// ///////////////////////////////// ////////// tft.initR (INITR_144GREENTAB) ، // تهيئة تهيئة ST7735S tft.fillScreen (ST7735_BLACK) ، displayPixelWidth = tft.width () / 8 ؛ displayPixelHeight = tft.height () / 8 ؛ //tft.set الدوران (3) ، //////////////////////////////////////////// ///// ///////////// //////////
// هذا متغير يتم حفظ حالة الكاميرا الحرارية تعمل / لا تعمل حالة منطقية
// هذا الأمر ، يقوم بالتأكد من أنه يستخدم الكاميرا بشكل صحيح // ، يظهر هذا الحالة. إذا (! الحالة) {Serial.println ("تعذر العثور على مستشعر AMG88xx صالح ، تحقق من تسوية!") ؛ بينما (1) ؛ }
Serial.println ("- اختبار الكاميرا الحرارية -") ؛ //lcd.begin(16 ، 2) ؛ تأخير (100) ؛ // دع المستشعر يصل
////////////////////////////////////////////////////// //// //// /////// // هذه العناوين تختص بحفظ البيانات على الذاكرة الخارجية ///////////////////////// ////// ///////////////////////////// /////// pinMode (cardpin ، الإخراج) ؛ إذا (! SD.begin (cardpin)) {Serial.println ("تهيئة تهيئة SD") ؛ }
إذا (SD.exists ("data.txt")) {Serial.println ("data.txt موجود.") ؛ إذا (SD.remove ("data.txt")) {Serial.println ("تمت إزالة الملف بنجاح") ؛ } آخر {Serial.println ("تعذر إزالة ملف البيانات.") ؛ }} ////////////////////////////////////////////////////// ////// ////// ////////
} // نهاية الإعداد
بدء تنفيذ الأمر الذي بدأ تنفيذ الأمر في بدء تنفيذ الأمر الذي يقوم بتنفيذ أوامر بدء تنفيذ الأمر الذي يقوم بتنفيذ أوامر بدء تنفيذ الأمر الذي يقوم بتنفيذ أوامر بدء تنفيذ الأمر الذي يعمل على بدء تنفيذ الأمر الذي يعمل بشكل مستمر بعد الانتهاء من تنفيذ البرنامج الأول // هذا التابع للأمم المتحدة. حرارية من الكاميرا // اقرأ كل البكسل amg.readPixels (بكسل) ؛
////////////////////////////////////////////////////// //// // // // //////////////////////////////// // هذه الأوامر التي تقوم بالنفاذ إلى النقاط الحرارية //// ////////////////////////////////////////////////// //////// ////////////////////////////////// تعويم maxx = -99.9 ؛ لـ (int i = 0 ؛ i
// ارسم البكسل! tft.fillRect (displayPixelHeight * floor (i / 8) ، displayPixelWidth * (i ٪ 8) ، displayPixelHeight ، displayPixelWidth ، camColors [colorIndex]) ؛ إذا (حز > maxx) {maxx = بكسل ؛ }} ////////////////////////////////////////////////////// ////// ////// ////////////////////////////////////
// هذا الأمر يقوم بقياس المسافة والمسافة في قياس المسافة والمسافة تقاس بالـ (سم) dist = sr04. المسافة () ؛
/ هذه جملة شرطية إذا كانت المسافة أعلى من 40 سم تنفيذ الأوامر التالية إذا (dist> 40) {
// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أقترب من الحساس" Serial.println ("اقترب") ؛
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أقترب من الحساس" lcd.print ("اقترب أكثر") ؛ } آخر {
/ هذه جملة شرطية ، تنفيذ التعليمات التالية إذا (dist <6) {// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أبتعد عن الحساس" Serial.println ("Go farther") ؛
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أبتعد عن الحساس" lcd.print ("اذهب أبعد") ؛ }
نفذت الإجراءات التالية {
// تظهر تظهر على شاشة الكمبيوتر المسافة بالـ (سم) Serial.print (Dist) ؛ Serial.println ("سم") ؛
هذه الأوامر بحساب درجة الحرارة بالدرجة تعويم newmax = دائري ((maxx + 5.25 + (dist / 9)) * 100) ؛ تعويم new2 = newmax / 100 ؛ درجات تعويم F = (جديد 2) ؛ // (1.8 * جديد 2 + 32) * 100 ؛ intF = (int) درجة F ؛
// هذا الأمر يدرس درجة الحرارة بالدرجة المئوية بفواصل عشرية على شاشة الكمبيوتر // مثال 36.24 درجة مئوية Serial.println (درجة فهرنهايت) ؛
// هذا الأمر يسجل درجة الحرارة بالدرجة المئوية على شاشة الكمبيوتر // مثال 36 درجة مئوية Serial.println (intF) ؛
// هذا الأمر إسناد الكتابة على المحرف الأول في السطر الأول lcd.setCursor (0 ، 0) ؛
//lcd.print("Temp: "+ سلسلة (درجة F / 100)) ؛
// هذا الأمر يقود إلى درجة الحرارة الصغيرة بعد تحويل درجة الحرارة إلى مصفوفة محارف STRING lcd.print ("درجة الحرارة:" + سلسلة (درجة فهرنهايت)) ؛
المسلسل 1.println (intF) ،
// هذا الأمر إسناد الكتابة على الحرف الأول في السطر الثاني lcd.setCursor (0 ، 1) ؛
/ هذه الدرجة درجة الحرارة // الدرجات F درجة الحرارة بدون الفاصلة العشرية. إذا كانت درجات فهرنهايت <10040) {// هذا الأمر الشاشة الصغيرة جملة "هذا الشخص سليم" lcd.print ("الشخص بأمان") ؛
} آخر {/ هذه درجات الحرارة ، درجات الحرارة ، درجات الحرارة ، الارتفاع:> = 10220).
أعلى درجات الحرارة من أعلى الصفحة ، الطوارئ إلى الطوارئ.
}} ////////////////////////////////////////////////////// ////// ////// ////////////////////////////////// // هذه الأوامر التي تفتح ملف داخل كرت البحث عن درجات. الحرارة بداخله //////////////////////////////////////////////////// //// ////// //////////////////////////////////// ملف = SD. فتح ("data.txt" ، FILE_WRITE) ؛ إذا (ملف) {String fulldata = "درجة الحرارة:" + سلسلة (درجة فهرنهايت) ؛ file.println (فولداتا) ؛ file.close () ؛ }
آخر {// هذا الأمر يظهر على شاشة الكمبيوتر وجود خطأ في كتابة البيانات على كرت الذاكرة Serial.println ("خطأ في كتابة ملف البيانات") ؛
} ///////////////////////////////////////////////////// //// ///// ////////////////////////////////////////} // هذا الأمر يقوم بتوقيف الكود لمدة 200 ثانية حتى يستقر المتحكم تأخير (200) ؛ // هذا الأمر يقوم بمسح المحتويات من الشاشة lcd.clear () ؛
} // نهاية الحلقة
موصى به:
نظام قياس درجة الحرارة والرطوبة اردوينو - تكنيك جو: 3 خطوات
نظام قياس درجة الحرارة والرطوبة اردوينو | تكنيك جو: بعد بناء لعبتين عديم الفائدة مع Arduino وأهدرت وقتي بلعبهما ، أردت إنشاء شيء مفيد مع Arduino. خطرت لي فكرة نظام قياس درجة حرارة ورطوبة الهواء للنباتات. لجعل المشروع قليلا مو
قياس درجة الحرارة باستخدام XinaBox و Thermistor: 8 خطوات
قياس درجة الحرارة باستخدام XinaBox و Thermistor: قم بقياس درجة حرارة السائل باستخدام مدخل تناظري xChip من XinaBox ومسبار الثرمستور
قياس درجة الحرارة باستخدام AD7416ARZ و Raspberry Pi: 4 خطوات
قياس درجة الحرارة باستخدام AD7416ARZ و Raspberry Pi: AD7416ARZ عبارة عن مستشعر درجة حرارة 10 بت مع أربعة محولات تناظرية أحادية القناة إلى رقمية ومستشعر درجة حرارة مدمج فيه. يمكن الوصول إلى مستشعر درجة الحرارة على الأجزاء عبر قنوات المضاعف. هذه درجة الحرارة عالية الدقة
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: 4 خطوات
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: مرحبًا يا رفاق في هذه التعليمات ، سوف نتعلم كيفية استخدام LM35 مع Arduino. Lm35 هو مستشعر لدرجة الحرارة يمكنه قراءة قيم درجة الحرارة من -55 درجة مئوية إلى 150 درجة مئوية. إنه جهاز ثلاثي الأطراف يوفر جهدًا تناظريًا يتناسب مع درجة الحرارة. عالية
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: 7 خطوات (بالصور)
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: لا يزال في رحلة لإكمال & quot؛ المشروع القادم & quot ؛، & quot؛ ESP32 NTP ميزان حرارة للطهي بمسبار درجة الحرارة مع تصحيح Steinhart-Hart وإنذار درجة الحرارة & quot؛ هو Instructable يوضح كيف يمكنني إضافة مسبار درجة حرارة NTP ، بيزو ب