Table des matières:

Mesurer la température : 7 étapes
Mesurer la température : 7 étapes

Vidéo: Mesurer la température : 7 étapes

Vidéo: Mesurer la température : 7 étapes
Vidéo: Capsule 2: Le thermomètre 2024, Juillet
Anonim
Mesurer la température
Mesurer la température

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

Étape 1: مختصره للمشروع

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

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

Étape 2: العناصر المستخدمه للمشروع

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

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

2 écrans LCD ا الشاشه لعرض الحراره ا لكي الحراره رقميا

3 اس المسافه: لك اذا استشعر اس المسافه امامه مباشرة احتساب الحراره الكاميرا الكاميراه

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

5 ا ا

Étape 3: ل المشروع اللوح التجريبي

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

التست اختصار: …

Étape 4: PCB

PCB
PCB
PCB
PCB

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

ال PCB اختصار:..هي لوح مسطح.

Étape 5: الخطوه ما ل الاخيره

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

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

Étape 6: الخطوة الاخيره

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

Étape 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 #define trig 12 # تعريف صدى 11 كاردبين int = 10 ؛

اللون الأزرق الأزرق // المبرمجين للمستقيم (سيكون أزرق على الشاشة) #define MINTEMP 22

الشاشة باللون الأحمر // المدى العالي للمستشعر (سيكون أحمر على الشاشة) # تعريف MAXTEMP 34

// هذا الأمر يقوم بتعريفه SR04 sr04 = SR04 (écho ، 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, 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 ؛

// ا التابع ل على بدء ل عند الأردوينو الإعداد باطل () {// ا الأمر يقوم بفتح تسلسلي بين الأردوينو البدء الأخطاء وعرض البيانات اللي السلي الأردوينو والبدء الأخطاء وعرض البيانات ال ال ال ال ال ال ال

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 (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 * étage (i / 8) ، displayPixelWidth * (i ٪ 8) ، displayPixelHeight ، displayPixelWidth ، camColors [colorIndex]) ؛ ا (حز > maxx) {maxx = بكسل ؛ }} ////////////////////////////////////////////// ////// ////// /////////////////////////////////

// ا الأمر بقياس المسافة والمسافة في قياس المسافة والمسافة تقاس بالـ (سم) dist = sr04. Distance () ؛

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

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

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

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

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

الإجراءات التالية التالية {

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

هذه الأوامر التي بحساب درجة الحرارة بالدرجة تعويم newmax = دائري ((maxx + 5.25 + (dist / 9)) * 100) ؛ nouveau2 = nouveaumax / 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 ("ال المنزل") lcd.print ("ال المنزل")

لى ات الحرارة لى الصفحة إلى الطوارئ.

}} ////////////////////////////////////////////// ////// ////// ////////////////////////////// // الأوامر التي تفتح لف اخل البحث درجات. الحرارة بداخله ///////////////////////////////////////////// //// ////// //////////////////////////////// fichier = SD.open ("data.txt" FILE_WRITE) ؛ إذا (ملف) {Chaîne fulldata = "Temp:" + Chaîne (degrésF) ؛ file.println (فولداتا) ؛ file.close () ؛ }

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

} /////////////////////////////////////////////// //// ///// /////////////////////////////////} // ا الأمر الكود لمدة 200 انية المتحكم (200) ؛ // ا الأمر المحتويات الشاشة lcd.clear () ؛

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

Conseillé: