สารบัญ:

การวัดอุณหภูมิ: 7 ขั้นตอน
การวัดอุณหภูมิ: 7 ขั้นตอน

วีดีโอ: การวัดอุณหภูมิ: 7 ขั้นตอน

วีดีโอ: การวัดอุณหภูมิ: 7 ขั้นตอน
วีดีโอ: วิธีใช้ปรอทวัดไข้ (แบบมีปุ่มกด) ด้วยตนเอง 2024, พฤศจิกายน
Anonim
การวัดอุณหภูมิ
การวัดอุณหภูมิ

هو قياس درجه الحراره باستخدام الكاميرا االحراريه

ขั้นตอนที่ 1: فكرة مختصره للمشروع

في ظل الازمه والجائحه التي يمربها العالم اجمع في محاربه الكوفيد 19 ونسأل الله السلامه والعافيف للجميعمواره

فمشروعنايحتوىعلى 5 عناصراساسيه, وهيكاميراتقيسالحراراه, تظهرالنتائجوظهردرجهالحرارهالداخليهبالجسميرمزالاحمرهناكدرجهحرارهمرتفعهاللونالاخضريدلعلىهناكدرجهحرارهمرتفعهوشاشهتعطينتائجدرجهالحرارهللشخصالمارامامالكاميراواخيرااردوينوميجا

ขั้นตอนที่ 2: العناصرالمستخدمهللمشروع

العناصر المستخدمه للمشروع
العناصر المستخدمه للمشروع
العناصر المستخدمه للمشروع
العناصر المستخدمه للمشروع
العناصر المستخدمه للمشروع
العناصر المستخدمه للمشروع

1: شاشه TFT لعرض حراره الجسمه وهي متصله م عالكاميرا الحراريه التي تظهر ايضا درجه الحراره

จอ LCD 2 จอ وضعنا الشاشه لعرض درجه الحراره رقميا لكي تظهر الحراره رقميا

3 ไฟล์: وذلك اذا استشعر حساس المسافه جسم من امامه مباشرة احتساب درجه الحرارا عن طريق الكاميرا

4 ภาษา: الكاميرا الحرارية: استخدام الكاميرا الحرارية من طريق الشاشه.

5 اردوينو ميجا

ขั้นตอนที่ 3: تشغيل المشروع باللوح التجريبي

التست بورد: هو لوح بلستيكي مسطح الشكل يضم بداخليه نقاط معدنيه متصله على شكل صفوف واعمده تدوادئم الهم

وظيفة التست بورد باختصار: …

ขั้นตอนที่ 4: การติดตั้ง PCB

ข้อสอบ PCB
ข้อสอบ PCB
ข้อสอบ PCB
ข้อสอบ PCB

تصميم PCB مهم في حال اردت ان المشروع

ال PCB ซอฟต์แวร์:..هي لوح مسطح.

ขั้นตอนที่ 5: الخطوه ما قبل الاخيره

الخطوه ما قبل الاخيره
الخطوه ما قبل الاخيره

بعد ما تمت عمليه الطباعه والتحميض و التخريم وتسجيل الاسلاك بالقشكل اللائق يكون الشكل الخرجي اصغر كاملم شكل

ขั้นตอนที่ 6: الخطوةالاخيره

الخطوة الاخيره و هي التاكد من المشروع بالشكل المطلوب بعد أن تم وضعه في الصندوق في الشكل المناسب و متناق

ขั้นตอนที่ 7: الكود مع شرحها

LCD และ SD

******************************************************** ** ** *************************** هذه مكتبة لكاميرا AMG88xx GridEYE 8x8 IR

يصنع هذا الرسم كاميرا حرارية بدقة 64 بكسل مع مستشعر GridEYE وشاشة 128x128 tft

مصمم فقطًا للعمل مع اندلاع Adafruit AMG88 --

تستخدم هذه المستشعرات I2C للتواصل. عنوان I2C للجهاز هو 0x69

تستثمر 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 (เสียงสะท้อน ، ตรีโกณฯ) ؛

นำไปใช้ // قاسية عمق عنوان 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 displayPixelWidth ، displayPixelHeight ؛

// هذاالتابعيعملعلىبدءتشغيلعندالأردوينوالإعدادباطل () {// هذاالأمريقومبفتحمنفذتسلسليبينالأردوينووالبدءفيالأخطاءوعرضالبياناتالتيتلقيهامنالحساسات Serial.begin (9600);

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 (การ์ดพิน)) {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. Distance () ؛

/ هذه جملة شرطية إذا كانت المسافة أعلى من 40 سم تنفيذ الأوامر التالية إذا (dist> 40) {

// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أقترب من الحساس" Serial.println ("اقترب") ؛

// هذا الأمر يظهر على الشاشة الصغيرة جملة "أقترب من الحساس" lcd.print ("اقترب أكثر") ؛ } آ แร {

/ هذه جملة شرطية ، تنفيذ التعليمات التالية إذا (dist <6) {// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أبتحع عن".

// هذا الأمر يظهر على الشاشة الصغيرة جملة "أبتعد عن الحساس" lcd.print ("اذهب أبعد") ؛ }

نفذت الإجراءات التالية التالية {

// هذه تظهر تظهر على شاشة الكمبيوتر المسافة بالـ (سم) Serial.print (Dist) ؛ Serial.println ("سم") ؛

هذه الأوامر التي بحساب درجة الحرارة بالدرجة تعويم newmax = دائري ((สูงสุด + 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

ลิงก์ถาวรกับคอมพิวเตอร์

}} //////////////////////////////////////////////////////////////////////////////////////////// ////// ////// /////////////////////////////// // هذه الأوامر التي تفتح ملف داخل كرت البحث عن درجات. الحرارة بداخله //////////////////////////////////////////////// //// ////// ///////////////////////////////// file = SD.open ("data.txt" ، FILE_WRITE) ؛ إذا (ملف) {String fulldata = "Temp:" + String (degreesF) ؛ file.println (فولداتا) ؛ file.close () ؛ }

آخر {// هذا الأمر يظهر على شاشة الكمبيوتر وجود خطأ في كتابة البيانات على كرت الذاكرة Serial.println ("تابة البيانات على كرت الذاكرة Serial.println")

} ////////////////////////////////////////////////////////////////////////////////////// //// ///// //////////////////////////////////////////////////////////////} // هذا الأمر يقوم بتوقيف الكود لمدة 200 ثانية حتى يستقر المتحكم تأخير (200) ؛ // هذا الأمر يقوم بمسح المحتويات من الشاشة lcd.clear () ؛

} // نهاية الحلقة

แนะนำ: