فهرست مطالب:
- مرحله 1: فكرة مختصره للمشروع
- مرحله 2: العناصر المستخدمه للمشروع
- مرحله 3: تشغیل المشروع باللوح التجريبي
- مرحله 4: تصویری PCB
- مرحله 5: الخطوه ما قبل الاخيره
- مرحله 6: الخطوة الاخيره
- مرحله 7: الكود مع شرحها
تصویری: اندازه گیری دما: 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
هو قياس درجه الحراره باستخدام الكاميرا االحراريه
مرحله 1: فكرة مختصره للمشروع
في ظل الازمه والجائحه التي يمربها العالم اجمع في محاربه الكوفيد 19 ونسأل الله السلامه والعافيه للجميع وارحم من توفاه الله
فمشروعنا یحتوى على 5 عناصر اساسيه ، وى كاميرا تقيس الحراراه ، تظهر النتائج وظيفه درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاخا خيريا
مرحله 2: العناصر المستخدمه للمشروع
1: شاشه TFT لعرض حراره الجسمه وهي متصله من عالكاميرا الحراريه التي تظهر ايضا درجه الحراره
2 شاخه LCD وضعنا الشاشه لعرض درجه الحراره رقميا لكي تظهر الحراره رقميا
3 حساس المسافه: وذلك اذا استشعر حساس المسافه جسم من امامه مباشرة احتساب درجه الحراره عن طريق الكاميرا الكاميراه
4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية من طريق الشاشه.
5 اردوينو ميجا
مرحله 3: تشغیل المشروع باللوح التجريبي
التست بورد: هو لوح بلستيكي مسطح الشكل يضم بداخليه محل معدنيه متصله على شكل صفوف واعمده تستخدم الدوائر الالكترونيه
وظیفه التست بورد باختصار:…
مرحله 4: تصویری PCB
تصميم PCB مهم في حال اردت آن المشروع
ال PCB باختصار:..هي لوح مسطح.
مرحله 5: الخطوه ما قبل الاخيره
بعد ما تمت عمليه الطباعه والتحميض و التخريم وتسجيل الاسلاك بالشكل اللائق يكون الشكل الخرجي اصغر ممكن وشكل متناقس وجميل
مرحله 6: الخطوة الاخيره
الخطوة الاخيره و هي التاكد من المشروع بالشكل المطلوب بعد أن تم وضعه في الصندوق في الشكل المناسب و متناسق
مرحله 7: الكود مع شرحها
LCD و SD
************************************************* ** ** ************************** هذه مكتبة لكاميرا AMG88xx GridEYE 8x8 IR
يصنع هذا الرسم كاميرا حرارية بدقة 64 بكسل مع مستشعر GridEYE وشاشة 128x128 tft
مصمم فقطًا للعمل مع اندلاع Adafruit AMG88 -
تستخدم هذه المستشعرات I2C للتواصل. عنوان I2C للجهاز هو 0x69
تستثمر Adafruit الموارد الموارد في هذا الكود المصدر ، يرجي دعم أجهزة Adafruit والمصدر المفتوح عن طريق شراء المنتجات من Adafruit!
بقلم دين ميلر للصناعات Adafruit. ترخيص BSD ، تضمين نص في نص يصنف في إعادة توزيع ********************************** ************************************* // // هذه المكتبات استدعاءها في بداية الكود عمليةهل كتابة الكود # تضمين // مكتبة الرسومات الأساسية # تضمين // مكتبة خاصة بالأجهزة # تضمين # تضمين # تضمين # تضمين # تضمين // # تضمن # تضمين
// هذه تعريفات لأماكن اتصال الحساسات بالأردوينو #define TFT_CS 53 // رقاقة حدد لشاشة TFT #define TFT_RST 9 // يمكنك أيضًا توصيل هذا بإعادة تعيين Arduino // في هذه الذب ، احساس #define TFT_DC 8 #degine trig 12 #تعريف صدى 11 كاردبين int = 10 ؛
اللون الأزرق الأزرق // المبرمجين للمستقيم (سيكون أزرق على الشاشة) #تعریف MINTEMP 22
الشاشة باللون الأحمر // المدى العالي للمستشعر (سيكون أحمر علي الشاشة) # تعريف MAXTEMP 34
// هذا الأمر يقوم بتعريفه SR04 sr04 = SR04 (اکو ، تریگ) ؛
عنصر عناصر الصورة ، حجمه الأبرز // هذا الأمر ، يقوم بتعقب ذلك ، كريستال_ 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، 0x4E، 0xEBA0، 0xEB80، 0xEB60، 0xEB40، 0xEB20، 0xEB00، 0xEAE0، 0xEAC0، 0xEAA0، 0xEA80، 0xEA60، 0xEA40، 0xF220، 0xF200، 0xF1E0، 0xF1C0، 0xF1A0، 0xF180، 0F160، 0xF1، 0xF180، 0F160، 0xF1، 0xF180، 0F160، 0xF060، 0xF040، 0xF020، 0xF800،}؛ // هذا الأمر يقوم بتعقبه 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، 0xEB60، 0xEBA0، 0xEB80، 0xEB، مقدار 0x00، 0xEA80، 0xEA60، 0xEA40، 0xF220، 0xF200، 0xF1E0، 0xF1C0، 0xF1A0، 0xF180، 0xF160، 0xF140، 0xF100، 0xF0E0، 0xF0C0، 0xF0A0، 0xF080، 0xF060، 0xF040، 0xF020، 0xF0800، 0xF040، 0xF020، // هذا الأمر يقوم بتعقبه 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، 0xEB60، 0xEBA0، 0xEB80، 0xEB، مقدار 0x00 0xEA80، 0xEA60، 0xEA40 ، 0xF220، 0xF200، 0xF1E0، 0xF1C0، 0xF1A0، 0xF180، 0xF160، 0xF140، 0xF100، 0xF0E0، 0xF0C0، 0xF0A0، 0xF080، 0xF060، 0xF040، 0xF020، // هذا الأمر يقوم بتعقبه 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، 0xF140، 0 xF0100، 0xF160، 0xF140، 0F100، 0xF1، 0xF020، 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، 0xF140، 0 xF0100، 0xF160، 0xF140، 0F100، 0xF1، 0xF020، 0xF800 ،} ؛ // هذا الأمر يقوم بتعقبه Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS ، TFT_DC ، TFT_RST) ؛
// هذا الأمر يقوم بتعريف عنصر الكاميرا الحرارية Adafruit_AMG88xx amg ؛
// هذه متغيرات لتحديد الكاميرا الحرارية تأخير وقت طويل بدون توقيع ؛ البكسل العائم [AMG88xx_PIXEL_ARRAY_SIZE] ؛ uint16_t صفحه نمایش پیکسل عرض ، صفحه نمایش پیکسل ارتفاع ؛
// هذا التابع يعمل على بدء تشغيل عند الأردوينو الإعداد باطل () {// هذا الأمر يقوم بفتح منفذ تسلسلي بين الأردوينو والبدء في الأخطاء وعرض البيانات التي تلقيها من الحساسات (96)
Serial1.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 (کارتن ، الإخراج) ؛ إذا (! 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 ("برو دورتر") ؛
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أبتعد عن الحساس" 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) {// هذا الأمر يظهر على الشاشة جملة "إذهب إلى المنزل" lcd.print ("الشخص إلى المنزل") ؛
من أعلى درجات الحرارة من أعلى الصفحة ، إذهب إلى الطوارئ.
}} //////////////////////////////////////////// ////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// ملف داخل كرت البحث عن درجات. الحرارة بداخله ////////////////////////////////////////// //// ////// /////////////////////////////////// فایل = SD.open ("data.txt" ، FILE_WRITE) ؛ إذا (ملف) {String fulldata = "Temp:" + String (degreeF) ؛ file.println (فولداتا) ؛ file.close () ؛ }
آخر {// هذا الأمر يظهر علي شاشة الكمبيوتر وجود خطأ في كتابة البيانات علي كرت الذاكرة Serial.println ("خطأ في كتابة ملف البيانات") ؛
} ///////////////////////////////////////////// //// ///// ///////////////////////////////////////////////////////////////////////////////////////// يقوم بتوقيف الكود لمدة 200 ثانية حتي يستقر المتحكم تأخير (200) ؛ // هذا الأمر يقوم بمسح المحتويات من الشاشة lcd.clear ()؛
} // نهایة الحلقة
توصیه شده:
اندازه گیری زمان (ساعت اندازه گیری نوار): 5 مرحله (همراه با تصاویر)
Time Time (Tape Measure Clock): برای این پروژه ، ما (Alex Fiel & amp؛ Anna Lynton) یک ابزار اندازه گیری روزانه تهیه کردیم و آن را به ساعت تبدیل کردیم! طرح اولیه این بود که یک نوار اندازه گیری موجود را موتور کنید. در ساخت آن ، ما تصمیم گرفتیم که راحت تر بتوانیم پوسته خودمان را ایجاد کنیم
اندازه گیری ولتاژ اندازه جیبی DIY: 5 مرحله
اندازه گیری ولتاژ DC اندازه جیبی DIY: در این مقاله به شما نشان می دهم که چگونه می توانید ولتاژ DC اندازه جیب DIY را با زنگ پیزو برای بررسی مدار توسط خودتان بسازید. تنها چیزی که نیاز دارید دانش اولیه در زمینه الکترونیک و کمی زمان است. اگر س questionال یا مشکلی دارید می توانید
سیستم اندازه گیری دما و رطوبت آردوینو - تکنیک جو: 3 مرحله
سیستم اندازه گیری دما و رطوبت آردوینو | تکنیک جو: بعد از ساخت دو بازی بیهوده با آردوینو و اتلاف وقت با بازی آنها ، می خواستم چیزی مفید با آردوینو بسازم. من به ایده سیستم اندازه گیری دما و رطوبت هوا برای گیاهان رسیدم. برای کمی پیشرفت پروژه
اندازه گیری دما با استفاده از XinaBox و ترمیستور: 8 مرحله
اندازه گیری دما با استفاده از XinaBox و ترمیستور: اندازه گیری دمای مایع با استفاده از ورودی آنالوگ xChip از XinaBox و کاوشگر ترمیستور
اندازه گیری دما با استفاده از AD7416ARZ و Raspberry Pi: 4 مرحله
اندازه گیری دما با استفاده از AD7416ARZ و Raspberry Pi: AD7416ARZ یک سنسور دمای 10 بیتی با چهار مبدل آنالوگ به دیجیتال تک کانالی و یک سنسور دمای داخلی است که در آن گنجانده شده است. از طریق کانال های چند پلکسر می توان به سنسور دمای قطعات دسترسی داشت. این دما با دقت بالا